Skip to content
Snippets Groups Projects
Commit df048e81 authored by simon.mellerin's avatar simon.mellerin
Browse files

OcCatalogAutocomplete - standardizes behavior compared to concept autocompletes

parent 20b0373b
No related branches found
No related tags found
1 merge request!48Resolve "sparql - Doit-on continuer de retourner des JsonLdDocuments ?"
Pipeline #10474 passed
import type { Meta, StoryObj } from '@storybook/vue3';
import OcDatasetFormStep1 from './OcDatasetFormStep1.vue';
import type { OcOrganization, OcPerson } from '@/declarations';
const meta: Meta<typeof OcDatasetFormStep1> = {
component: OcDatasetFormStep1,
......
......@@ -286,7 +286,7 @@ import { useTranslateValue } from '@/composables/translateValue'
import { datasetMetadata } from '@/modelMetadata/dataset'
import { toTypedSchema } from '@vee-validate/yup'
import SelectButton from 'primevue/selectbutton'
import { ref, type PropType } from 'vue'
import { ref } from 'vue'
import { computed } from 'vue'
import OcKeywordAutocomplete from '@/components/FormInputs/OcKeywordAutocomplete/OcKeywordAutocomplete.vue'
import OcConceptSelect from '@/components/FormInputs/OcConceptSelect/OcConceptSelect.vue'
......
......@@ -11,7 +11,6 @@
inputId="catalog"
:model-value="value"
@update:model-value="handleChange"
:search-callback="catalogSearchCallback"
:invalid="!!errorMessage"
:multiple="false"
required
......@@ -45,7 +44,6 @@ import { toTypedSchema } from '@vee-validate/yup'
import * as yup from 'yup'
import Button from 'primevue/button'
import { useI18n } from 'vue-i18n'
import type { PropType } from 'vue'
import type { OcCatalog, OcDataset } from '@/declarations'
import OcCatalogAutocomplete from '@/components/FormInputs/OcCatalogAutocomplete/OcCatalogAutocomplete.vue'
import Message from 'primevue/message'
......@@ -58,13 +56,6 @@ const emit = defineEmits(['back', 'next'])
const { t } = useI18n()
defineProps({
catalogSearchCallback: {
type: Function as PropType<(query: string) => OcCatalog[]>,
required: true
}
})
const validationSchema = toTypedSchema(
yup.object({
catalog: yup.object<OcCatalog>().required().label(t('datasets.new.steps.2.catalog'))
......
import type { Meta, StoryObj } from '@storybook/vue3';
import OcAgentAutocomplete from './OcAgentAutocomplete.vue';
import type { OcOrganization, OcPerson } from '@/declarations';
const meta: Meta<typeof OcAgentAutocomplete> = {
component: OcAgentAutocomplete,
......
import type { Meta, StoryObj } from '@storybook/vue3';
import OcCatalogAutocomplete from './OcCatalogAutocomplete.vue';
import type { OcCatalog } from '@/declarations';
const meta: Meta<typeof OcCatalogAutocomplete> = {
component: OcCatalogAutocomplete,
......@@ -18,10 +17,5 @@ export const OrganizationAndPerson: Story = {
},
template: '<OcCatalogAutocomplete v-bind="args" />',
}),
args: {
searchCallback: (query: string) => [
{ '@id': `${query}-1-orga-id`, '@type': ['http://xmlns.com/foaf/0.1/Organization'], title: { en: `${query} name 1` } } as OcCatalog,
{ '@id': `${query}-2-orga-id`, '@type': ['http://xmlns.com/foaf/0.1/Organization'], title: { en: `${query} name 2` } } as OcCatalog
]
},
args: {},
};
......@@ -29,20 +29,16 @@
import { useTranslateValue } from '@/composables/translateValue'
import type { OcCatalog } from '@/declarations'
import { type2IconsDict } from '@/helpers/icons'
import { queryCatalog } from '@/sparql/catalog'
import AutoComplete from 'primevue/autocomplete'
import Message from 'primevue/message'
import type { PropType } from 'vue'
import { ref } from 'vue'
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
const { translateValue } = useTranslateValue()
const props = defineProps({
searchCallback: {
type: Function as PropType<(query: string) => OcCatalog[]>,
default: () => []
},
defineProps({
multiple: {
type: Boolean,
required: false,
......@@ -52,6 +48,7 @@ const props = defineProps({
const model = defineModel<OcCatalog | undefined>()
const { locale } = useI18n()
const loading = ref<boolean>(false)
const errorMessage = ref<string | null>(null)
const items = ref<Array<OcCatalog>>([])
......@@ -63,7 +60,7 @@ async function search(query: string) {
loading.value = true
errorMessage.value = null
try {
items.value = await props.searchCallback(query)
items.value = await queryCatalog(query, locale.value)
} catch (e) {
items.value = []
errorMessage.value = (e as Error).message
......
......@@ -109,9 +109,7 @@ import { insertDataset } from '@/sparql/datasets'
import { insertDistribution } from '@/sparql/distribution'
import { useCommunityData } from '@/dataLoaders/community'
import { useAccountData } from '@/dataLoaders/account'
import { queryKeyword } from '@/sparql/keyword'
import { datasetMetadata } from '@/modelMetadata/dataset'
import { queryCatalog } from '@/sparql/catalog'
import { distributionMetadata } from '@/modelMetadata/distribution'
import Dialog from 'primevue/dialog'
import OcLink from '@/components/OcLink.vue'
......@@ -129,7 +127,7 @@ definePage({
const { translateValue } = useTranslateValue()
const accountStore = useAccountStore()
const { t, locale } = useI18n()
const { t } = useI18n()
const { data: community } = useCommunityData()
......@@ -223,10 +221,7 @@ const steps = computed(() => {
label: 'datasets.new.steps.2.label',
description: ['datasets.new.steps.2.description.1', 'datasets.new.steps.2.description.2'],
component: OcDatasetFormStep2,
props: {
catalogSearchCallback: (query: string) =>
queryCatalog(query, locale.value, accountStore.auth)
},
props: {},
back: (activateCallback: Function) => activateCallback('1'),
next: (activateCallback: Function) => activateCallback('3')
},
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment