Skip to content

Commit eb5d4c8

Browse files
authored
Merge pull request #288 from connorabbas/develop
Composable improvements
2 parents 1512288 + 2665f50 commit eb5d4c8

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

resources/js/composables/useLazyDataTable.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { toRaw } from 'vue';
12
import type { Page, PageProps } from '@inertiajs/core';
23
import { DataTableFilterMetaData, DataTableFilterEvent, DataTableSortEvent } from 'primevue';
34
import { PrimeVueDataFilters, InertiaRouterFetchCallbacks } from '@/types';
@@ -79,7 +80,7 @@ export function useLazyDataTable(
7980
function reset(options: InertiaRouterFetchCallbacks = {}): Promise<Page<PageProps>> {
8081
const { onFinish: onFinishCallback, onSuccess, onError } = options;
8182

82-
const defaultFilters = structuredClone(initialFilters);
83+
const defaultFilters = structuredClone(toRaw(initialFilters));
8384
Object.keys(defaultFilters).forEach((key) => {
8485
filters.value[key].value = defaultFilters[key].value;
8586
});

resources/js/composables/usePaginatedData.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ref, computed, onMounted } from 'vue';
1+
import { ref, computed, onMounted, toRaw } from 'vue';
22
import { router } from '@inertiajs/vue3';
33
import type { Page, PageProps } from '@inertiajs/core';
44
import { FilterMatchMode } from '@primevue/core/api';
@@ -30,7 +30,7 @@ export function usePaginatedData(
3030
) {
3131
const urlParams = ref<PaginatedFilteredSortedQueryParams>({});
3232
const processing = ref<boolean>(false);
33-
const filters = ref<PrimeVueDataFilters>(structuredClone(initialFilters));
33+
const filters = ref<PrimeVueDataFilters>(structuredClone(toRaw(initialFilters)));
3434
const sorting = ref<SortState>({
3535
field: '',
3636
order: 1,
@@ -147,7 +147,7 @@ export function usePaginatedData(
147147
}
148148

149149
function reset(options: InertiaRouterFetchCallbacks = {}): Promise<Page<PageProps>> {
150-
const defaultFilters = structuredClone(initialFilters);
150+
const defaultFilters = structuredClone(toRaw(initialFilters));
151151
Object.keys(defaultFilters).forEach((key) => {
152152
filters.value[key].value = defaultFilters[key].value;
153153
});
@@ -236,7 +236,7 @@ export function usePaginatedData(
236236

237237
function parseUrlParams(urlParamsObj: PaginatedFilteredSortedQueryParams): void {
238238
filters.value = {
239-
...structuredClone(initialFilters),
239+
...structuredClone(toRaw(initialFilters)),
240240
...urlParamsObj?.filters,
241241
};
242242

0 commit comments

Comments
 (0)