168168import { watch , computed , ref , reactive } from ' vue' ;
169169import { useI18n } from ' vue-i18n' ;
170170import CustomDateRangePicker from ' @/components/CustomDateRangePicker.vue' ;
171- import { callAdminForthApi , loadMoreForeignOptions , searchForeignOptions , createSearchInputHandlers , formatComponent } from ' @/utils' ;
171+ import { loadMoreForeignOptions , searchForeignOptions , createSearchInputHandlers , formatComponent } from ' @/utils' ;
172172import { useRouter } from ' vue-router' ;
173173import CustomRangePicker from " @/components/CustomRangePicker.vue" ;
174- import { useFiltersStore } from ' @/stores/filters' ;
175174import { getCustomComponent } from ' @/utils' ;
176175import Input from ' @/afcl/Input.vue' ;
177176import Select from ' @/afcl/Select.vue' ;
178177import Spinner from ' @/afcl/Spinner.vue' ;
179178import debounce from ' debounce' ;
180179import { Tooltip } from ' @/afcl' ;
181180import { IconCloseOutline } from ' @iconify-prerendered/vue-flowbite' ;
182- import type { AdminforthFilterStore } from ' @/spa_types/core' ;
181+ import type { AdminforthFilterStore , AdminforthFilterStoreUnwrapped } from ' @/spa_types/core' ;
183182import type { AdminForthResourceColumnCommon , FilterParams , ColumnMinMaxValue } from ' @/types/Common' ;
184183import { AdminForthFilterOperators } from ' @/types/Common' ;
185184
186- const filtersStore = useFiltersStore ();
185+
187186const { t } = useI18n ();
188187
189188const AFFO = AdminForthFilterOperators ;
@@ -195,7 +194,8 @@ const props = defineProps<{
195194 columns: AdminForthResourceColumnCommon [],
196195 filters? : AdminforthFilterStore [' filters' ],
197196 show: Boolean ,
198- columnsMinMax: ColumnMinMaxValue
197+ columnsMinMax: ColumnMinMaxValue ,
198+ filtersStore: AdminforthFilterStoreUnwrapped
199199}>();
200200
201201const emits = defineEmits ([' update:filters' , ' hide' ]);
@@ -317,29 +317,29 @@ const onSearchInput = computed(() => {
317317
318318function setFilterItem({ column , operator , value }: { column: AdminForthResourceColumnCommon ; operator: AdminForthFilterOperators ; value: any }) {
319319
320- const index = filtersStore .filters .findIndex (f => f .field === column .name && f .operator === operator );
320+ const index = props . filtersStore .filters .findIndex (f => f .field === column .name && f .operator === operator );
321321 if (value === undefined || value === ' ' || value === null ) {
322322 if (index !== - 1 ) {
323- filtersStore .filters .splice (index , 1 );
323+ props . filtersStore .filters .splice (index , 1 );
324324 }
325325 } else {
326326 if (index === - 1 ) {
327- filtersStore .setFilter ({ field: column .name , value , operator });
327+ props . filtersStore .setFilter ({ field: column .name , value , operator });
328328 } else {
329- filtersStore .setFilters ([... filtersStore .filters .slice (0 , index ), { field: column .name , value , operator }, ... filtersStore .filters .slice (index + 1 )])
329+ props . filtersStore .setFilters ([... props . filtersStore .filters .slice (0 , index ), { field: column .name , value , operator }, ... props .filtersStore .filters .slice (index + 1 )])
330330 }
331331 }
332- emits (' update:filters' , [... filtersStore .filters ]);
332+ emits (' update:filters' , [... props . filtersStore .filters ]);
333333}
334334
335335function getFilterItem({ column , operator }: { column: AdminForthResourceColumnCommon ; operator: AdminForthFilterOperators }) {
336- const filterValue = filtersStore .filters .find (f => f .field === column .name && f .operator === operator )?.value ;
336+ const filterValue = props . filtersStore .filters .find (f => f .field === column .name && f .operator === operator )?.value ;
337337 return filterValue !== undefined ? filterValue : ' ' ;
338338}
339339
340340async function clear() {
341- filtersStore .filters = [... filtersStore .filters .filter (f => filtersStore .shouldFilterBeHidden (f .field ))];
342- emits (' update:filters' , [... filtersStore .filters ]);
341+ props . filtersStore .filters = [... props . filtersStore .filters .filter (f => props . filtersStore .shouldFilterBeHidden (f .field ))];
342+ emits (' update:filters' , [... props . filtersStore .filters ]);
343343}
344344
345345function getFilterMinValue(columnName : string ) {
0 commit comments