Skip to content
Snippets Groups Projects
Commit 45b46978 authored by Mathieu Massaviol's avatar Mathieu Massaviol
Browse files

Add chips to see and remove search parameters #29

parent d87e68b3
No related branches found
No related tags found
1 merge request!80Corrections après test de la recherche
Pipeline #10822 passed
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
/> />
<InputGroupAddon <InputGroupAddon
class="px-4 cursor-pointer hover:text-black hover:bg-gray-100" class="px-4 cursor-pointer hover:text-black hover:bg-gray-100"
@click="model = {params:{}}" @click="model = {params:{}}, emit('submit')"
> >
<i class="fa-solid fa-xmark"/> <i class="fa-solid fa-xmark"/>
</InputGroupAddon> </InputGroupAddon>
...@@ -55,6 +55,24 @@ ...@@ -55,6 +55,24 @@
</Button> </Button>
</div> </div>
</Popover> </Popover>
<div class="display flex flex-row flex-wrap gap-2 mb-4">
<Chip
v-if="model.q"
class="bg-gray-200"
:label="model.q"
removable
@remove="model.q='', emit('submit')"
/>
<template v-for="key in Object.keys(SearchQueryParams)" v-bind:key="key">
<Chip
v-for="value in model.params[key]" v-bind:key="value"
class="bg-gray-200"
:label="translateValue(searchMetadata[key as keyof typeof SearchQueryParams].label) + ': ' + value"
removable
@remove="model.params[key]=[], emit('submit')"
/>
</template>
</div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
...@@ -63,6 +81,7 @@ import InputGroup from 'primevue/inputgroup'; ...@@ -63,6 +81,7 @@ import InputGroup from 'primevue/inputgroup';
import InputGroupAddon from 'primevue/inputgroupaddon'; import InputGroupAddon from 'primevue/inputgroupaddon';
import Button from 'primevue/button' import Button from 'primevue/button'
import Popover from 'primevue/popover' import Popover from 'primevue/popover'
import Chip from 'primevue/chip';
import { SearchQueryParams, type OcSearchQuery } from '@/declarations' import { SearchQueryParams, type OcSearchQuery } from '@/declarations'
import { useI18n } from 'vue-i18n' import { useI18n } from 'vue-i18n'
import { ref } from 'vue' import { ref } from 'vue'
......
...@@ -134,7 +134,7 @@ const creators = computed(() => { ...@@ -134,7 +134,7 @@ const creators = computed(() => {
const creatorName = (creator: OcPerson | OcOrganization) => { const creatorName = (creator: OcPerson | OcOrganization) => {
if (typeof creator === 'string'){ return creator } if (typeof creator === 'string'){ return creator }
else if (Object.keys(creator).length === 1){ return creator['@id'] } else if (Object.keys(creator).length === 1 && creator['@id']){ return creator['@id'] }
else if (creator.name){ else if (creator.name){
if (typeof creator.name === 'string'){ return creator.name } if (typeof creator.name === 'string'){ return creator.name }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment