sheetgl 2.0.0 → 2.0.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.
- package/README.md +8 -7
- package/bin/cli.mjs +35 -10
- package/dist/lib/sheetgl.cjs +4 -4
- package/dist/lib/sheetgl.cjs.map +1 -1
- package/dist/lib/sheetgl.js +8362 -3706
- package/dist/lib/sheetgl.js.map +1 -1
- package/dist/lib/types/columns/ColumnTypeRegistry.d.ts.map +1 -1
- package/dist/lib/types/columns/initPlugins.d.ts.map +1 -1
- package/dist/lib/types/columns/types/CurrencyColumn/CurrencyPainter.d.ts +1 -1
- package/dist/lib/types/columns/types/CurrencyColumn/CurrencyPainter.d.ts.map +1 -1
- package/dist/lib/types/columns/types/DateColumn/DateEditor.d.ts.map +1 -1
- package/dist/lib/types/columns/types/DateColumn/DatePainter.d.ts +1 -1
- package/dist/lib/types/columns/types/DateColumn/DatePainter.d.ts.map +1 -1
- package/dist/lib/types/columns/types/DateTimeColumn/DateTimeEditor.d.ts.map +1 -1
- package/dist/lib/types/columns/types/DateTimeColumn/DateTimePainter.d.ts +2 -2
- package/dist/lib/types/columns/types/DateTimeColumn/DateTimePainter.d.ts.map +1 -1
- package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectEditor.d.ts.map +1 -1
- package/dist/lib/types/columns/types/MultiSelectColumn/MultiSelectPainter.d.ts.map +1 -1
- package/dist/lib/types/columns/types/NumberColumn/NumberPainter.d.ts +1 -1
- package/dist/lib/types/columns/types/NumberColumn/NumberPainter.d.ts.map +1 -1
- package/dist/lib/types/columns/types/PdfColumn/PdfPainter.d.ts +3 -0
- package/dist/lib/types/columns/types/PdfColumn/PdfPainter.d.ts.map +1 -0
- package/dist/lib/types/columns/types/PdfColumn/index.d.ts +3 -0
- package/dist/lib/types/columns/types/PdfColumn/index.d.ts.map +1 -0
- package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts +1 -1
- package/dist/lib/types/columns/types/ProgressColumn/ProgressPainter.d.ts.map +1 -1
- package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts +1 -1
- package/dist/lib/types/columns/types/SelectColumn/SelectPainter.d.ts.map +1 -1
- package/dist/lib/types/core/FilterEngine.d.ts +17 -0
- package/dist/lib/types/core/FilterEngine.d.ts.map +1 -1
- package/dist/lib/types/core/GeometryEngine.d.ts +16 -2
- package/dist/lib/types/core/GeometryEngine.d.ts.map +1 -1
- package/dist/lib/types/core/GridApi.d.ts +66 -0
- package/dist/lib/types/core/GridApi.d.ts.map +1 -0
- package/dist/lib/types/core/GroupingEngine.d.ts.map +1 -1
- package/dist/lib/types/core/SortEngine.d.ts.map +1 -1
- package/dist/lib/types/data/LocalDataStore.d.ts +8 -1
- package/dist/lib/types/data/LocalDataStore.d.ts.map +1 -1
- package/dist/lib/types/data/RemoteDataStore.d.ts +53 -4
- package/dist/lib/types/data/RemoteDataStore.d.ts.map +1 -1
- package/dist/lib/types/hooks/useGridGeometry.d.ts +65 -0
- package/dist/lib/types/hooks/useGridGeometry.d.ts.map +1 -0
- package/dist/lib/types/hooks/useGridSelection.d.ts +43 -0
- package/dist/lib/types/hooks/useGridSelection.d.ts.map +1 -0
- package/dist/lib/types/index.d.ts +16 -2
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/overlays/BatchChangesModal.d.ts +19 -0
- package/dist/lib/types/overlays/BatchChangesModal.d.ts.map +1 -0
- package/dist/lib/types/overlays/DeleteConfirmProgressModal.d.ts +14 -0
- package/dist/lib/types/overlays/DeleteConfirmProgressModal.d.ts.map +1 -0
- package/dist/lib/types/overlays/HeaderFilterPopover.d.ts +3 -1
- package/dist/lib/types/overlays/HeaderFilterPopover.d.ts.map +1 -1
- package/dist/lib/types/overlays/PdfPreviewModalOverlay.d.ts +18 -0
- package/dist/lib/types/overlays/PdfPreviewModalOverlay.d.ts.map +1 -0
- package/dist/lib/types/renderer/CanvasRenderer.d.ts +5 -1
- package/dist/lib/types/renderer/CanvasRenderer.d.ts.map +1 -1
- package/dist/lib/types/renderer/GroupRowPainter.d.ts.map +1 -1
- package/dist/lib/types/theme/ColumnColorEngine.d.ts +52 -0
- package/dist/lib/types/theme/ColumnColorEngine.d.ts.map +1 -0
- package/dist/lib/types/types/filter.d.ts +2 -0
- package/dist/lib/types/types/filter.d.ts.map +1 -1
- package/dist/lib/types/types/grid.d.ts +133 -1
- package/dist/lib/types/types/grid.d.ts.map +1 -1
- package/dist/lib/types/types/store.d.ts +22 -5
- package/dist/lib/types/types/store.d.ts.map +1 -1
- package/dist/lib/types/ui/FormulaBar.d.ts.map +1 -1
- package/dist/lib/types/ui/SheetGL.d.ts +30 -5
- package/dist/lib/types/ui/SheetGL.d.ts.map +1 -1
- package/dist/lib/types/ui/SheetGLLogo.d.ts +1 -0
- package/dist/lib/types/ui/SheetGLLogo.d.ts.map +1 -1
- package/dist/lib/types/ui/SummaryFooter.d.ts +4 -0
- package/dist/lib/types/ui/SummaryFooter.d.ts.map +1 -1
- package/dist/lib/types/ui/ToolBar.d.ts +5 -1
- package/dist/lib/types/ui/ToolBar.d.ts.map +1 -1
- package/dist/lib/types/version.d.ts +2 -0
- package/dist/lib/types/version.d.ts.map +1 -0
- package/package.json +78 -78
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnTypeRegistry.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/columns/ColumnTypeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA6C;WAErD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ColumnTypeRegistry.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/columns/ColumnTypeRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAC,OAAO,CAA6C;WAErD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI;WAQzC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB;WAUpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;WAK1B,MAAM,IAAI,iBAAiB,EAAE;CAG5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initPlugins.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/columns/initPlugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initPlugins.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/columns/initPlugins.ts"],"names":[],"mappings":"AA0BA,wBAAgB,wBAAwB,IAAI,IAAI,CA2B/C"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CellPaintContext } from '../../IColumnTypePlugin';
|
|
2
|
-
export declare function paintCurrency({ ctx, value, column, theme, x, y, width, height }: CellPaintContext<number>): void;
|
|
2
|
+
export declare function paintCurrency({ ctx, value, column, theme, locale, x, y, width, height }: CellPaintContext<number>): void;
|
|
3
3
|
//# sourceMappingURL=CurrencyPainter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CurrencyPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/CurrencyColumn/CurrencyPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"CurrencyPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/CurrencyColumn/CurrencyPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAwB3D,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CA2BxH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateColumn/DateEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DateEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateColumn/DateEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA8D1D,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CA+XxD,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CellPaintContext } from '../../IColumnTypePlugin';
|
|
2
|
-
export declare function paintDate({ ctx, value, theme, x, y, width, height, isHovered, isSelected, }: CellPaintContext<string | Date>): void;
|
|
2
|
+
export declare function paintDate({ ctx, value, theme, locale, x, y, width, height, isHovered, isSelected, }: CellPaintContext<string | Date>): void;
|
|
3
3
|
//# sourceMappingURL=DatePainter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateColumn/DatePainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DatePainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateColumn/DatePainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,wBAAgB,SAAS,CAAC,EACxB,GAAG,EACH,KAAK,EACL,KAAK,EACL,MAAM,EACN,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAyCxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimeEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateTimeColumn/DateTimeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimeEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateTimeColumn/DateTimeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AA2D1D,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CA6d5D,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CellPaintContext } from '../../IColumnTypePlugin';
|
|
2
|
-
export declare function formatDateTimeDisplay(value: string | Date): {
|
|
2
|
+
export declare function formatDateTimeDisplay(value: string | Date, localeCode?: string): {
|
|
3
3
|
datePart: string;
|
|
4
4
|
timePart: string;
|
|
5
5
|
};
|
|
6
|
-
export declare function paintDateTime({ ctx, value, theme, x, y, width, height, isHovered, isSelected, }: CellPaintContext<string | Date>): void;
|
|
6
|
+
export declare function paintDateTime({ ctx, value, theme, locale, x, y, width, height, isHovered, isSelected, }: CellPaintContext<string | Date>): void;
|
|
7
7
|
//# sourceMappingURL=DateTimePainter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTimePainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateTimeColumn/DateTimePainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DateTimePainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/DateTimeColumn/DateTimePainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,UAAU,GAAE,MAAgB,GAC3B;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAYxC;AAED,wBAAgB,aAAa,CAAC,EAC5B,GAAG,EACH,KAAK,EACL,KAAK,EACL,MAAM,EACN,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CA6DxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelectEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/MultiSelectColumn/MultiSelectEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"MultiSelectEditor.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/MultiSelectColumn/MultiSelectEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAkS1E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelectPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/MultiSelectColumn/MultiSelectPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA2B3D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"MultiSelectPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/MultiSelectColumn/MultiSelectPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA2B3D,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,CAoDxD;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,UAAU,GACX,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAuF5C"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CellPaintContext } from '../../IColumnTypePlugin';
|
|
2
|
-
export declare function paintNumber({ ctx, value, column, theme, x, y, width, height }: CellPaintContext<number>): void;
|
|
2
|
+
export declare function paintNumber({ ctx, value, column, theme, locale, x, y, width, height }: CellPaintContext<number>): void;
|
|
3
3
|
//# sourceMappingURL=NumberPainter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NumberPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/NumberColumn/NumberPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"NumberPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/NumberColumn/NumberPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA0B3D,wBAAgB,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CA8BtH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PdfPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/PdfColumn/PdfPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,KAAK,EACL,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,SAAS,EACT,MAAM,GACP,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CA2FjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/PdfColumn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAY5D,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,MAAM,CAiErD,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CellPaintContext } from '../../IColumnTypePlugin';
|
|
2
|
-
export declare function paintProgress({ ctx, value, theme, x, y, width, height }: CellPaintContext<number>): void;
|
|
2
|
+
export declare function paintProgress({ ctx, value, theme, locale, x, y, width, height }: CellPaintContext<number>): void;
|
|
3
3
|
//# sourceMappingURL=ProgressPainter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgressPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/ProgressColumn/ProgressPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"ProgressPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/ProgressColumn/ProgressPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAkChH"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CellPaintContext } from '../../IColumnTypePlugin';
|
|
2
|
-
export declare function paintSelect({ ctx, value, column, theme, x, y, width, height }: CellPaintContext<string>): void;
|
|
2
|
+
export declare function paintSelect({ ctx, value, column, theme, x, y, width, height, isSelected, isHovered, }: CellPaintContext<string>): void;
|
|
3
3
|
//# sourceMappingURL=SelectPainter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/SelectColumn/SelectPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"SelectPainter.d.ts","sourceRoot":"","sources":["../../../../../../src/datagrid/columns/types/SelectColumn/SelectPainter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAwE3D,wBAAgB,WAAW,CAAC,EAC1B,GAAG,EACH,KAAK,EACL,MAAM,EACN,KAAK,EACL,CAAC,EACD,CAAC,EACD,KAAK,EACL,MAAM,EACN,UAAU,EACV,SAAS,GACV,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,IAAI,CAgFjC"}
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
import { FilterDescriptor, FilterOperation } from '../types/filter';
|
|
2
2
|
export declare const BLANK_FILTER_TOKEN = "__SHEETGL_BLANK__";
|
|
3
|
+
export interface ParsedDateInfo {
|
|
4
|
+
year: number;
|
|
5
|
+
month: number;
|
|
6
|
+
day: number;
|
|
7
|
+
hour: number;
|
|
8
|
+
minute: number;
|
|
9
|
+
second: number;
|
|
10
|
+
hasTime: boolean;
|
|
11
|
+
isoDate: string;
|
|
12
|
+
startOfDayMs: number;
|
|
13
|
+
endOfDayMs: number;
|
|
14
|
+
exactMs: number;
|
|
15
|
+
}
|
|
3
16
|
export declare class FilterEngine {
|
|
4
17
|
private static inSetCache;
|
|
18
|
+
private static dateFormatterCache;
|
|
19
|
+
static formatLocalizedDate(val: any, localeCode?: string, includeTime?: boolean): string;
|
|
5
20
|
private static getCompiledSet;
|
|
21
|
+
private static matchesCompiledDateSet;
|
|
6
22
|
static evaluateRow(row: Record<string, any>, filter: FilterDescriptor | null): boolean;
|
|
7
23
|
private static isSingleFilter;
|
|
8
24
|
private static evaluateSingleFilter;
|
|
25
|
+
static parseDateParts(val: any): ParsedDateInfo | null;
|
|
9
26
|
static parseNumeric(val: any): number;
|
|
10
27
|
private static stringifyValue;
|
|
11
28
|
private static matchesFormattedNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FilterEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/FilterEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAgB,MAAM,iBAAiB,CAAC;AAElF,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"FilterEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/FilterEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAgB,MAAM,iBAAiB,CAAC;AAElF,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAWD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,UAAU,CAA0C;IACnE,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAA0C;WAE7D,mBAAmB,CAC/B,GAAG,EAAE,GAAG,EACR,UAAU,GAAE,MAAgB,EAC5B,WAAW,GAAE,OAAe,GAC3B,MAAM;IAqCT,OAAO,CAAC,MAAM,CAAC,cAAc;IA4C7B,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAuBvB,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,GAAG,OAAO;IAyC7F,OAAO,CAAC,MAAM,CAAC,cAAc;IAS7B,OAAO,CAAC,MAAM,CAAC,oBAAoB;WAKrB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc,GAAG,IAAI;WAgF/C,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IA0D5C,OAAO,CAAC,MAAM,CAAC,cAAc;IAW7B,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAgBvB,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO;WA8MhE,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM;WAuBrD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO;CAKnF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ColumnDef } from '../types/grid';
|
|
1
|
+
import { ColumnDef, ColumnGroupDef } from '../types/grid';
|
|
2
2
|
import { SelectionModel } from './SelectionModel';
|
|
3
3
|
export interface HitTestResult {
|
|
4
4
|
row: number;
|
|
@@ -19,18 +19,32 @@ export interface HeaderHitTestResult {
|
|
|
19
19
|
headerX: number;
|
|
20
20
|
headerWidth: number;
|
|
21
21
|
isFilterIconHit: boolean;
|
|
22
|
+
isGroupHeaderHit?: boolean;
|
|
23
|
+
groupDef?: ColumnGroupDef;
|
|
24
|
+
groupColIndices?: number[];
|
|
22
25
|
}
|
|
23
26
|
export declare class GeometryEngine {
|
|
24
27
|
rowHeight: number;
|
|
28
|
+
baseHeaderHeight: number;
|
|
29
|
+
groupHeaderHeight: number;
|
|
25
30
|
headerHeight: number;
|
|
31
|
+
hasColumnGroups: boolean;
|
|
32
|
+
columnGroups: ColumnGroupDef[];
|
|
33
|
+
private colToGroupMap;
|
|
26
34
|
rowNumberWidth: number;
|
|
35
|
+
viewportWidth: number;
|
|
27
36
|
columns: ColumnDef[];
|
|
28
37
|
frozenColumns: ColumnDef[];
|
|
29
38
|
scrollableColumns: ColumnDef[];
|
|
30
39
|
totalFrozenWidth: number;
|
|
31
40
|
totalScrollableWidth: number;
|
|
32
41
|
scrollableColOffsets: Float32Array;
|
|
33
|
-
constructor(columns?: ColumnDef[], rowHeight?: number, headerHeight?: number);
|
|
42
|
+
constructor(columns?: ColumnDef[], rowHeight?: number, headerHeight?: number, columnGroups?: ColumnGroupDef[], groupHeaderHeight?: number);
|
|
43
|
+
setColumnGroups(columnGroups?: ColumnGroupDef[], groupHeaderHeight?: number): void;
|
|
44
|
+
setBaseHeaderHeight(height: number): void;
|
|
45
|
+
getColumnGroup(col: ColumnDef): ColumnGroupDef | undefined;
|
|
46
|
+
private rebuildColumnGroupMap;
|
|
47
|
+
setViewportWidth(width: number): boolean;
|
|
34
48
|
setColumns(columns: ColumnDef[]): void;
|
|
35
49
|
recalculateGeometry(): void;
|
|
36
50
|
findScrollableColIndexAtX(scrollX: number): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GeometryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"GeometryEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GeometryEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { CellCoords } from '../types/grid';
|
|
2
|
+
export interface NormalizedCellRange {
|
|
3
|
+
minRow: number;
|
|
4
|
+
maxRow: number;
|
|
5
|
+
minCol: number;
|
|
6
|
+
maxCol: number;
|
|
7
|
+
}
|
|
8
|
+
export interface GridApi {
|
|
9
|
+
/**
|
|
10
|
+
* Request an asynchronous 60 FPS redraw on the next animation frame.
|
|
11
|
+
*/
|
|
12
|
+
requestRender(): void;
|
|
13
|
+
/**
|
|
14
|
+
* Set the active cell and reset the selection range to this single cell.
|
|
15
|
+
*/
|
|
16
|
+
selectCell(row: number, col: number): void;
|
|
17
|
+
/**
|
|
18
|
+
* Select a rectangular range of cells from (startRow, startCol) to (endRow, endCol).
|
|
19
|
+
*/
|
|
20
|
+
selectRange(startRow: number, startCol: number, endRow: number, endCol: number): void;
|
|
21
|
+
/**
|
|
22
|
+
* Clear the active selection (defaults back to origin 0,0).
|
|
23
|
+
*/
|
|
24
|
+
clearSelection(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Select all cells across all rows and columns.
|
|
27
|
+
*/
|
|
28
|
+
selectAll(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Get the current active cursor cell coordinates.
|
|
31
|
+
*/
|
|
32
|
+
getActiveCell(): CellCoords;
|
|
33
|
+
/**
|
|
34
|
+
* Get the current bounding box of the active selection (min/max bounds).
|
|
35
|
+
*/
|
|
36
|
+
getSelectedRange(): NormalizedCellRange;
|
|
37
|
+
/**
|
|
38
|
+
* Smoothly scrolls the viewport to ensure the specified cell is visible.
|
|
39
|
+
*/
|
|
40
|
+
ensureCellVisible(row: number, col: number): void;
|
|
41
|
+
/**
|
|
42
|
+
* Programmatically scrolls the grid surface to the specified top/left offsets.
|
|
43
|
+
*/
|
|
44
|
+
scrollTo(options: {
|
|
45
|
+
top?: number;
|
|
46
|
+
left?: number;
|
|
47
|
+
behavior?: ScrollBehavior;
|
|
48
|
+
}): void;
|
|
49
|
+
/**
|
|
50
|
+
* Programmatically change the pixel width of a column.
|
|
51
|
+
*/
|
|
52
|
+
setColumnWidth(columnId: string, width: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Get the current computed pixel width of a column.
|
|
55
|
+
*/
|
|
56
|
+
getColumnWidth(columnId: string): number | undefined;
|
|
57
|
+
/**
|
|
58
|
+
* Get total scrollable virtual width in pixels.
|
|
59
|
+
*/
|
|
60
|
+
getTotalWidth(): number;
|
|
61
|
+
/**
|
|
62
|
+
* Get total scrollable virtual height in pixels.
|
|
63
|
+
*/
|
|
64
|
+
getTotalHeight(): number;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=GridApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridApi.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GridApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AAEtD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,OAAO;IACtB;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtF;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;OAEG;IACH,SAAS,IAAI,IAAI,CAAC;IAElB;;OAEG;IACH,aAAa,IAAI,UAAU,CAAC;IAE5B;;OAEG;IACH,gBAAgB,IAAI,mBAAmB,CAAC;IAMxC;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAElD;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAEpF;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAErD;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,IAAI,MAAM,CAAC;CAC1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GroupingEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GroupingEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"GroupingEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/GroupingEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAG1E,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,iBAAiB;WAclB,gBAAgB,CAC5B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,kBAAkB,GAAE,MAAU,GAC7B,GAAG,CAAC,MAAM,CAAC;WA4BA,kBAAkB,CAC9B,IAAI,EAAE,GAAG,EAAE,EACX,MAAM,EAAE,eAAe,EAAE,EACzB,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,EACzB,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC1C,UAAU,EAAE;IAcf,OAAO,CAAC,MAAM,CAAC,cAAc;CAmG9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SortEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/SortEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SortEngine.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/core/SortEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAGpB;WAEW,gBAAgB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM;WAmBzE,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM;CAyCpD"}
|
|
@@ -29,6 +29,8 @@ export declare class LocalDataStore implements IDataStore {
|
|
|
29
29
|
isRemote(): boolean;
|
|
30
30
|
setData(data: any[]): void;
|
|
31
31
|
getRowCount(): number;
|
|
32
|
+
getFilteredRowCount(): number;
|
|
33
|
+
getTotalDatasetRowCount(): number;
|
|
32
34
|
getViewRow(rowIndex: number): VirtualRow | undefined;
|
|
33
35
|
getRawData(): any[];
|
|
34
36
|
getRawRowByKey(rowKey: any): Record<string, any> | undefined;
|
|
@@ -54,6 +56,7 @@ export declare class LocalDataStore implements IDataStore {
|
|
|
54
56
|
insertRow(rowData: Record<string, any>, targetViewRowIndex?: number): Promise<Record<string, any>>;
|
|
55
57
|
duplicateRow(rowKey: any, targetViewRowIndex?: number): Promise<Record<string, any> | null>;
|
|
56
58
|
deleteRow(rowKey: any): Promise<void>;
|
|
59
|
+
deleteRowsBatch(rowKeys: any[], onProgress?: (processed: number, total: number) => void): Promise<number>;
|
|
57
60
|
restoreRow(rowData: Record<string, any>, rawIndex?: number): Promise<void>;
|
|
58
61
|
setBatchMode(enabled: boolean): void;
|
|
59
62
|
isBatchMode(): boolean;
|
|
@@ -61,11 +64,15 @@ export declare class LocalDataStore implements IDataStore {
|
|
|
61
64
|
isColumnDirty(columnId: string): boolean;
|
|
62
65
|
isRowInserted(rowKey: any): boolean;
|
|
63
66
|
hasPendingChanges(): boolean;
|
|
67
|
+
getPendingChangesCount(): number;
|
|
64
68
|
getPendingChanges(): BatchChanges;
|
|
69
|
+
revertPendingDelete(rowKey: any): void;
|
|
70
|
+
revertPendingUpdate(rowKey: any, columnId?: string): void;
|
|
71
|
+
revertPendingInsert(rowKey: any): void;
|
|
65
72
|
saveBatchChanges(): Promise<BatchChanges>;
|
|
66
73
|
discardBatchChanges(): void;
|
|
67
74
|
commitBatch(changes: BatchChanges): Promise<void>;
|
|
68
|
-
getDistinctValues(columnId: string, search?: string): Promise<DistinctItem[]>;
|
|
75
|
+
getDistinctValues(columnId: string, search?: string, baseFilter?: FilterDescriptor | null): Promise<DistinctItem[]>;
|
|
69
76
|
getSummaryTypes(): Record<string, SummaryType>;
|
|
70
77
|
setSummaryType(columnId: string, summaryType: SummaryType): void;
|
|
71
78
|
getSummaries(): Record<string, number> | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LocalDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/LocalDataStore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LocalDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/LocalDataStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,56 @@
|
|
|
1
|
-
import { IDataStore, BatchChanges, RemoteOperationsConfig } from '../types/store';
|
|
1
|
+
import { IDataStore, BatchChanges, RemoteOperationsConfig, DataGridQuery, LoadResult } from '../types/store';
|
|
2
2
|
import { FilterDescriptor, SortDescriptor, DistinctItem } from '../types/filter';
|
|
3
3
|
import { GroupDescriptor, VirtualRow } from '../types/group';
|
|
4
|
+
export interface RemoteDateTreeDayPayload {
|
|
5
|
+
day: number;
|
|
6
|
+
isoDate?: string;
|
|
7
|
+
count: number;
|
|
8
|
+
values?: any[];
|
|
9
|
+
}
|
|
10
|
+
export interface RemoteDateTreeMonthPayload {
|
|
11
|
+
month: number;
|
|
12
|
+
count: number;
|
|
13
|
+
days?: RemoteDateTreeDayPayload[];
|
|
14
|
+
}
|
|
15
|
+
export interface RemoteDateTreeYearPayload {
|
|
16
|
+
year: number;
|
|
17
|
+
count: number;
|
|
18
|
+
months?: RemoteDateTreeMonthPayload[];
|
|
19
|
+
}
|
|
4
20
|
export interface RemoteDataStoreOptions {
|
|
5
|
-
url
|
|
21
|
+
url?: string;
|
|
6
22
|
keyField?: string;
|
|
7
23
|
remoteOperations?: RemoteOperationsConfig;
|
|
8
24
|
headers?: Record<string, string>;
|
|
9
25
|
blockSize?: number;
|
|
26
|
+
/** Alias for blockSize as documented in REMOTE_OPERATIONS_GUIDE.md */
|
|
27
|
+
chunkSize?: number;
|
|
28
|
+
method?: 'GET' | 'POST';
|
|
29
|
+
/** Custom loader function for advanced environments (e.g. Qmi custom API client) */
|
|
30
|
+
load?: (query: DataGridQuery) => Promise<LoadResult>;
|
|
31
|
+
/** Alias for load */
|
|
32
|
+
customLoad?: (query: DataGridQuery) => Promise<LoadResult>;
|
|
33
|
+
/** Custom distinct value loader for remote column filters */
|
|
34
|
+
loadDistinct?: (columnId: string, search?: string, baseFilter?: FilterDescriptor | null) => Promise<DistinctItem[]>;
|
|
35
|
+
/** Custom single cell updater */
|
|
36
|
+
update?: (key: any, values: Record<string, any>) => Promise<void>;
|
|
37
|
+
/** Custom batch changes committer */
|
|
38
|
+
commit?: (changes: BatchChanges) => Promise<void>;
|
|
10
39
|
}
|
|
11
40
|
export declare class RemoteDataStore implements IDataStore {
|
|
12
41
|
private url;
|
|
13
42
|
private keyField;
|
|
14
43
|
private headers;
|
|
44
|
+
private method;
|
|
45
|
+
private remoteOperations;
|
|
15
46
|
private cache;
|
|
47
|
+
private customLoad?;
|
|
48
|
+
private customLoadDistinct?;
|
|
49
|
+
private customUpdate?;
|
|
50
|
+
private customCommit?;
|
|
16
51
|
private totalCount;
|
|
52
|
+
private unfilteredTotalCount;
|
|
53
|
+
private hasInitialFetchTriggered;
|
|
17
54
|
private summaries?;
|
|
18
55
|
private currentFilter;
|
|
19
56
|
private currentSearch;
|
|
@@ -21,12 +58,18 @@ export declare class RemoteDataStore implements IDataStore {
|
|
|
21
58
|
private currentGroups;
|
|
22
59
|
private currentAbortController;
|
|
23
60
|
private pendingBlockRequests;
|
|
61
|
+
private distinctCache;
|
|
24
62
|
private listeners;
|
|
25
63
|
constructor(options: RemoteDataStoreOptions);
|
|
26
64
|
isRemote(): boolean;
|
|
27
65
|
getRowCount(): number;
|
|
66
|
+
getTotalCount(): number;
|
|
67
|
+
setTotalCount(count: number): void;
|
|
68
|
+
getFilteredRowCount(): number;
|
|
69
|
+
getTotalDatasetRowCount(): number;
|
|
28
70
|
getViewRow(rowIndex: number): VirtualRow | undefined;
|
|
29
71
|
ensureRange(startRow: number, endRow: number): Promise<void>;
|
|
72
|
+
private buildRequestUrlWithParams;
|
|
30
73
|
private fetchBlock;
|
|
31
74
|
setFilter(filter: FilterDescriptor | null): Promise<void>;
|
|
32
75
|
setSearch(keyword: string): Promise<void>;
|
|
@@ -35,11 +78,17 @@ export declare class RemoteDataStore implements IDataStore {
|
|
|
35
78
|
toggleGroup(_groupKey: string): Promise<void>;
|
|
36
79
|
setCell(rowKey: any, columnId: string, value: any): Promise<void>;
|
|
37
80
|
commitBatch(changes: BatchChanges): Promise<void>;
|
|
38
|
-
|
|
81
|
+
/**
|
|
82
|
+
* Flattens a server-side semantic Year > Month > Day tree payload into DistinctItem[]
|
|
83
|
+
* so HeaderFilterPopover builds the exact hierarchical date tree with server row counts.
|
|
84
|
+
*/
|
|
85
|
+
private static normalizeRemoteDateTree;
|
|
86
|
+
getDistinctValues(columnId: string, search?: string, baseFilter?: FilterDescriptor | null): Promise<DistinctItem[]>;
|
|
39
87
|
getSummaries(): Record<string, number> | undefined;
|
|
40
88
|
on(event: string, callback: (...args: any[]) => void): void;
|
|
41
89
|
off(event: string, callback: (...args: any[]) => void): void;
|
|
42
90
|
private emit;
|
|
43
|
-
private
|
|
91
|
+
private resetAndReloadAsync;
|
|
92
|
+
resetAndReload(): void;
|
|
44
93
|
}
|
|
45
94
|
//# sourceMappingURL=RemoteDataStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RemoteDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/RemoteDataStore.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"RemoteDataStore.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/data/RemoteDataStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { ColumnDef, ColumnGroupDef, RowSelectionMode } from '../types/grid';
|
|
2
|
+
import { GeometryEngine } from '../core/GeometryEngine';
|
|
3
|
+
export interface UseGridGeometryOptions {
|
|
4
|
+
userColumns: ColumnDef[];
|
|
5
|
+
rowHeight?: number;
|
|
6
|
+
headerHeight?: number;
|
|
7
|
+
columnGroups?: ColumnGroupDef[];
|
|
8
|
+
groupHeaderHeight?: number;
|
|
9
|
+
rowSelectionMode?: RowSelectionMode;
|
|
10
|
+
rowCount?: number;
|
|
11
|
+
onRequestRender?: () => void;
|
|
12
|
+
onActiveOverlayClear?: () => void;
|
|
13
|
+
onColumnResize?: (colId: string, newWidth: number) => void;
|
|
14
|
+
}
|
|
15
|
+
export interface ColumnResizeState {
|
|
16
|
+
colIndex: number;
|
|
17
|
+
colId: string;
|
|
18
|
+
startX: number;
|
|
19
|
+
initialWidth: number;
|
|
20
|
+
}
|
|
21
|
+
export interface UseGridGeometryReturn {
|
|
22
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
23
|
+
gridSurfaceRef: React.RefObject<HTMLDivElement | null>;
|
|
24
|
+
scrollContainerRef: React.RefObject<HTMLDivElement | null>;
|
|
25
|
+
geometryRef: React.MutableRefObject<GeometryEngine>;
|
|
26
|
+
columns: ColumnDef[];
|
|
27
|
+
effectiveColumns: ColumnDef[];
|
|
28
|
+
setColumns: React.Dispatch<React.SetStateAction<ColumnDef[]>>;
|
|
29
|
+
updateColumnDef: (colId: string, patch: Partial<ColumnDef>) => void;
|
|
30
|
+
setColumnWidth: (colId: string, width: number) => void;
|
|
31
|
+
getColumnWidth: (colId: string) => number | undefined;
|
|
32
|
+
resizingCol: ColumnResizeState | null;
|
|
33
|
+
setResizingCol: React.Dispatch<React.SetStateAction<ColumnResizeState | null>>;
|
|
34
|
+
scrollPosRef: React.MutableRefObject<{
|
|
35
|
+
left: number;
|
|
36
|
+
top: number;
|
|
37
|
+
}>;
|
|
38
|
+
scrollIndicator: {
|
|
39
|
+
visible: boolean;
|
|
40
|
+
row: number;
|
|
41
|
+
};
|
|
42
|
+
setScrollIndicator: React.Dispatch<React.SetStateAction<{
|
|
43
|
+
visible: boolean;
|
|
44
|
+
row: number;
|
|
45
|
+
}>>;
|
|
46
|
+
handleScroll: (e: React.UIEvent<HTMLDivElement>) => void;
|
|
47
|
+
ensureCellVisible: (row: number, col: number) => void;
|
|
48
|
+
scrollTo: (options: {
|
|
49
|
+
top?: number;
|
|
50
|
+
left?: number;
|
|
51
|
+
behavior?: ScrollBehavior;
|
|
52
|
+
}) => void;
|
|
53
|
+
scrollToTop: () => void;
|
|
54
|
+
scrollToBottom: () => void;
|
|
55
|
+
getViewportCoords: (e: React.MouseEvent) => {
|
|
56
|
+
x: number;
|
|
57
|
+
y: number;
|
|
58
|
+
onScrollbar: boolean;
|
|
59
|
+
};
|
|
60
|
+
checkEdgeAutoScroll: (x: number, y: number, rect: DOMRect) => void;
|
|
61
|
+
getTotalWidth: () => number;
|
|
62
|
+
getTotalHeight: (rowCount: number) => number;
|
|
63
|
+
}
|
|
64
|
+
export declare function useGridGeometry({ userColumns, rowHeight, headerHeight, columnGroups, groupHeaderHeight, rowSelectionMode, rowCount, onRequestRender, onActiveOverlayClear, onColumnResize, }: UseGridGeometryOptions): UseGridGeometryReturn;
|
|
65
|
+
//# sourceMappingURL=useGridGeometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridGeometry.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/hooks/useGridGeometry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,SAAS,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAClC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5D;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IAEpC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACrD,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACvD,kBAAkB,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAG3D,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACpD,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,gBAAgB,EAAE,SAAS,EAAE,CAAC;IAC9B,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IAC9D,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACpE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAGtD,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC;IAG/E,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,eAAe,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAG5F,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IACzD,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,QAAQ,EAAE,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,cAAc,CAAA;KAAE,KAAK,IAAI,CAAC;IACxF,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,OAAO,CAAA;KAAE,CAAC;IAC3F,mBAAmB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAGnE,aAAa,EAAE,MAAM,MAAM,CAAC;IAC5B,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;CAC9C;AAED,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,SAAc,EACd,YAAiB,EACjB,YAAiB,EACjB,iBAAsB,EACtB,gBAAyB,EACzB,QAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,cAAc,GACf,EAAE,sBAAsB,GAAG,qBAAqB,CA6QhD"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { SelectionModel } from '../core/SelectionModel';
|
|
2
|
+
import { CellCoords } from '../types/grid';
|
|
3
|
+
import { NormalizedCellRange } from '../core/GridApi';
|
|
4
|
+
export interface UseGridSelectionOptions {
|
|
5
|
+
onRequestRender?: () => void;
|
|
6
|
+
onEnsureCellVisible?: (row: number, col: number) => void;
|
|
7
|
+
onSelectionChanged?: (range: NormalizedCellRange, activeCell: CellCoords) => void;
|
|
8
|
+
}
|
|
9
|
+
export interface UseGridSelectionReturn {
|
|
10
|
+
/**
|
|
11
|
+
* Mutable reference to the underlying SelectionModel for direct canvas pass-through.
|
|
12
|
+
*/
|
|
13
|
+
selectionRef: React.MutableRefObject<SelectionModel>;
|
|
14
|
+
/**
|
|
15
|
+
* Version counter incremented on every selection change to trigger React re-renders.
|
|
16
|
+
*/
|
|
17
|
+
selectionVersion: number;
|
|
18
|
+
setSelectionVersion: React.Dispatch<React.SetStateAction<number>>;
|
|
19
|
+
selectedCellUI: CellCoords;
|
|
20
|
+
setSelectedCellUI: React.Dispatch<React.SetStateAction<CellCoords>>;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the user is actively dragging across data cells.
|
|
23
|
+
*/
|
|
24
|
+
isDraggingSelection: boolean;
|
|
25
|
+
setIsDraggingSelection: React.Dispatch<React.SetStateAction<boolean>>;
|
|
26
|
+
/**
|
|
27
|
+
* Whether the user is actively dragging down the row number gutter.
|
|
28
|
+
*/
|
|
29
|
+
isDraggingRowNumbers: boolean;
|
|
30
|
+
setIsDraggingRowNumbers: React.Dispatch<React.SetStateAction<boolean>>;
|
|
31
|
+
selectCell: (row: number, col: number) => void;
|
|
32
|
+
selectRange: (startRow: number, startCol: number, endRow: number, endCol: number) => void;
|
|
33
|
+
setRangeEnd: (row: number, col: number) => void;
|
|
34
|
+
selectAll: (rowCount: number, colCount: number) => void;
|
|
35
|
+
selectFullRow: (rowIndex: number, colCount: number, isRangeSelect?: boolean) => void;
|
|
36
|
+
moveSelection: (dRow: number, dCol: number, isRangeSelect?: boolean, rowCount?: number, colCount?: number) => void;
|
|
37
|
+
clearSelection: () => void;
|
|
38
|
+
stopDragging: () => void;
|
|
39
|
+
getActiveCell: () => CellCoords;
|
|
40
|
+
getSelectedRange: () => NormalizedCellRange;
|
|
41
|
+
}
|
|
42
|
+
export declare function useGridSelection({ onRequestRender, onEnsureCellVisible, onSelectionChanged, }?: UseGridSelectionOptions): UseGridSelectionReturn;
|
|
43
|
+
//# sourceMappingURL=useGridSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridSelection.d.ts","sourceRoot":"","sources":["../../../../src/datagrid/hooks/useGridSelection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,uBAAuB;IACtC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACrD;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,cAAc,EAAE,UAAU,CAAC;IAC3B,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE;;OAEG;IACH,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACtE;;OAEG;IACH,oBAAoB,EAAE,OAAO,CAAC;IAC9B,uBAAuB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAGvE,UAAU,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1F,WAAW,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACrF,aAAa,EAAE,CACb,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,OAAO,EACvB,QAAQ,CAAC,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,MAAM,KACd,IAAI,CAAC;IACV,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,MAAM,IAAI,CAAC;IAGzB,aAAa,EAAE,MAAM,UAAU,CAAC;IAChC,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;CAC7C;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,GAAE,uBAA4B,GAAG,sBAAsB,CAiJvD"}
|