From 6696f699ffd785bd66123b09b250300e16bd08dd Mon Sep 17 00:00:00 2001 From: Sotiris Tsepelakis <sotirios.tsepelakis@tuwien.ac.at> Date: Sun, 26 Nov 2023 20:40:05 +0100 Subject: [PATCH] UI: render and populate licenses selector --- dbrepo-ui/components/search/AdvancedSearch.vue | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dbrepo-ui/components/search/AdvancedSearch.vue b/dbrepo-ui/components/search/AdvancedSearch.vue index 2a89bb91ef..9061d359f0 100644 --- a/dbrepo-ui/components/search/AdvancedSearch.vue +++ b/dbrepo-ui/components/search/AdvancedSearch.vue @@ -68,6 +68,13 @@ type="number" :label="generateFriendlyName(field)" clearable /> + <v-autocomplete + v-if="field.attribute_name === 'licenses'" + v-model="advancedSearchData[generateDynamicVModelKey(field)]" + :items="fetchLicenses()" + :label="generateFriendlyName(field)" + clearable + multiple /> </v-col> </v-row> <p v-if="isColumnFilter" class="mt-4"> @@ -291,6 +298,13 @@ export default { // Checks if item's attribute_name matches any wanted field // The expected response is of a flattened format, so this method must be modified accordingly if the response is changed return this.dynamicFieldsMap()[this.advancedSearchData.type].includes(item.attribute_name) + }, + fetchLicenses () { + // Licenses is a nested object in the backend, but without any values. + // Instead, we define our custom license generator with a controlled vocabulary. + return [ + 'Apache-2.0', 'BSD-3-Clause', 'BSD-4-Clause', 'CC-BY-4.0', 'CC0-1.0', 'GPL-3.0-only', 'MIT' + ] } } } -- GitLab