@ni/nimble-components 20.5.3 → 20.5.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all-components-bundle.js +37 -3
- package/dist/all-components-bundle.js.map +1 -1
- package/dist/all-components-bundle.min.js +679 -678
- package/dist/all-components-bundle.min.js.map +1 -1
- package/dist/esm/table/models/sort-operations.d.ts +1 -1
- package/dist/esm/table/models/sort-operations.js +36 -3
- package/dist/esm/table/models/sort-operations.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SortingFnOption as TanStackSortingFnOption } from '@tanstack/table-core';
|
|
1
|
+
import type { SortingFnOption as TanStackSortingFnOption } from '@tanstack/table-core';
|
|
2
2
|
import { TableColumnSortOperation } from '../../table-column/base/types';
|
|
3
3
|
/**
|
|
4
4
|
* Returns the sorting function for TanStack to use based on the specified
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { sortingFns as TanStackSortingFns } from '@tanstack/table-core';
|
|
2
1
|
import { TableColumnSortOperation } from '../../table-column/base/types';
|
|
3
2
|
/**
|
|
4
3
|
* Returns the sorting function for TanStack to use based on the specified
|
|
@@ -7,11 +6,11 @@ import { TableColumnSortOperation } from '../../table-column/base/types';
|
|
|
7
6
|
export function getTanStackSortingFunction(sortOperation) {
|
|
8
7
|
switch (sortOperation) {
|
|
9
8
|
case TableColumnSortOperation.basic:
|
|
10
|
-
return
|
|
9
|
+
return basicSortFunction;
|
|
11
10
|
case TableColumnSortOperation.localeAwareCaseSensitive:
|
|
12
11
|
return localeAwareCaseSensitiveSortFunction;
|
|
13
12
|
default:
|
|
14
|
-
return
|
|
13
|
+
return basicSortFunction;
|
|
15
14
|
}
|
|
16
15
|
}
|
|
17
16
|
/**
|
|
@@ -33,4 +32,38 @@ function localeAwareCaseSensitiveSortFunction(rowA, rowB, columnId) {
|
|
|
33
32
|
}
|
|
34
33
|
return 1;
|
|
35
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* A function to perform a basic sort of two rows from TanStack for a given column.
|
|
37
|
+
* The function sorts `undefined` followed by `null` before all other values.
|
|
38
|
+
*/
|
|
39
|
+
function basicSortFunction(rowA, rowB, columnId) {
|
|
40
|
+
const valueA = rowA.getValue(columnId);
|
|
41
|
+
const valueB = rowB.getValue(columnId);
|
|
42
|
+
if (Object.is(valueA, valueB)) {
|
|
43
|
+
return 0;
|
|
44
|
+
}
|
|
45
|
+
if (valueA === undefined) {
|
|
46
|
+
return -1;
|
|
47
|
+
}
|
|
48
|
+
if (valueB === undefined) {
|
|
49
|
+
return 1;
|
|
50
|
+
}
|
|
51
|
+
if (valueA === null) {
|
|
52
|
+
return -1;
|
|
53
|
+
}
|
|
54
|
+
if (valueB === null) {
|
|
55
|
+
return 1;
|
|
56
|
+
}
|
|
57
|
+
if (Number.isNaN(valueA)) {
|
|
58
|
+
return -1;
|
|
59
|
+
}
|
|
60
|
+
if (Number.isNaN(valueB)) {
|
|
61
|
+
return 1;
|
|
62
|
+
}
|
|
63
|
+
if (valueA === 0 && valueB === 0) {
|
|
64
|
+
// Both values equal 0, but one is -0 and one is +0 because Object.is(valueA, valueB) returned false.
|
|
65
|
+
return Object.is(valueA, -0) ? -1 : 1;
|
|
66
|
+
}
|
|
67
|
+
return valueA > valueB ? 1 : -1;
|
|
68
|
+
}
|
|
36
69
|
//# sourceMappingURL=sort-operations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort-operations.js","sourceRoot":"","sources":["../../../../src/table/models/sort-operations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sort-operations.js","sourceRoot":"","sources":["../../../../src/table/models/sort-operations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACtC,aAAuC;IAEvC,QAAQ,aAAa,EAAE;QACnB,KAAK,wBAAwB,CAAC,KAAK;YAC/B,OAAO,iBAAiB,CAAC;QAC7B,KAAK,wBAAwB,CAAC,wBAAwB;YAClD,OAAO,oCAAoC,CAAC;QAChD;YACI,OAAO,iBAAiB,CAAC;KAChC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,oCAAoC,CACzC,IAAwB,EACxB,IAAwB,EACxB,QAAgB;IAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAA4B,QAAQ,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAA4B,QAAQ,CAAC,CAAC;IAElE,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC1D,OAAO,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KACvC;IACD,IAAI,MAAM,KAAK,MAAM,EAAE;QACnB,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,EAAE;QACnE,OAAO,CAAC,CAAC,CAAC;KACb;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CACtB,IAAwB,EACxB,IAAwB,EACxB,QAAgB;IAEhB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAkB,QAAQ,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAkB,QAAQ,CAAC,CAAC;IAExD,IAAI,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;QAC3B,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,CAAC,CAAC,CAAC;KACb;IACD,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,CAAC,CAAC;KACb;IACD,IAAI,MAAM,KAAK,IAAI,EAAE;QACjB,OAAO,CAAC,CAAC;KACZ;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,CAAC,CAAC,CAAC;KACb;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACtB,OAAO,CAAC,CAAC;KACZ;IAED,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;QAC9B,qGAAqG;QACrG,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACzC;IACD,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ni/nimble-components",
|
|
3
|
-
"version": "20.5.
|
|
3
|
+
"version": "20.5.4",
|
|
4
4
|
"description": "Styled web components for the NI Nimble Design System",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "npm run generate-icons && npm run build-components && npm run bundle-components && npm run generate-scss && npm run build-storybook",
|