slick-table 1.1.0 → 1.1.1

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.
@@ -6,6 +6,7 @@ export declare class ColumnSorter implements IColumnSorter {
6
6
  emptyValue: string;
7
7
  dates(a: string, b: string): number;
8
8
  numbers(a?: string | number | null, b?: string | number | null): number;
9
+ stringsNumeric(a?: string | null, b?: string | null): number;
9
10
  strings(a?: string, b?: string): number;
10
11
  numbersWithSymbols(a?: string, b?: string): number;
11
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnSorter.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/slickgrid/lib/sorting/ColumnSorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,eAAe,EACf,gBAAgB,EAEhB,cAAc,EAEd,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAAa,YAAa,YAAW,aAAa;IACjD,SAAS,CAAC,IAAI;;;;;;MAAQ;IACtB,OAAO,CAAC,aAAa,CAAgD;IAE9D,eAAe,CAAC,OAAO,EAAE,MAAM,IAMpC,IAAI,cAAc,CAAC,gBAAgB,GAAG,eAAe,CAAC,EACtD,MAAM,gBAAgB,GAAG,eAAe,KACtC,IAAI;IA0ER,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAIrE,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA6B/C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM;CAiBjE;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C,UAAU,aAAa;IACtB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC"}
1
+ {"version":3,"file":"ColumnSorter.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/slickgrid/lib/sorting/ColumnSorter.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,eAAe,EACf,gBAAgB,EAEhB,cAAc,EAEd,MAAM,WAAW,CAAC;AAInB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,qBAAa,YAAa,YAAW,aAAa;IACjD,SAAS,CAAC,IAAI;;;;;;;MAAQ;IACtB,OAAO,CAAC,aAAa,CAAgD;IAE9D,eAAe,CAAC,OAAO,EAAE,MAAM,IAMpC,IAAI,cAAc,CAAC,gBAAgB,GAAG,eAAe,CAAC,EACtD,MAAM,gBAAgB,GAAG,eAAe,KACtC,IAAI;IA0ER,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;IAIrE,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IA6B/C,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,SAAS,GAAG,MAAM;CAoBjE;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC;AAE/C,UAAU,aAAa;IACtB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC"}
@@ -2,6 +2,7 @@ declare class Sort implements ISort {
2
2
  emptyValue: string;
3
3
  dates(a: string, b: string): number;
4
4
  numbers(a?: string | number | null, b?: string | number | null): number;
5
+ stringsNumeric(a?: string | null, b?: string | null): number;
5
6
  strings(a?: string, b?: string): number;
6
7
  numbersWithSymbols(a?: string, b?: string): number;
7
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Sort.d.ts","sourceRoot":"","sources":["../../../../../src/shared/lib/sorting/Sort.ts"],"names":[],"mappings":"AAEA,cAAM,IAAK,YAAW,KAAK;IAC1B,UAAU,SAAc;IACxB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKnC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM;IAGvE,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKvC,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAKlD;AAED,eAAO,MAAM,IAAI,MAAa,CAAC;AAE/B,UAAU,KAAK;IACd,OAAO,IAAI,MAAM,CAAC;IAClB,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACxE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC"}
1
+ {"version":3,"file":"Sort.d.ts","sourceRoot":"","sources":["../../../../../src/shared/lib/sorting/Sort.ts"],"names":[],"mappings":"AAEA,cAAM,IAAK,YAAW,KAAK;IAC1B,UAAU,SAAc;IACxB,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAKnC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM;IAGvE,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAM5D,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;IAKvC,kBAAkB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM;CAKlD;AAED,eAAO,MAAM,IAAI,MAAa,CAAC;AAE/B,UAAU,KAAK;IACd,OAAO,IAAI,MAAM,CAAC;IAClB,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;IACxE,KAAK,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACpC"}
@@ -10,7 +10,9 @@ export declare enum ESortType {
10
10
  NUMBER = 2,
11
11
  /** sort as number, take formatter into account */
12
12
  NUMBER_FORMATTED = 3,
13
+ /** treats numeric substrings as actual numbers, rather than just characters */
14
+ TEXT_NUMERIC = 4,
13
15
  /** sort as text */
14
- TEXT = 4
16
+ TEXT = 5
15
17
  }
16
18
  //# sourceMappingURL=ESortType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ESortType.d.ts","sourceRoot":"","sources":["../../../../../src/shared/model/enums/ESortType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,SAAS;IACpB,mBAAmB;IACnB,IAAI,IAAI;IACR,yDAAyD;IACzD,MAAM,IAAA;IACN,kDAAkD;IAClD,gBAAgB,IAAA;IAChB,mBAAmB;IACnB,IAAI,IAAA;CACJ"}
1
+ {"version":3,"file":"ESortType.d.ts","sourceRoot":"","sources":["../../../../../src/shared/model/enums/ESortType.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,oBAAY,SAAS;IACpB,mBAAmB;IACnB,IAAI,IAAI;IACR,yDAAyD;IACzD,MAAM,IAAA;IACN,kDAAkD;IAClD,gBAAgB,IAAA;IAChB,+EAA+E;IAC/E,YAAY,IAAA;IACZ,mBAAmB;IACnB,IAAI,IAAA;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slick-table",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Enhanced version of SlickGrid library",
5
5
  "private": false,
6
6
  "type": "module",
@@ -140,6 +140,9 @@ export class ColumnSorter implements IColumnSorter {
140
140
  case ESortType.NUMBER_FORMATTED: {
141
141
  return this.sort.numbers(a, b) * sign;
142
142
  }
143
+ case ESortType.TEXT_NUMERIC: {
144
+ return this.sort.stringsNumeric(a, b) * sign;
145
+ }
143
146
  case ESortType.TEXT: {
144
147
  return this.sort.strings(a, b) * sign;
145
148
  }
@@ -10,6 +10,12 @@ class Sort implements ISort {
10
10
  numbers(a?: string | number | null, b?: string | number | null): number {
11
11
  return Number(a || 0) - Number(b || 0);
12
12
  }
13
+ stringsNumeric(a?: string | null, b?: string | null): number {
14
+ if (!a && !b) return 0;
15
+ if (!a) return -1;
16
+ if (!b) return 1;
17
+ return a.localeCompare(b, undefined, { numeric: true });
18
+ }
13
19
  strings(a?: string, b?: string): number {
14
20
  if ((a || "").toLowerCase() > (b || "").toLowerCase()) return 1;
15
21
  if ((a || "").toLowerCase() < (b || "").toLowerCase()) return -1;
@@ -10,6 +10,8 @@ export enum ESortType {
10
10
  NUMBER,
11
11
  /** sort as number, take formatter into account */
12
12
  NUMBER_FORMATTED,
13
+ /** treats numeric substrings as actual numbers, rather than just characters */
14
+ TEXT_NUMERIC,
13
15
  /** sort as text */
14
16
  TEXT,
15
17
  }