From a2035a31e411db7777e6186808a2b12d88567bfc Mon Sep 17 00:00:00 2001 From: JatinderSingh Date: Thu, 1 Feb 2024 17:31:48 -0800 Subject: [PATCH] Add filters to the datatable --- .../src/components/object/ObjectTable.vue | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/frontend/src/components/object/ObjectTable.vue b/frontend/src/components/object/ObjectTable.vue index 92cc6331..0d8a711c 100644 --- a/frontend/src/components/object/ObjectTable.vue +++ b/frontend/src/components/object/ObjectTable.vue @@ -12,7 +12,7 @@ import { } from '@/components/object'; import { SyncButton } from '@/components/common'; import { ShareObjectButton } from '@/components/object/share'; -import { Button, Column, DataTable, Dialog, FilterMatchMode, InputText, useToast } from '@/lib/primevue'; +import { Button, Column, DataTable, Dialog, FilterMatchMode, InputText, useToast, MultiSelect } from '@/lib/primevue'; import { useAuthStore, useObjectStore, usePermissionStore } from '@/store'; import { Permissions } from '@/utils/constants'; import { ButtonMode } from '@/utils/enums'; @@ -102,7 +102,7 @@ onMounted(() => { rows: 10, sortField: 'updatedAt', sortOrder: 'desc', - filters: filters.value + filters: filters.value['global'].value }; loadLazyData(); }); @@ -116,6 +116,7 @@ const loadLazyData = (event?: any) => { latest: true, permissions: true, page: lazyParams.value.page ? lazyParams.value.page + 1 : 1, + name: lazyParams.value.filters, limit: lazyParams.value.rows, sort: lazyParams.value.sortField, order: lazyParams.value.sortOrder === 1 ? 'asc' : 'desc' @@ -126,16 +127,20 @@ const loadLazyData = (event?: any) => { loading.value = false; }); }; -const onPage = (event: any) => { +const onPage = (event?: any) => { lazyParams.value = event; loadLazyData(event); }; -const onSort = (event: any) => { - console.log('sort'); - console.log(event); +const onSort = (event?: any) => { lazyParams.value = event; loadLazyData(event); }; +const onFilter = (event?: any) => { + console.log(ObjectFilters); + console.log(myProperty); + lazyParams.value.filters = filters.value['global'].value; + loadLazyData(event); +}; // Clear selections when navigating away onUnmounted(() => { objectStore.setSelectedObjects([]); @@ -181,6 +186,7 @@ const filters = ref({ " @page="onPage($event)" @sort="onSort($event)" + @filter="onFilter($event)" @update:sort-order="clearSelected" @update:sort-field="clearSelected" @update:rows="clearSelected" @@ -195,7 +201,6 @@ const filters = ref({ v-model="filters['global'].value" class="searchInput" placeholder="Search File Names" - @input="clearSelected()" />