slick-table 1.1.0 → 1.1.2

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"}
@@ -1,6 +1,6 @@
1
1
  import { Handler, OnAddNewRowEventArgs, OnCellChangeEventArgs } from 'slickgrid';
2
2
  import { Props } from '../../model';
3
- export declare function useGrid({ SlickDataView, applyCellCssStyles, assignIds, columnSorter, columns, getItemMetadata, groups, idPropertyName, items, onAddNewRow, onBeforeEditCell, onCellChange, onClick, onDblClick, onHeaderMenuCommand, onRowCountChanged, options, table, }: Props & {
3
+ export declare function useGrid({ SlickDataView, applyCellCssStyles, assignIds, columnSorter, columns, getItemMetadata, groups, idPropertyName, items, onAddNewRow, onBeforeEditCell, onCellChange, onClick, onDblClick, onHeaderMenuCommand, onRowCountChanged, onSelectedRowsChanged, options, table, }: Props & {
4
4
  onAddNewRow: Handler<OnAddNewRowEventArgs>;
5
5
  onCellChange: Handler<OnCellChangeEventArgs>;
6
6
  }): void;
@@ -1 +1 @@
1
- {"version":3,"file":"useGrid.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.ts"],"names":[],"mappings":"AACA,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,qBAAqB,EAOrB,MAAM,WAAW,CAAC;AAWnB,OAAO,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AAEpD,wBAAgB,OAAO,CAAC,EACvB,aAAiC,EACjC,kBAAkB,EAClB,SAAiB,EACjB,YAAqB,EACrB,OAAO,EACP,eAAe,EACf,MAAM,EACN,cAAqB,EACrB,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,iBAAkC,EAClC,OAAY,EACZ,KAAK,GACL,EAAE,KAAK,GAAG;IACV,WAAW,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C,QA+FA"}
1
+ {"version":3,"file":"useGrid.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/lib/hooks/useGrid.ts"],"names":[],"mappings":"AACA,OAAO,EACN,OAAO,EACP,oBAAoB,EACpB,qBAAqB,EAOrB,MAAM,WAAW,CAAC;AAWnB,OAAO,EAAE,KAAK,EAAkB,MAAM,aAAa,CAAC;AAEpD,wBAAgB,OAAO,CAAC,EACvB,aAAiC,EACjC,kBAAkB,EAClB,SAAiB,EACjB,YAAqB,EACrB,OAAO,EACP,eAAe,EACf,MAAM,EACN,cAAqB,EACrB,KAAK,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,iBAAkC,EAClC,qBAAqB,EACrB,OAAY,EACZ,KAAK,GACL,EAAE,KAAK,GAAG;IACV,WAAW,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC3C,YAAY,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CAC7C,QAmGA"}
@@ -1,4 +1,4 @@
1
- import { GridOption, Grouping, Handler, ItemMetadata, MenuCommandItemCallbackArgs, OnAddNewRowEventArgs, OnBeforeEditCellEventArgs, OnCellChangeEventArgs, OnClickEventArgs, OnDblClickEventArgs, OnRowCountChangedEventArgs, SlickDataView, SlickGrid } from 'slickgrid';
1
+ import { GridOption, Grouping, Handler, ItemMetadata, MenuCommandItemCallbackArgs, OnAddNewRowEventArgs, OnBeforeEditCellEventArgs, OnCellChangeEventArgs, OnClickEventArgs, OnDblClickEventArgs, OnRowCountChangedEventArgs, OnSelectedRowsChangedEventArgs, SlickDataView, SlickGrid } from 'slickgrid';
2
2
  import { IColumn, ISlickTable } from '../../../../../../model/types';
3
3
  import { ColumnSorter } from '../../../../lib';
4
4
  export interface Props {
@@ -20,6 +20,7 @@ export interface Props {
20
20
  onDblClick?: Handler<OnDblClickEventArgs>;
21
21
  onHeaderMenuCommand?: Handler<MenuCommandItemCallbackArgs>;
22
22
  onRowCountChanged?: (table: ISlickTable) => Handler<OnRowCountChangedEventArgs>;
23
+ onSelectedRowsChanged?: Handler<OnSelectedRowsChangedEventArgs>;
23
24
  options?: GridOption;
24
25
  table: ISlickTable;
25
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Props.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/model/types/Props.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,EACb,SAAS,EACT,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,KAAK;IACrB,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC/C,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,CACjB,QAAQ,EAAE,aAAa,KACnB,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CACnB,KAAK,EAAE,WAAW,KACd,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;CACnB"}
1
+ {"version":3,"file":"Props.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/model/types/Props.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,QAAQ,EACR,OAAO,EACP,YAAY,EACZ,2BAA2B,EAC3B,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,0BAA0B,EAC1B,8BAA8B,EAC9B,aAAa,EACb,SAAS,EACT,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,WAAW,KAAK;IACrB,aAAa,CAAC,EAAE,OAAO,aAAa,CAAC;IACrC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IAC/C,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,eAAe,CAAC,EAAE,CACjB,QAAQ,EAAE,aAAa,KACnB,CAAC,GAAG,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IAC1C,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC;IACpB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5C,gBAAgB,CAAC,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACpC,UAAU,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1C,mBAAmB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAC;IAC3D,iBAAiB,CAAC,EAAE,CACnB,KAAK,EAAE,WAAW,KACd,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACzC,qBAAqB,CAAC,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAC;IAChE,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"SlickgridTable.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/ui/SlickgridTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAS3B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,KAAK,CA6CpC,CAAC"}
1
+ {"version":3,"file":"SlickgridTable.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/ui/SlickgridTable/ui/SlickgridTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAS3B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,KAAK,CA+CpC,CAAC"}
@@ -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.2",
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
  }
@@ -39,6 +39,7 @@ export function useGrid({
39
39
  onDblClick,
40
40
  onHeaderMenuCommand,
41
41
  onRowCountChanged = updateRowCount,
42
+ onSelectedRowsChanged,
42
43
  options = {},
43
44
  table,
44
45
  }: Props & {
@@ -73,6 +74,8 @@ export function useGrid({
73
74
  dataView.onRowsChanged.subscribe(onRowsChanged(grid));
74
75
  grid.onAddNewRow.subscribe(onAddNewRow);
75
76
  grid.onCellChange.subscribe(onCellChange);
77
+ onSelectedRowsChanged &&
78
+ grid.onSelectedRowsChanged.subscribe(onSelectedRowsChanged);
76
79
  onBeforeEditCell && grid.onBeforeEditCell.subscribe(onBeforeEditCell);
77
80
  onClick && grid.onClick.subscribe(onClick);
78
81
  onDblClick && grid.onDblClick.subscribe(onDblClick);
@@ -103,6 +106,8 @@ export function useGrid({
103
106
  headerMenuPlugin.onCommand.unsubscribe(onHeaderMenuCommand);
104
107
  grid.onAddNewRow.unsubscribe(onAddNewRow);
105
108
  grid.onCellChange.unsubscribe(onCellChange);
109
+ onSelectedRowsChanged &&
110
+ grid.onSelectedRowsChanged.subscribe(onSelectedRowsChanged);
106
111
  onBeforeEditCell && grid.onBeforeEditCell.unsubscribe(onBeforeEditCell);
107
112
  onClick && grid.onClick.unsubscribe(onClick);
108
113
  onDblClick && grid.onDblClick.unsubscribe(onDblClick);
@@ -10,6 +10,7 @@ import {
10
10
  OnClickEventArgs,
11
11
  OnDblClickEventArgs,
12
12
  OnRowCountChangedEventArgs,
13
+ OnSelectedRowsChangedEventArgs,
13
14
  SlickDataView,
14
15
  SlickGrid,
15
16
  } from "slickgrid";
@@ -41,6 +42,7 @@ export interface Props {
41
42
  onRowCountChanged?: (
42
43
  table: ISlickTable,
43
44
  ) => Handler<OnRowCountChangedEventArgs>;
45
+ onSelectedRowsChanged?: Handler<OnSelectedRowsChangedEventArgs>;
44
46
  options?: GridOption;
45
47
  table: ISlickTable;
46
48
  }
@@ -26,6 +26,7 @@ export const SlickgridTable: FC<Props> = ({
26
26
  onDblClick,
27
27
  onHeaderMenuCommand,
28
28
  onRowCountChanged,
29
+ onSelectedRowsChanged,
29
30
  options,
30
31
  table,
31
32
  }) => {
@@ -46,6 +47,7 @@ export const SlickgridTable: FC<Props> = ({
46
47
  onDblClick,
47
48
  onHeaderMenuCommand,
48
49
  onRowCountChanged,
50
+ onSelectedRowsChanged,
49
51
  options,
50
52
  table,
51
53
  });
@@ -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
  }