From 248678fbc758fc5f5a4f4863418b5176f3fee240 Mon Sep 17 00:00:00 2001 From: Bryan Lee Date: Wed, 18 Jan 2023 20:09:00 +0800 Subject: [PATCH] fix: server side addSortBy --- src/lib/plugins/addColumnFilters.ts | 9 ++++----- src/lib/plugins/addPagination.ts | 16 +++++++++------- src/lib/plugins/addSortBy.ts | 3 +-- src/lib/plugins/addTableFilter.ts | 3 +-- 4 files changed, 15 insertions(+), 16 deletions(-) diff --git a/src/lib/plugins/addColumnFilters.ts b/src/lib/plugins/addColumnFilters.ts index 84b792e..653f15d 100644 --- a/src/lib/plugins/addColumnFilters.ts +++ b/src/lib/plugins/addColumnFilters.ts @@ -109,14 +109,13 @@ export const addColumnFilters = const deriveRows: DeriveRowsFn = (rows) => { return derived([rows, filterValues], ([$rows, $filterValues]) => { preFilteredRows.set($rows); - if (!serverSide) { - const _filteredRows = getFilteredRows($rows, $filterValues, columnOptions); - filteredRows.set(_filteredRows); - return _filteredRows; - } else { + if (serverSide) { filteredRows.set($rows); return $rows; } + const _filteredRows = getFilteredRows($rows, $filterValues, columnOptions); + filteredRows.set(_filteredRows); + return _filteredRows; }); }; diff --git a/src/lib/plugins/addPagination.ts b/src/lib/plugins/addPagination.ts index a4cfb04..69e8d8d 100644 --- a/src/lib/plugins/addPagination.ts +++ b/src/lib/plugins/addPagination.ts @@ -36,7 +36,10 @@ export const createPageStore = ({ const pageIndex = writable(initialPageIndex); - function calcPageCountAndLimitIndex([$pageSize, $itemsCount]: [$pageSize: number, $itemsCount: number]) { + function calcPageCountAndLimitIndex([$pageSize, $itemsCount]: [ + $pageSize: number, + $itemsCount: number + ]) { const $pageCount = Math.ceil($itemsCount / $pageSize); pageIndex.update(($pageIndex) => { if ($pageCount > 0 && $pageIndex >= $pageCount) { @@ -117,15 +120,14 @@ export const addPagination = const derivePageRows: DeriveRowsFn = (rows) => { return derived([rows, pageSize, pageIndex], ([$rows, $pageSize, $pageIndex]) => { prePaginatedRows.set($rows); - if (!serverSide) { - const startIdx = $pageIndex * $pageSize; - const _paginatedRows = $rows.slice(startIdx, startIdx + $pageSize); - paginatedRows.set(_paginatedRows); - return _paginatedRows; - } else { + if (serverSide) { paginatedRows.set($rows); return $rows; } + const startIdx = $pageIndex * $pageSize; + const _paginatedRows = $rows.slice(startIdx, startIdx + $pageSize); + paginatedRows.set(_paginatedRows); + return _paginatedRows; }); }; diff --git a/src/lib/plugins/addSortBy.ts b/src/lib/plugins/addSortBy.ts index 517a90f..35e067b 100644 --- a/src/lib/plugins/addSortBy.ts +++ b/src/lib/plugins/addSortBy.ts @@ -183,10 +183,9 @@ export const addSortBy = return derived([rows, sortKeys], ([$rows, $sortKeys]) => { preSortedRows.set($rows); if (serverSide) { - return getSortedRows($rows, $sortKeys, columnOptions); - } else { return $rows; } + return getSortedRows($rows, $sortKeys, columnOptions); }); }; diff --git a/src/lib/plugins/addTableFilter.ts b/src/lib/plugins/addTableFilter.ts index c555f44..9869f4f 100644 --- a/src/lib/plugins/addTableFilter.ts +++ b/src/lib/plugins/addTableFilter.ts @@ -134,9 +134,8 @@ export const addTableFilter = tableCellMatches.set($tableCellMatches); if (serverSide) { return $rows; - } else { - return $filteredRows; } + return $filteredRows; }); };