Skip to content

Commit 75f9ee0

Browse files
authored
Merge pull request #97 from bryanmylee:fix-server-side-sort
Fix `addSortBy` interaction with `serverSide`
2 parents 1b51ade + c0c20c3 commit 75f9ee0

File tree

6 files changed

+18
-19
lines changed

6 files changed

+18
-19
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "svelte-headless-table",
33
"description": "Unopinionated and extensible data tables for Svelte",
4-
"version": "0.17.0",
4+
"version": "0.17.1",
55
"scripts": {
66
"dev": "vite dev",
77
"build": "vite build",

src/lib/plugins/addColumnFilters.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,13 @@ export const addColumnFilters =
109109
const deriveRows: DeriveRowsFn<Item> = (rows) => {
110110
return derived([rows, filterValues], ([$rows, $filterValues]) => {
111111
preFilteredRows.set($rows);
112-
if (!serverSide) {
113-
const _filteredRows = getFilteredRows($rows, $filterValues, columnOptions);
114-
filteredRows.set(_filteredRows);
115-
return _filteredRows;
116-
} else {
112+
if (serverSide) {
117113
filteredRows.set($rows);
118114
return $rows;
119115
}
116+
const _filteredRows = getFilteredRows($rows, $filterValues, columnOptions);
117+
filteredRows.set(_filteredRows);
118+
return _filteredRows;
120119
});
121120
};
122121

src/lib/plugins/addPagination.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,10 @@ export const createPageStore = ({
3636

3737
const pageIndex = writable(initialPageIndex);
3838

39-
function calcPageCountAndLimitIndex([$pageSize, $itemsCount]: [$pageSize: number, $itemsCount: number]) {
39+
function calcPageCountAndLimitIndex([$pageSize, $itemsCount]: [
40+
$pageSize: number,
41+
$itemsCount: number
42+
]) {
4043
const $pageCount = Math.ceil($itemsCount / $pageSize);
4144
pageIndex.update(($pageIndex) => {
4245
if ($pageCount > 0 && $pageIndex >= $pageCount) {
@@ -117,15 +120,14 @@ export const addPagination =
117120
const derivePageRows: DeriveRowsFn<Item> = (rows) => {
118121
return derived([rows, pageSize, pageIndex], ([$rows, $pageSize, $pageIndex]) => {
119122
prePaginatedRows.set($rows);
120-
if (!serverSide) {
121-
const startIdx = $pageIndex * $pageSize;
122-
const _paginatedRows = $rows.slice(startIdx, startIdx + $pageSize);
123-
paginatedRows.set(_paginatedRows);
124-
return _paginatedRows;
125-
} else {
123+
if (serverSide) {
126124
paginatedRows.set($rows);
127125
return $rows;
128126
}
127+
const startIdx = $pageIndex * $pageSize;
128+
const _paginatedRows = $rows.slice(startIdx, startIdx + $pageSize);
129+
paginatedRows.set(_paginatedRows);
130+
return _paginatedRows;
129131
});
130132
};
131133

src/lib/plugins/addSortBy.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,10 +183,9 @@ export const addSortBy =
183183
return derived([rows, sortKeys], ([$rows, $sortKeys]) => {
184184
preSortedRows.set($rows);
185185
if (serverSide) {
186-
return getSortedRows<Item, typeof $rows[number]>($rows, $sortKeys, columnOptions);
187-
} else {
188186
return $rows;
189187
}
188+
return getSortedRows<Item, typeof $rows[number]>($rows, $sortKeys, columnOptions);
190189
});
191190
};
192191

src/lib/plugins/addTableFilter.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,8 @@ export const addTableFilter =
134134
tableCellMatches.set($tableCellMatches);
135135
if (serverSide) {
136136
return $rows;
137-
} else {
138-
return $filteredRows;
139137
}
138+
return $filteredRows;
140139
});
141140
};
142141

0 commit comments

Comments
 (0)