#7136 - Enable paginate event in VnSelectFilter #255

Closed
jsegarra wants to merge 86 commits from 7136_vnselectFilter_paginate into dev
3 changed files with 9 additions and 63 deletions
Showing only changes of commit ab96586a41 - Show all commits

View File

@ -43,10 +43,6 @@ const $props = defineProps({
type: Boolean,
default: true,
},
// paginate: {
// type: Boolean,
// default: true,
// },
fields: {
type: Array,
default: null,
@ -59,18 +55,10 @@ const $props = defineProps({
type: String,
default: null,
},
// orderBy: {
// type: String,
// default: null,
// },
limit: {
type: [Number, String],
default: '30',
},
// fetchRef: {
// type: Object,
// default: null,
// },
});
const { t } = useI18n();
@ -93,18 +81,8 @@ const value = computed({
});
function setOptions(data, append = true) {
// if (isLoading.value) {
// data.unshift(...myOptions.value);
// }
// if (arrayData.store) {
// // arrayData.store.data = data;
// arrayData.store.hasMoreData = data.length === +$props.limit;
// append && myOptions.value.concat(data);
// // myOptionsOriginal.value = JSON.parse(JSON.stringify(data));
// } else {
myOptions.value = JSON.parse(JSON.stringify(data));
if (append) myOptionsOriginal.value = JSON.parse(JSON.stringify(data));
// }
}
jsegarra marked this conversation as resolved Outdated
Outdated
Review

Esto no sería lo mismo que hacerle un computed a $props.url ¿?

const useURL = computed(() => $props.url);

Esto no sería lo mismo que hacerle un computed a $props.url ¿? `const useURL = computed(() => $props.url);`
const useURL = computed(() => $props.url?.length > 0);
const arrayData = useURL.value
@ -188,7 +166,6 @@ async function filterHandler(val, update) {
const { data } = await arrayData.fetch({ append: false });
newOptions = data;
myOptionsFiltered.value = data;
// setOptions(data, false);
}
update(
() => {

View File

@ -16,28 +16,8 @@ const { getTokenMultimedia } = useSession();
const token = getTokenMultimedia();
const workers = ref([]);
const workersCopy = ref([]);
const businessTypes = ref([]);
const contactChannels = ref([]);
const filterOptions = {
options: workers,
filterFn: (options, value) => {
const search = value.toLowerCase();
if (value === '') return workersCopy.value;
return options.value.filter((row) => {
const id = row.id;
const name = row.name.toLowerCase();
const idMatches = id === search;
const nameMatches = name.indexOf(search) > -1;
return idMatches || nameMatches;
});
},
};
</script>
<template>
<FetchData
@ -58,7 +38,7 @@ const filterOptions = {
/>
<FormModel :url="`Clients/${route.params.id}`" auto-load model="customer">
<template #form="{ data, validate, filter }">
<template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md">
<VnInput
:label="t('Comercial name')"
@ -124,8 +104,7 @@ const filterOptions = {
:options="workers"
:rules="validate('client.salesPersonFk')"
url="Workers/activeWithInheritedRole"
@filter="(value, update) => filter(value, update, filterOptions)"
:filter="{ where: { role: 'salesPerson' } }"
:where="{ role: 'salesPerson' }"
emit-value
map-options
option-label="name"

View File

@ -23,13 +23,6 @@ const authors = ref();
</script>
<template>
<FetchData @on-fetch="(data) => (clients = data)" auto-load url="Clients" />
<FetchData
:filter="{ where: { role: 'salesPerson' } }"
@on-fetch="(data) => (salespersons = data)"
auto-load
url="Workers/activeWithInheritedRole"
/>
<FetchData @on-fetch="(data) => (countries = data)" auto-load url="Countries" />
<FetchData
@on-fetch="(data) => (authors = data)"
@ -47,7 +40,7 @@ const authors = ref();
<template #body="{ params, searchFn }">
<QItem class="q-mb-sm">
<QItemSection v-if="clients">
<QItemSection>
<VnSelect
:label="t('Client')"
:options="clients"
Outdated
Review

ya no hace falta el options, de hecho si arriba hay refs para los options tampoco hacen falta

ya no hace falta el options, de hecho si arriba hay refs para los options tampoco hacen falta

Gacias por el detalle, he visto que salespersons y authos también habia que quitar

Gacias por el detalle, he visto que salespersons y authos también habia que quitar
@ -62,17 +55,17 @@ const authors = ref();
use-input
v-model="params.clientFk"
@update:model-value="searchFn()"
auto-load
url="Clients"
/>
</QItemSection>
<QItemSection v-else>
<QSkeleton class="full-width" type="QInput" />
</QItemSection>
</QItem>
<QItem class="q-mb-sm">
<QItemSection v-if="salespersons">
<QItemSection>
<VnSelect
:where="{ role: 'salesPerson' }"
option-filter="firstName"
url="Workers/activeWithInheritedRole"
:input-debounce="0"
:label="t('Salesperson')"
:options="salespersons"
@ -89,9 +82,6 @@ const authors = ref();
@update:model-value="searchFn()"
/>
</QItemSection>
<QItemSection v-else>
<QSkeleton class="full-width" type="QInput" />
</QItemSection>
</QItem>
<QItem class="q-mb-sm">
@ -104,7 +94,7 @@ const authors = ref();
emit-value
hide-selected
map-options
option-label="country"
option-label="name"
option-value="id"
outlined
rounded