Skip to content

Commit 472dacf

Browse files
committed
Merge branch 'feat/object_priority' of https://github.com/Geode-solutions/OpenGeodeWeb-Front into feat/object_priority
2 parents 55ac9de + 45def89 commit 472dacf

File tree

1 file changed

+33
-32
lines changed

1 file changed

+33
-32
lines changed

components/ObjectSelector.vue

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -100,40 +100,41 @@
100100
return undefined
101101
}
102102
103-
104-
async function get_allowed_objects() {
105-
toggle_loading()
106-
allowed_objects.value = {}
107-
const promise_array = filenames.map((filename) => {
108-
const params = { filename, supported_feature }
109-
return api_fetch({ schema, params })
110-
})
111-
const responses = await Promise.all(promise_array)
112-
const allowed_objects_list = responses.map(
113-
(response) => response.data.value.allowed_objects,
114-
)
115-
const all_keys = [...new Set(allowed_objects_list.flatMap(Object.keys))]
116-
const common_keys = all_keys.filter((key) =>
117-
allowed_objects_list.every((obj) => key in obj),
118-
)
119-
const final_object = {}
120-
for (const key of common_keys) {
121-
const load_scores = allowed_objects_list.map((obj) => obj[key].is_loadable)
122-
const priorities = allowed_objects_list
123-
.map((obj) => obj[key].object_priority)
124-
.filter((p) => p !== undefined && p !== null)
125-
final_object[key] = { is_loadable: Math.min(...load_scores) }
126-
if (priorities.length) {
127-
final_object[key].object_priority = Math.max(...priorities)
103+
async function get_allowed_objects() {
104+
toggle_loading()
105+
allowed_objects.value = {}
106+
const promise_array = filenames.map((filename) => {
107+
const params = { filename, supported_feature }
108+
return api_fetch({ schema, params })
109+
})
110+
const responses = await Promise.all(promise_array)
111+
const allowed_objects_list = responses.map(
112+
(response) => response.data.value.allowed_objects,
113+
)
114+
const all_keys = [...new Set(allowed_objects_list.flatMap(Object.keys))]
115+
const common_keys = all_keys.filter((key) =>
116+
allowed_objects_list.every((obj) => key in obj),
117+
)
118+
const final_object = {}
119+
for (const key of common_keys) {
120+
const load_scores = allowed_objects_list.map(
121+
(obj) => obj[key].is_loadable,
122+
)
123+
const priorities = allowed_objects_list
124+
.map((obj) => obj[key].object_priority)
125+
.filter((p) => p !== undefined && p !== null)
126+
final_object[key] = { is_loadable: Math.min(...load_scores) }
127+
if (priorities.length) {
128+
final_object[key].object_priority = Math.max(...priorities)
129+
}
128130
}
131+
allowed_objects.value = final_object
132+
const selected_object = select_geode_object(final_object)
133+
if (selected_object) {
134+
set_geode_object(selected_object)
135+
}
136+
toggle_loading()
129137
}
130-
allowed_objects.value = final_object
131-
const selected_object = select_geode_object(final_object)
132-
if (selected_object) {
133-
set_geode_object(selected_object)
134-
}
135-
toggle_loading()
136-
}
137138
138139
function set_geode_object(input_geode_object) {
139140
if (input_geode_object != "") {

0 commit comments

Comments
 (0)