Skip to content

Commit 669c623

Browse files
committed
Merge remote-tracking branch 'origin/main' into svelte-module
2 parents 3715be4 + 8b0d0be commit 669c623

3 files changed

Lines changed: 13 additions & 12 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@revolist/revogrid",
3-
"version": "4.16.0",
3+
"version": "4.17.1",
44
"type": "module",
55
"description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
66
"license": "MIT",

src/plugins/sorting/sorting.func.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@ export function sortIndexByItems(
4848
export function defaultCellCompare(this: { column?: ColumnRegular }, prop: ColumnProp, a: DataType, b: DataType) {
4949
const aRaw = this.column ? getCellRaw(a, this.column) : a?.[prop];
5050
const bRaw = this.column ? getCellRaw(b, this.column) : b?.[prop];
51-
const av = aRaw?.toString().toLowerCase();
52-
const bv = bRaw?.toString().toLowerCase();
51+
const av = typeof aRaw === 'number' ? aRaw : aRaw?.toString().toLowerCase();
52+
const bv = typeof bRaw === 'number' ? bRaw : bRaw?.toString().toLowerCase();
5353

5454
if (av === bv) {
5555
return 0;
@@ -88,4 +88,4 @@ export function getComparer(column: Partial<ColumnRegular> | undefined, order: O
8888
return descCellCompare(cellCmp);
8989
}
9090
return undefined;
91-
}
91+
}

src/plugins/sorting/sorting.plugin.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -195,23 +195,24 @@ export class SortingPlugin extends BasePlugin {
195195
const sorting: SortingOrder = {};
196196
const sortingFunc: SortingOrderFunction = {};
197197

198+
if (columnProp in sorting && size(sorting) > 1 && order === undefined) {
199+
delete sorting[columnProp];
200+
delete sortingFunc[columnProp];
201+
} else {
202+
sorting[columnProp] = order;
203+
sortingFunc[columnProp] = cmp;
204+
}
205+
198206
this.sorting = {
199207
...this.sorting,
200208
...sorting,
201209
};
210+
202211
// extend sorting function with new sorting for multiple columns sorting
203212
this.sortingFunc = {
204213
...this.sortingFunc,
205214
...sortingFunc,
206215
};
207-
208-
if (columnProp in sorting && size(sorting) > 1 && order === undefined) {
209-
delete sorting[columnProp];
210-
delete sortingFunc[columnProp];
211-
} else {
212-
sorting[columnProp] = order;
213-
sortingFunc[columnProp] = cmp;
214-
}
215216
} else {
216217
if (order) {
217218
// reset sorting

0 commit comments

Comments
 (0)