|
4 | 4 | <v-col v-for="(value, key) in allowed_objects" :key="key" cols="2" md="2"> |
5 | 5 | <v-tooltip |
6 | 6 | :disabled="value.is_saveable" |
7 | | - text="Data not loadable with this class" |
| 7 | + :text=" |
| 8 | + value['is_loadable'] |
| 9 | + ? geode_objects[key].tooltip |
| 10 | + : `Data not loadable with this class (${key})` |
| 11 | + " |
8 | 12 | location="bottom" |
9 | 13 | > |
10 | 14 | <template v-slot:activator="{ props }"> |
|
14 | 18 | class="card ma-2" |
15 | 19 | hover |
16 | 20 | rounded |
17 | | - :disabled="!value['is_saveable']" |
18 | | - :elevation="value['is_saveable'] ? 5 : 3" |
| 21 | + :disabled="!value['is_loadable']" |
| 22 | + :elevation="value['is_loadable'] ? 5 : 3" |
19 | 23 | > |
20 | 24 | <v-img |
21 | 25 | :src="geode_objects[key].image" |
22 | 26 | cover |
23 | 27 | @click="set_geode_object(key)" |
24 | | - :class="!value['is_saveable'] ? 'disabled' : ''" |
| 28 | + :class="!value['is_loadable'] ? 'disabled' : ''" |
25 | 29 | /> |
26 | | - <v-tooltip activator="parent" location="bottom"> |
27 | | - {{ geode_objects[key].tooltip }} |
28 | | - </v-tooltip> |
29 | 30 | </v-card> |
30 | 31 | </span> |
31 | 32 | </template> |
|
63 | 64 | const { filenames, key } = props |
64 | 65 |
|
65 | 66 | const loading = ref(false) |
66 | | - // const allowed_objects = ref([]) |
67 | | -
|
68 | | - const allowed_objects = { |
69 | | - BRep: { is_saveable: false }, |
70 | | - StructuralModel: { is_saveable: true }, |
71 | | - } |
72 | | -
|
| 67 | + const allowed_objects = ref({}) |
73 | 68 | const toggle_loading = useToggle(loading) |
74 | 69 |
|
75 | | - // async function get_allowed_objects() { |
76 | | - // toggle_loading() |
77 | | - // allowed_objects.value = [] |
78 | | - // var promise_array = [] |
79 | | - // for (const filename of filenames) { |
80 | | - // const params = { filename, key } |
81 | | - // const promise = new Promise((resolve, reject) => { |
82 | | - // api_fetch( |
83 | | - // { schema, params }, |
84 | | - // { |
85 | | - // request_error_function: () => { |
86 | | - // reject() |
87 | | - // }, |
88 | | - // response_function: (response) => { |
89 | | - // if (allowed_objects.value.length == 0) { |
90 | | - // allowed_objects.value = response._data.allowed_objects |
91 | | - // } else { |
92 | | - // allowed_objects.value = toRaw(allowed_objects.value).filter( |
93 | | - // (value) => response._data.allowed_objects.includes(value), |
94 | | - // ) |
95 | | - // } |
96 | | - // resolve() |
97 | | - // }, |
98 | | - // response_error_function: () => { |
99 | | - // reject() |
100 | | - // }, |
101 | | - // }, |
102 | | - // ) |
103 | | - // }) |
104 | | - // promise_array.push(promise) |
105 | | - // } |
106 | | - // await Promise.all(promise_array) |
107 | | - // toggle_loading() |
108 | | - // } |
| 70 | + async function get_allowed_objects() { |
| 71 | + toggle_loading() |
| 72 | + allowed_objects.value = [] |
| 73 | + var promise_array = [] |
| 74 | + for (const filename of filenames) { |
| 75 | + const params = { filename, key } |
| 76 | + const promise = new Promise((resolve, reject) => { |
| 77 | + api_fetch( |
| 78 | + { schema, params }, |
| 79 | + { |
| 80 | + request_error_function: () => { |
| 81 | + reject() |
| 82 | + }, |
| 83 | + response_function: (response) => { |
| 84 | + if (allowed_objects.value.length == 0) { |
| 85 | + allowed_objects.value = response._data.allowed_objects |
| 86 | + } else { |
| 87 | + allowed_objects.value = toRaw(allowed_objects.value).filter( |
| 88 | + (value) => response._data.allowed_objects.includes(value), |
| 89 | + ) |
| 90 | + } |
| 91 | + resolve() |
| 92 | + }, |
| 93 | + response_error_function: () => { |
| 94 | + reject() |
| 95 | + }, |
| 96 | + }, |
| 97 | + ) |
| 98 | + }) |
| 99 | + promise_array.push(promise) |
| 100 | + } |
| 101 | + await Promise.all(promise_array) |
| 102 | + toggle_loading() |
| 103 | + } |
109 | 104 |
|
110 | 105 | function set_geode_object(input_geode_object) { |
111 | 106 | if (input_geode_object != "") { |
|
114 | 109 | } |
115 | 110 | } |
116 | 111 |
|
117 | | - // onMounted(() => { |
118 | | - // get_allowed_objects() |
119 | | - // }) |
| 112 | + onMounted(() => { |
| 113 | + get_allowed_objects() |
| 114 | + }) |
120 | 115 | </script> |
121 | 116 |
|
122 | 117 | <style scoped> |
|
0 commit comments