Skip to content

Commit a45e1b7

Browse files
feat(ObjectSelector): fix tooltip
1 parent 5afbb56 commit a45e1b7

File tree

1 file changed

+46
-51
lines changed

1 file changed

+46
-51
lines changed

components/ObjectSelector.vue

Lines changed: 46 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,11 @@
44
<v-col v-for="(value, key) in allowed_objects" :key="key" cols="2" md="2">
55
<v-tooltip
66
: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+
"
812
location="bottom"
913
>
1014
<template v-slot:activator="{ props }">
@@ -14,18 +18,15 @@
1418
class="card ma-2"
1519
hover
1620
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"
1923
>
2024
<v-img
2125
:src="geode_objects[key].image"
2226
cover
2327
@click="set_geode_object(key)"
24-
:class="!value['is_saveable'] ? 'disabled' : ''"
28+
:class="!value['is_loadable'] ? 'disabled' : ''"
2529
/>
26-
<v-tooltip activator="parent" location="bottom">
27-
{{ geode_objects[key].tooltip }}
28-
</v-tooltip>
2930
</v-card>
3031
</span>
3132
</template>
@@ -63,49 +64,43 @@
6364
const { filenames, key } = props
6465
6566
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({})
7368
const toggle_loading = useToggle(loading)
7469
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+
}
109104
110105
function set_geode_object(input_geode_object) {
111106
if (input_geode_object != "") {
@@ -114,9 +109,9 @@
114109
}
115110
}
116111
117-
// onMounted(() => {
118-
// get_allowed_objects()
119-
// })
112+
onMounted(() => {
113+
get_allowed_objects()
114+
})
120115
</script>
121116

122117
<style scoped>

0 commit comments

Comments
 (0)