@geovi/the-datagrid 0.0.11 → 0.0.12
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/base.css +1 -1
- package/dist/components/ui/command.d.ts +6 -6
- package/dist/filters/utils.d.ts.map +1 -1
- package/dist/grid/ReactDataGrid.d.ts +3 -9
- package/dist/grid/ReactDataGrid.d.ts.map +1 -1
- package/dist/grid/components/GridLoadingLayer.d.ts +14 -0
- package/dist/grid/components/GridLoadingLayer.d.ts.map +1 -0
- package/dist/grid/gridDefaultProps.d.ts +13 -0
- package/dist/grid/gridDefaultProps.d.ts.map +1 -0
- package/dist/grid/hooks/useGridColumnApi.d.ts +50 -0
- package/dist/grid/hooks/useGridColumnApi.d.ts.map +1 -0
- package/dist/grid/hooks/useGridColumnDefs.d.ts +42 -0
- package/dist/grid/hooks/useGridColumnDefs.d.ts.map +1 -0
- package/dist/grid/hooks/useGridColumnResize.d.ts +65 -0
- package/dist/grid/hooks/useGridColumnResize.d.ts.map +1 -0
- package/dist/grid/hooks/useGridColumnSizingApi.d.ts +37 -0
- package/dist/grid/hooks/useGridColumnSizingApi.d.ts.map +1 -0
- package/dist/grid/hooks/useGridContextMenuLayers.d.ts +61 -0
- package/dist/grid/hooks/useGridContextMenuLayers.d.ts.map +1 -0
- package/dist/grid/hooks/useGridContextMenus.d.ts +44 -0
- package/dist/grid/hooks/useGridContextMenus.d.ts.map +1 -0
- package/dist/grid/hooks/useGridDataLoader.d.ts +56 -0
- package/dist/grid/hooks/useGridDataLoader.d.ts.map +1 -0
- package/dist/grid/hooks/useGridEditing.d.ts +64 -0
- package/dist/grid/hooks/useGridEditing.d.ts.map +1 -0
- package/dist/grid/hooks/useGridHeaderReorder.d.ts +24 -0
- package/dist/grid/hooks/useGridHeaderReorder.d.ts.map +1 -0
- package/dist/grid/hooks/useGridImperativeApi.d.ts +270 -0
- package/dist/grid/hooks/useGridImperativeApi.d.ts.map +1 -0
- package/dist/grid/hooks/useGridKeyboardNavigation.d.ts +86 -0
- package/dist/grid/hooks/useGridKeyboardNavigation.d.ts.map +1 -0
- package/dist/grid/hooks/useGridPaginationApi.d.ts +46 -0
- package/dist/grid/hooks/useGridPaginationApi.d.ts.map +1 -0
- package/dist/grid/hooks/useGridRowApi.d.ts +45 -0
- package/dist/grid/hooks/useGridRowApi.d.ts.map +1 -0
- package/dist/grid/hooks/useGridScrollApi.d.ts +73 -0
- package/dist/grid/hooks/useGridScrollApi.d.ts.map +1 -0
- package/dist/grid/hooks/useGridSelection.d.ts +80 -0
- package/dist/grid/hooks/useGridSelection.d.ts.map +1 -0
- package/dist/grid/hooks/useGridVirtualListApi.d.ts +65 -0
- package/dist/grid/hooks/useGridVirtualListApi.d.ts.map +1 -0
- package/dist/grid/internalProps.d.ts +47 -0
- package/dist/grid/internalProps.d.ts.map +1 -0
- package/dist/grid/utils/columnGroups.d.ts +4 -0
- package/dist/grid/utils/columnGroups.d.ts.map +1 -1
- package/dist/grid/utils/columnWidthEstimation.d.ts +31 -0
- package/dist/grid/utils/columnWidthEstimation.d.ts.map +1 -0
- package/dist/grid/utils/liveColumnResize.d.ts +61 -0
- package/dist/grid/utils/liveColumnResize.d.ts.map +1 -0
- package/dist/grid/utils/loadingStore.d.ts +9 -0
- package/dist/grid/utils/loadingStore.d.ts.map +1 -0
- package/dist/grid/utils/rowHeightsMap.d.ts +3 -0
- package/dist/grid/utils/rowHeightsMap.d.ts.map +1 -0
- package/dist/grid/utils/rtlScroll.d.ts +6 -0
- package/dist/grid/utils/rtlScroll.d.ts.map +1 -0
- package/dist/grid/utils/spanRangeExtractor.d.ts +7 -0
- package/dist/grid/utils/spanRangeExtractor.d.ts.map +1 -0
- package/dist/index.cjs +13 -13
- package/dist/index.css +1 -1
- package/dist/index.js +14270 -12672
- package/dist/style/theme/amber-dark/index.css +1 -1
- package/dist/style/theme/amber-light/index.css +1 -1
- package/dist/style/theme/blue-dark/index.css +1 -1
- package/dist/style/theme/blue-light/index.css +1 -1
- package/dist/style/theme/default-dark/index.css +1 -1
- package/dist/style/theme/default-light/index.css +1 -1
- package/dist/style/theme/green-dark/index.css +1 -1
- package/dist/style/theme/green-light/index.css +1 -1
- package/dist/style/theme/pink-dark/index.css +1 -1
- package/dist/style/theme/pink-light/index.css +1 -1
- package/package.json +2 -1
|
@@ -7,7 +7,7 @@ declare const Command: React.ForwardRefExoticComponent<Omit<{
|
|
|
7
7
|
ref?: React.Ref<HTMLDivElement>;
|
|
8
8
|
} & {
|
|
9
9
|
asChild?: boolean;
|
|
10
|
-
}, "key" |
|
|
10
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
11
11
|
label?: string;
|
|
12
12
|
shouldFilter?: boolean;
|
|
13
13
|
filter?: (value: string, search: string, keywords?: string[]) => number;
|
|
@@ -38,7 +38,7 @@ declare const CommandList: React.ForwardRefExoticComponent<Omit<{
|
|
|
38
38
|
ref?: React.Ref<HTMLDivElement>;
|
|
39
39
|
} & {
|
|
40
40
|
asChild?: boolean;
|
|
41
|
-
}, "key" |
|
|
41
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
42
42
|
label?: string;
|
|
43
43
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
44
44
|
declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
|
|
@@ -47,14 +47,14 @@ declare const CommandEmpty: React.ForwardRefExoticComponent<Omit<{
|
|
|
47
47
|
ref?: React.Ref<HTMLDivElement>;
|
|
48
48
|
} & {
|
|
49
49
|
asChild?: boolean;
|
|
50
|
-
}, "key" |
|
|
50
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
51
51
|
declare const CommandGroup: React.ForwardRefExoticComponent<Omit<{
|
|
52
52
|
children?: React.ReactNode;
|
|
53
53
|
} & Omit<Pick<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "key" | keyof React.HTMLAttributes<HTMLDivElement>> & {
|
|
54
54
|
ref?: React.Ref<HTMLDivElement>;
|
|
55
55
|
} & {
|
|
56
56
|
asChild?: boolean;
|
|
57
|
-
}, "key" |
|
|
57
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "heading"> & {
|
|
58
58
|
heading?: React.ReactNode;
|
|
59
59
|
value?: string;
|
|
60
60
|
forceMount?: boolean;
|
|
@@ -63,7 +63,7 @@ declare const CommandSeparator: React.ForwardRefExoticComponent<Omit<Pick<Pick<R
|
|
|
63
63
|
ref?: React.Ref<HTMLDivElement>;
|
|
64
64
|
} & {
|
|
65
65
|
asChild?: boolean;
|
|
66
|
-
}, "key" |
|
|
66
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild"> & {
|
|
67
67
|
alwaysRender?: boolean;
|
|
68
68
|
} & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
69
69
|
declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
@@ -72,7 +72,7 @@ declare const CommandItem: React.ForwardRefExoticComponent<Omit<{
|
|
|
72
72
|
ref?: React.Ref<HTMLDivElement>;
|
|
73
73
|
} & {
|
|
74
74
|
asChild?: boolean;
|
|
75
|
-
}, "key" |
|
|
75
|
+
}, "key" | keyof React.HTMLAttributes<HTMLDivElement> | "asChild">, "value" | "disabled" | "onSelect"> & {
|
|
76
76
|
disabled?: boolean;
|
|
77
77
|
onSelect?: (value: string) => void;
|
|
78
78
|
value?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/filters/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EAEf,eAAe,EACf,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAqFlB;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,eA4XlC,CAAC;AAKF,eAAO,MAAM,WAAW,EAAE,eAAsC,CAAC;AAEjE,gCAAgC;AAEhC,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,eAAe,GAAG,SAAS,GAC7B,eAAe,CAGjB;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,GACX,qBAAqB,GAAG,SAAS,CAGnC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/filters/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EAEV,eAAe,EAEf,eAAe,EACf,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAqFlB;;GAEG;AACH,eAAO,MAAM,oBAAoB,EAAE,eA4XlC,CAAC;AAKF,eAAO,MAAM,WAAW,EAAE,eAAsC,CAAC;AAEjE,gCAAgC;AAEhC,wBAAgB,oBAAoB,CAClC,CAAC,EAAE,eAAe,GAAG,SAAS,GAC7B,eAAe,CAGjB;AAED,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,GACX,qBAAqB,GAAG,SAAS,CAGnC;AAwBD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,qBAAqB,EAC5B,iBAAiB,CAAC,EAAE,eAAe,GAClC,OAAO,CAKT;AAsCD,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,eAAe,EAC5B,iBAAiB,CAAC,EAAE,eAAe,GAClC,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,eAAe,EAC5B,KAAK,EAAE,qBAAqB,GAAG,IAAI,EACnC,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CA6BjB;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACtD,eAAe,CA0BjB;AAED,wBAAgB,WAAW,CACzB,WAAW,EAAE,eAAe,EAC5B,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CAmBjB;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,eAAe,EAC5B,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAA;CAAE,GACvC,eAAe,CAOjB;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAC1C,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,UAAU,EAAO,GACzB,eAAe,CAuCjB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,GAAG,EAAE,EACX,WAAW,EAAE,eAAe,EAC5B,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,eAAe,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAA;CAAE,GAC/D,GAAG,EAAE,CAmDP"}
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { TypeDataGridProps } from '../types.js';
|
|
2
|
+
import { plugins, ReactDataGridDefaultProps } from './gridDefaultProps.js';
|
|
2
3
|
import * as React from "react";
|
|
3
|
-
|
|
4
|
-
* Inovua exposes feature plugins. The implementation here is built in, so
|
|
5
|
-
* these executable descriptors expose equivalent enablement and state rather
|
|
6
|
-
* than asking consumers to register them.
|
|
7
|
-
*/
|
|
8
|
-
export declare const plugins: readonly TypeCommunityPlugin[];
|
|
9
|
-
type ReactDataGridDefaultPropName = "idProperty" | "theme" | "enableColumnFilterContextMenu" | "enableColumnAutosize" | "skipHeaderOnAutoSize" | "resizable" | "liveColumnResize" | "columnDefaultWidth" | "columnMinWidth" | "columnMaxWidth" | "shareSpaceOnResize" | "columnResizeHandleWidth" | "columnResizeProxyWidth" | "allowGroupSplitOnReorder" | "filterTypes" | "virtualized" | "virtualizeColumnsThreshold" | "nativeScroll" | "scrollProps" | "rtl" | "allowMobileTransform" | "columnUserSelect" | "showCellBorders" | "showColumnMenuTool" | "sortable" | "sortFunctions" | "scrollTopOnFilter" | "scrollTopOnSort" | "columnFilterContextMenuAlignPositions" | "columnFilterContextMenuConstrainTo" | "columnFilterContextMenuPosition" | "updateMenuPositionOnScroll" | "columnContextMenuAlignPositions" | "columnContextMenuConstrainTo" | "columnContextMenuPosition" | "rowContextMenuAlignPositions" | "rowContextMenuConstrainTo" | "rowContextMenuPosition" | "updateMenuPositionOnColumnsChange" | "rowHeight" | "minRowHeight" | "defaultShowZebraRows" | "editStartEvent" | "isStartEditKeyPressed" | "autoFocusOnEditComplete" | "autoFocusOnEditEscape" | "emptyText" | "headerHeight" | "filterRowHeight" | "enableKeyboardNavigation" | "activateRowOnFocus" | "keyPageStep" | "allowRowTabNavigation" | "toggleRowSelectOnClick" | "toggleCellSelectOnClick" | "cellSelectionByIndex" | "showHoverRows" | "showEmptyRows" | "showActiveRowIndicator";
|
|
10
|
-
type ReactDataGridDefaultProps = Required<Pick<TypeDataGridProps, ReactDataGridDefaultPropName>>;
|
|
4
|
+
export { plugins };
|
|
11
5
|
type ReactDataGridComponent = React.FunctionComponent<TypeDataGridProps> & {
|
|
12
6
|
defaultProps: ReactDataGridDefaultProps;
|
|
13
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactDataGrid.d.ts","sourceRoot":"","sources":["../../src/grid/ReactDataGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"ReactDataGrid.d.ts","sourceRoot":"","sources":["../../src/grid/ReactDataGrid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAQV,iBAAiB,EAQlB,MAAM,UAAU,CAAC;AA2ElB,OAAO,EAGL,OAAO,EACP,KAAK,yBAAyB,EAC/B,MAAM,oBAAoB,CAAC;AAoC5B,OAAO,EAAE,OAAO,EAAE,CAAC;AAInB,KAAK,sBAAsB,GAAG,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,GAAG;IACzE,YAAY,EAAE,yBAAyB,CAAC;CACzC,CAAC;AAi7GF,QAAA,MAAM,6BAA6B,EAAoB,sBAAsB,CAAC;AA6B9E,OAAO,EAAE,6BAA6B,IAAI,aAAa,EAAE,CAAC;AAC1D,eAAe,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TypeDataGridProps } from '../../types.js';
|
|
2
|
+
import { LoadingStore } from '../utils/loadingStore.js';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type GridLoadingLayerProps = {
|
|
5
|
+
controlledLoading: boolean | undefined;
|
|
6
|
+
loadingText: React.ReactNode | (() => React.ReactNode);
|
|
7
|
+
onLoadingChange: ((loading: boolean) => void) | undefined;
|
|
8
|
+
renderLoadMask: TypeDataGridProps["renderLoadMask"];
|
|
9
|
+
store: LoadingStore;
|
|
10
|
+
surfaceRef: React.MutableRefObject<HTMLElement | null>;
|
|
11
|
+
theme: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const GridLoadingLayer: React.NamedExoticComponent<GridLoadingLayerProps>;
|
|
14
|
+
//# sourceMappingURL=GridLoadingLayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GridLoadingLayer.d.ts","sourceRoot":"","sources":["../../../src/grid/components/GridLoadingLayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG;IAClC,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,WAAW,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D,cAAc,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,gBAAgB,mDAuD3B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { TypeColumnGroup, TypeCommunityPlugin, TypeDataGridProps, TypeSortFunctions } from '../types.js';
|
|
2
|
+
export declare const EMPTY_COLUMN_GROUPS: TypeColumnGroup[];
|
|
3
|
+
export declare const DEFAULT_SORT_FUNCTIONS: TypeSortFunctions;
|
|
4
|
+
/**
|
|
5
|
+
* Inovua exposes feature plugins. The implementation here is built in, so
|
|
6
|
+
* these executable descriptors expose equivalent enablement and state rather
|
|
7
|
+
* than asking consumers to register them.
|
|
8
|
+
*/
|
|
9
|
+
export declare const plugins: readonly TypeCommunityPlugin[];
|
|
10
|
+
export type ReactDataGridDefaultPropName = "idProperty" | "theme" | "enableColumnFilterContextMenu" | "enableColumnAutosize" | "skipHeaderOnAutoSize" | "resizable" | "liveColumnResize" | "columnDefaultWidth" | "columnMinWidth" | "columnMaxWidth" | "shareSpaceOnResize" | "columnResizeHandleWidth" | "columnResizeProxyWidth" | "allowGroupSplitOnReorder" | "filterTypes" | "virtualized" | "virtualizeColumnsThreshold" | "nativeScroll" | "scrollProps" | "rtl" | "allowMobileTransform" | "columnUserSelect" | "showCellBorders" | "showColumnMenuTool" | "sortable" | "sortFunctions" | "scrollTopOnFilter" | "scrollTopOnSort" | "columnFilterContextMenuAlignPositions" | "columnFilterContextMenuConstrainTo" | "columnFilterContextMenuPosition" | "updateMenuPositionOnScroll" | "columnContextMenuAlignPositions" | "columnContextMenuConstrainTo" | "columnContextMenuPosition" | "rowContextMenuAlignPositions" | "rowContextMenuConstrainTo" | "rowContextMenuPosition" | "updateMenuPositionOnColumnsChange" | "rowHeight" | "minRowHeight" | "defaultShowZebraRows" | "editStartEvent" | "isStartEditKeyPressed" | "autoFocusOnEditComplete" | "autoFocusOnEditEscape" | "emptyText" | "headerHeight" | "filterRowHeight" | "enableKeyboardNavigation" | "activateRowOnFocus" | "keyPageStep" | "allowRowTabNavigation" | "toggleRowSelectOnClick" | "toggleCellSelectOnClick" | "cellSelectionByIndex" | "showHoverRows" | "showEmptyRows" | "showActiveRowIndicator";
|
|
11
|
+
export type ReactDataGridDefaultProps = Required<Pick<TypeDataGridProps, ReactDataGridDefaultPropName>>;
|
|
12
|
+
export declare const REACT_DATA_GRID_DEFAULT_PROPS: ReactDataGridDefaultProps;
|
|
13
|
+
//# sourceMappingURL=gridDefaultProps.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gridDefaultProps.d.ts","sourceRoot":"","sources":["../../src/grid/gridDefaultProps.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,UAAU,CAAC;AAGlB,eAAO,MAAM,mBAAmB,EAAE,eAAe,EAAO,CAAC;AAEzD,eAAO,MAAM,sBAAsB,EAAE,iBAEpC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAE,SAAS,mBAAmB,EAoHxC,CAAC;AAEX,MAAM,MAAM,4BAA4B,GACpC,YAAY,GACZ,OAAO,GACP,+BAA+B,GAC/B,sBAAsB,GACtB,sBAAsB,GACtB,WAAW,GACX,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,gBAAgB,GAChB,oBAAoB,GACpB,yBAAyB,GACzB,wBAAwB,GACxB,0BAA0B,GAC1B,aAAa,GACb,aAAa,GACb,4BAA4B,GAC5B,cAAc,GACd,aAAa,GACb,KAAK,GACL,sBAAsB,GACtB,kBAAkB,GAClB,iBAAiB,GACjB,oBAAoB,GACpB,UAAU,GACV,eAAe,GACf,mBAAmB,GACnB,iBAAiB,GACjB,uCAAuC,GACvC,oCAAoC,GACpC,iCAAiC,GACjC,4BAA4B,GAC5B,iCAAiC,GACjC,8BAA8B,GAC9B,2BAA2B,GAC3B,8BAA8B,GAC9B,2BAA2B,GAC3B,wBAAwB,GACxB,mCAAmC,GACnC,WAAW,GACX,cAAc,GACd,sBAAsB,GACtB,gBAAgB,GAChB,uBAAuB,GACvB,yBAAyB,GACzB,uBAAuB,GACvB,WAAW,GACX,cAAc,GACd,iBAAiB,GACjB,0BAA0B,GAC1B,oBAAoB,GACpB,aAAa,GACb,uBAAuB,GACvB,wBAAwB,GACxB,yBAAyB,GACzB,sBAAsB,GACtB,eAAe,GACf,eAAe,GACf,wBAAwB,CAAC;AAE7B,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAC9C,IAAI,CAAC,iBAAiB,EAAE,4BAA4B,CAAC,CACtD,CAAC;AAEF,eAAO,MAAM,6BAA6B,EAAE,yBAkF3C,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { TypeColumn, TypeColumnFilterValueChangeArg, TypeComputedColumn, TypeDataGridProps, TypeFilterTypes, TypeFilterValue, TypeGetColumnByParam, TypeSortFunctions, TypeSortInfo } from '../../types.js';
|
|
2
|
+
import { InternalColumnVisibilityController } from '../internalProps.js';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type UseGridColumnApiParams = {
|
|
5
|
+
allComputedColumns: TypeComputedColumn[];
|
|
6
|
+
allInputColumns: TypeColumn[];
|
|
7
|
+
allowUnsort: boolean;
|
|
8
|
+
checkboxColId: string;
|
|
9
|
+
checkboxEnabled: boolean;
|
|
10
|
+
columnOrderForDs: string[];
|
|
11
|
+
columnVisibilityController: InternalColumnVisibilityController | undefined;
|
|
12
|
+
columnVisibilityMap: Record<string, boolean>;
|
|
13
|
+
defaultSortDir: 1 | -1;
|
|
14
|
+
filterTypes: TypeFilterTypes;
|
|
15
|
+
filterValue: TypeFilterValue;
|
|
16
|
+
inputColumns: TypeColumn[];
|
|
17
|
+
onColumnFilterValueChange: TypeDataGridProps["onColumnFilterValueChange"];
|
|
18
|
+
onColumnVisibleChange: TypeDataGridProps["onColumnVisibleChange"];
|
|
19
|
+
orderedColumns: TypeColumn[];
|
|
20
|
+
setColumnVisibilityState: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
|
|
21
|
+
setFilterValueAndResetPage: (next: TypeFilterValue) => void;
|
|
22
|
+
setSortInfoAndResetPage: (next: TypeSortInfo) => void;
|
|
23
|
+
sortFunctions: TypeSortFunctions | null;
|
|
24
|
+
sortInfo: TypeSortInfo;
|
|
25
|
+
table: {
|
|
26
|
+
setColumnOrder: (order: string[]) => void;
|
|
27
|
+
};
|
|
28
|
+
theme: TypeDataGridProps["theme"];
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Inovua-compatible per-column API: lookup, order, visibility, sorting and
|
|
32
|
+
* filtering. Extracted so this fan-out of callbacks stops anchoring the whole
|
|
33
|
+
* grid render scope.
|
|
34
|
+
*/
|
|
35
|
+
export declare function useGridColumnApi(params: UseGridColumnApiParams): {
|
|
36
|
+
clearColumnFilterCompat: (column: TypeGetColumnByParam) => void;
|
|
37
|
+
computedOnColumnFilterValueChangeCompat: (event: TypeColumnFilterValueChangeArg) => void;
|
|
38
|
+
getColumnByCompat: (column: TypeGetColumnByParam, config?: {
|
|
39
|
+
initial?: boolean;
|
|
40
|
+
}) => TypeComputedColumn | TypeColumn | undefined;
|
|
41
|
+
getColumnFilterValueCompat: (column: TypeGetColumnByParam) => import('../../types.js').TypeSingleFilterValue | undefined;
|
|
42
|
+
getColumnIdCompat: (column: TypeGetColumnByParam) => string | null;
|
|
43
|
+
setColumnFilterValueCompat: (column: TypeGetColumnByParam, value: unknown, operator?: string) => void;
|
|
44
|
+
setColumnOrderCompat: (next: string[]) => void;
|
|
45
|
+
setColumnSortInfoCompat: (column: TypeGetColumnByParam, dir: 1 | 0 | -1) => void;
|
|
46
|
+
setColumnVisibleById: (columnId: string, visible: boolean) => void;
|
|
47
|
+
setColumnVisibleCompat: (column: TypeGetColumnByParam, visible: boolean) => void;
|
|
48
|
+
toggleColumnSortCompat: (column: TypeGetColumnByParam) => void;
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=useGridColumnApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridColumnApi.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridColumnApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,8BAA8B,EAC9B,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACb,MAAM,aAAa,CAAC;AASrB,OAAO,EAGL,KAAK,kCAAkC,EACxC,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;IACzC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,0BAA0B,EAAE,kCAAkC,GAAG,SAAS,CAAC;IAC3E,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,WAAW,EAAE,eAAe,CAAC;IAC7B,WAAW,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,yBAAyB,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAC1E,qBAAqB,EAAE,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;IAClE,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,wBAAwB,EAAE,KAAK,CAAC,QAAQ,CACtC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAC9C,CAAC;IACF,0BAA0B,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,uBAAuB,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACtD,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE;QAAE,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;KAAE,CAAC;IACrD,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CACnC,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB;sCAkRlD,oBAAoB;qDAvPrB,8BAA8B;gCA0B5B,oBAAoB,WACnB;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC7B,kBAAkB,GAAG,UAAU,GAAG,SAAS;yCA2KrC,oBAAoB;gCAjIpB,oBAAoB,KAAG,MAAM,GAAG,IAAI;yCAyIpC,oBAAoB,SAAS,OAAO,aAAa,MAAM;iCAhMzD,MAAM,EAAE;sCA8IN,oBAAoB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;qCAjCnC,MAAM,WAAW,OAAO;qCArC1B,oBAAoB,WAAW,OAAO;qCAuFtC,oBAAoB;EAyHhC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ColumnDef } from '@tanstack/react-table';
|
|
2
|
+
import { TypeCheckboxColumn, TypeColumn } from '../../types.js';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type UseGridColumnDefsParams = {
|
|
5
|
+
allInputColumns: TypeColumn[];
|
|
6
|
+
checkboxColId: string;
|
|
7
|
+
checkboxColumnProp: TypeCheckboxColumn | undefined;
|
|
8
|
+
checkboxEnabled: boolean;
|
|
9
|
+
commitRowSelection: (rowIndex: number, options?: {
|
|
10
|
+
checked?: boolean;
|
|
11
|
+
ctrlKey?: boolean;
|
|
12
|
+
metaKey?: boolean;
|
|
13
|
+
shiftKey?: boolean;
|
|
14
|
+
fromCheckbox?: boolean;
|
|
15
|
+
}) => void;
|
|
16
|
+
computedColumnMaxWidth: number | null;
|
|
17
|
+
computedColumnMinWidth: number;
|
|
18
|
+
deselectAllRows: () => void;
|
|
19
|
+
disabledRowsRef: React.MutableRefObject<Record<number, boolean> | undefined | null>;
|
|
20
|
+
getRowKey: (row: any, index: number) => string;
|
|
21
|
+
lastPointerRef: React.MutableRefObject<{
|
|
22
|
+
shiftKey: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
multiSelect: boolean | undefined;
|
|
25
|
+
resizable: boolean;
|
|
26
|
+
rows: any[];
|
|
27
|
+
selectAllRows: () => void;
|
|
28
|
+
selectedMap: Record<string, any>;
|
|
29
|
+
selectionEnabled: boolean;
|
|
30
|
+
setActiveIndexCompat: (nextActiveIndex: number) => void;
|
|
31
|
+
sortable: boolean;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Builds the TanStack column definitions, including the checkbox column.
|
|
35
|
+
*
|
|
36
|
+
* The cell/header renderers are long-lived (TanStack caches them per column
|
|
37
|
+
* def), so they read live selection state through `selectionRuntimeRef` rather
|
|
38
|
+
* than capturing it. Owning that ref here keeps the whole arrangement out of
|
|
39
|
+
* the grid render scope.
|
|
40
|
+
*/
|
|
41
|
+
export declare function useGridColumnDefs(params: UseGridColumnDefsParams): ColumnDef<any, any>[];
|
|
42
|
+
//# sourceMappingURL=useGridColumnDefs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridColumnDefs.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridColumnDefs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EACV,kBAAkB,EAElB,UAAU,EACX,MAAM,aAAa,CAAC;AAKrB,MAAM,MAAM,uBAAuB,GAAG;IACpC,eAAe,EAAE,UAAU,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACnD,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,CAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,KACE,IAAI,CAAC;IACV,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,eAAe,EAAE,KAAK,CAAC,gBAAgB,CACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,IAAI,CAC3C,CAAC;IACF,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,cAAc,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAAE,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC9D,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,IAAI,CAAC;IACxD,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,yBA2ShE"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { TypeColumn, TypeDataGridProps } from '../../types.js';
|
|
2
|
+
import { GroupHeaderRenderItem, TypeColumnGroupHeaderRenderItem } from '../utils/columnGroups.js';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type GridColumnResizeEntry = {
|
|
5
|
+
column: TypeColumn;
|
|
6
|
+
width?: number;
|
|
7
|
+
flex?: number;
|
|
8
|
+
};
|
|
9
|
+
export type UseGridColumnResizeParams = {
|
|
10
|
+
autosizeSample: any[];
|
|
11
|
+
columnGroupHeaderRows: readonly TypeColumnGroupHeaderRenderItem[][];
|
|
12
|
+
columnWidths: Readonly<Record<string, number>>;
|
|
13
|
+
computedColumnDefaultWidth: number;
|
|
14
|
+
computedColumnMaxWidth: number | null;
|
|
15
|
+
computedColumnMinWidth: number;
|
|
16
|
+
flexWeights: Readonly<Record<string, number>>;
|
|
17
|
+
hasManualColumnWidths: boolean;
|
|
18
|
+
headerScrollRef: React.RefObject<HTMLDivElement | null>;
|
|
19
|
+
liveColumnResize: boolean;
|
|
20
|
+
mobileTransformActive: boolean;
|
|
21
|
+
onBatchColumnResize: TypeDataGridProps["onBatchColumnResize"];
|
|
22
|
+
onColumnResize: TypeDataGridProps["onColumnResize"];
|
|
23
|
+
orderedColumns: readonly TypeColumn[];
|
|
24
|
+
renderedColumnLayout: readonly {
|
|
25
|
+
id: string;
|
|
26
|
+
width: number;
|
|
27
|
+
}[];
|
|
28
|
+
reservedViewportWidthRef: React.MutableRefObject<number>;
|
|
29
|
+
resizable: boolean;
|
|
30
|
+
rtl: boolean;
|
|
31
|
+
scrollRef: React.RefObject<HTMLDivElement | null>;
|
|
32
|
+
setManualColumnFlexes: React.Dispatch<React.SetStateAction<Record<string, number | null>>>;
|
|
33
|
+
setManualColumnWidths: React.Dispatch<React.SetStateAction<Record<string, number>>>;
|
|
34
|
+
setReservedViewportWidth: React.Dispatch<React.SetStateAction<number>>;
|
|
35
|
+
shareSpaceOnResize: boolean;
|
|
36
|
+
showColumnMenuTool: boolean;
|
|
37
|
+
showHeader: boolean;
|
|
38
|
+
skipHeaderOnAutoSize: boolean;
|
|
39
|
+
surfaceRef: React.RefObject<HTMLDivElement | null>;
|
|
40
|
+
tableMinWidth: number | undefined;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Owns every column/group resize gesture. Keeping the pointer sessions, the
|
|
44
|
+
* live preview scheduling and the width commit paths in this module means the
|
|
45
|
+
* long-lived listener closures capture this hook's parameters instead of the
|
|
46
|
+
* whole `ReactDataGrid` render scope.
|
|
47
|
+
*/
|
|
48
|
+
export declare function useGridColumnResize(params: UseGridColumnResizeParams): {
|
|
49
|
+
autosizeColumn: (columnId: string) => void;
|
|
50
|
+
commitColumnPixelResize: (column: TypeColumn, requestedWidth: number) => void;
|
|
51
|
+
commitColumnResizeEntries: (entries: {
|
|
52
|
+
column: TypeColumn;
|
|
53
|
+
width?: number;
|
|
54
|
+
flex?: number;
|
|
55
|
+
}[], nextReservedViewportWidth?: number) => void;
|
|
56
|
+
resizeColumnBy: (columnId: string, diff: number) => void;
|
|
57
|
+
resizeGroupBy: (item: GroupHeaderRenderItem, diff: number) => void;
|
|
58
|
+
resizeProxyElementRef: React.RefObject<HTMLDivElement | null>;
|
|
59
|
+
resizeProxyLeft: number | null;
|
|
60
|
+
resizingColumnId: string | null;
|
|
61
|
+
resizingGroupKey: string | null;
|
|
62
|
+
startColumnResize: (event: React.MouseEvent<HTMLElement> | React.PointerEvent<HTMLElement>, columnId: string) => void;
|
|
63
|
+
startGroupResize: (event: React.MouseEvent<HTMLElement> | React.PointerEvent<HTMLElement>, item: GroupHeaderRenderItem) => void;
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=useGridColumnResize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridColumnResize.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridColumnResize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGjE,OAAO,EAGL,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACrC,MAAM,uBAAuB,CAAC;AAe/B,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,qBAAqB,EAAE,SAAS,+BAA+B,EAAE,EAAE,CAAC;IACpE,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,EAAE,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC9D,cAAc,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,cAAc,EAAE,SAAS,UAAU,EAAE,CAAC;IACtC,oBAAoB,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,wBAAwB,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CACpD,CAAC;IACF,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC7C,CAAC;IACF,wBAAwB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB;+BA2mBtD,MAAM;sCAnQR,UAAU,kBAAkB,MAAM;yCA9JhC;QACP,MAAM,EAAE,UAAU,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,EAAE;+BAsUM,MAAM,QAAQ,MAAM;0BA+DxB,qBAAqB,QAAQ,MAAM;;;;;+BAwUjC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,YAC5D,MAAM;8BApOT,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,QAChE,qBAAqB;EAolBhC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { TypeColumn } from '../../types.js';
|
|
2
|
+
import { GridColumnResizeEntry } from './useGridColumnResize.js';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type UseGridColumnSizingApiParams = {
|
|
5
|
+
autosizeSample: any[];
|
|
6
|
+
columnLayout: readonly {
|
|
7
|
+
id: string;
|
|
8
|
+
width: number;
|
|
9
|
+
}[];
|
|
10
|
+
columnViewportWidth: number;
|
|
11
|
+
columnWidths: Readonly<Record<string, number>>;
|
|
12
|
+
commitColumnResizeEntries: (entries: GridColumnResizeEntry[], nextReservedViewportWidth?: number) => void;
|
|
13
|
+
computedColumnDefaultWidth: number;
|
|
14
|
+
computedColumnMaxWidth: number | null;
|
|
15
|
+
computedColumnMinWidth: number;
|
|
16
|
+
flexWeights: Readonly<Record<string, number>>;
|
|
17
|
+
manualColumnFlexes: Record<string, number | null>;
|
|
18
|
+
orderedColumns: TypeColumn[];
|
|
19
|
+
setManualColumnFlexes: React.Dispatch<React.SetStateAction<Record<string, number | null>>>;
|
|
20
|
+
setManualColumnWidths: React.Dispatch<React.SetStateAction<Record<string, number>>>;
|
|
21
|
+
skipHeaderOnAutoSize: boolean;
|
|
22
|
+
};
|
|
23
|
+
/** The imperative column sizing API (setColumnSizes/Flexes/Auto/ToFit). */
|
|
24
|
+
export declare function useGridColumnSizingApi(params: UseGridColumnSizingApiParams): {
|
|
25
|
+
columnFlexes: Record<string, number>;
|
|
26
|
+
columnSizes: Record<string, number>;
|
|
27
|
+
setColumnSizeAutoCompat: (columnId: string, skipHeader?: boolean) => void;
|
|
28
|
+
setColumnSizesCompat: React.Dispatch<React.SetStateAction<Record<string, number>>>;
|
|
29
|
+
setColumnFlexesCompat: React.Dispatch<React.SetStateAction<Record<string, number | null>>>;
|
|
30
|
+
setColumnSizesToFitCompat: () => void;
|
|
31
|
+
setColumnsSizesAutoCompat: (config?: {
|
|
32
|
+
columnIds?: string[];
|
|
33
|
+
skipHeader?: boolean;
|
|
34
|
+
skipSortTool?: boolean;
|
|
35
|
+
}) => void;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=useGridColumnSizingApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridColumnSizingApi.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridColumnSizingApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ9C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,MAAM,4BAA4B,GAAG;IACzC,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,YAAY,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,yBAAyB,EAAE,CACzB,OAAO,EAAE,qBAAqB,EAAE,EAChC,yBAAyB,CAAC,EAAE,MAAM,KAC/B,IAAI,CAAC;IACV,0BAA0B,EAAE,MAAM,CAAC;IACnC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CACpD,CAAC;IACF,qBAAqB,EAAE,KAAK,CAAC,QAAQ,CACnC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAC7C,CAAC;IACF,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,4BAA4B;;;wCAoJ5D,MAAM,eAAe,OAAO;;;;yCAxC7B;QACR,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB;EA6IJ"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { TypeColumn, TypeColumnContextMenuProps, TypeComputedProps, TypeDataGridProps, TypeGetColumnByParam, TypeRowContextMenuProps, TypeSortInfo } from '../../types.js';
|
|
2
|
+
import { OpenColumnContextMenu, OpenRowContextMenu } from '../internalProps.js';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type UseGridContextMenuLayersParams = {
|
|
5
|
+
allowUnsort: boolean;
|
|
6
|
+
apiRef: React.MutableRefObject<TypeComputedProps | null>;
|
|
7
|
+
autosizeColumn: (columnId: string) => void;
|
|
8
|
+
checkboxColId: string;
|
|
9
|
+
checkboxEnabled: boolean;
|
|
10
|
+
columnContextMenu: OpenColumnContextMenu | null;
|
|
11
|
+
columnContextMenuAlignPositions: TypeDataGridProps["columnContextMenuAlignPositions"];
|
|
12
|
+
columnContextMenuConstrainTo: TypeDataGridProps["columnContextMenuConstrainTo"];
|
|
13
|
+
columnContextMenuPosition: NonNullable<TypeDataGridProps["columnContextMenuPosition"]>;
|
|
14
|
+
columnVisibilityMap: Record<string, boolean>;
|
|
15
|
+
effectiveEnableFiltering: boolean;
|
|
16
|
+
enableColumnAutosize: boolean;
|
|
17
|
+
enableFiltering: boolean | undefined;
|
|
18
|
+
groupedColumns: TypeColumn[];
|
|
19
|
+
hideColumnContextMenu: () => void;
|
|
20
|
+
hideRowContextMenu: () => void;
|
|
21
|
+
i18n: TypeDataGridProps["i18n"];
|
|
22
|
+
nativeScroll: boolean;
|
|
23
|
+
renderColumnContextMenu: TypeDataGridProps["renderColumnContextMenu"];
|
|
24
|
+
renderRowContextMenu: TypeDataGridProps["renderRowContextMenu"];
|
|
25
|
+
rowContextMenu: OpenRowContextMenu | null;
|
|
26
|
+
rowContextMenuAlignPositions: TypeDataGridProps["rowContextMenuAlignPositions"];
|
|
27
|
+
rowContextMenuConstrainTo: TypeDataGridProps["rowContextMenuConstrainTo"];
|
|
28
|
+
rowContextMenuPosition: NonNullable<TypeDataGridProps["rowContextMenuPosition"]>;
|
|
29
|
+
rtl: boolean;
|
|
30
|
+
setColumnSizesToFitCompat: () => void;
|
|
31
|
+
setColumnSortInfoCompat: (column: TypeGetColumnByParam, dir: 1 | 0 | -1) => void;
|
|
32
|
+
setColumnVisibleById: (columnId: string, visible: boolean) => void;
|
|
33
|
+
setColumnsSizesAutoCompat: (config?: {
|
|
34
|
+
columnIds?: string[];
|
|
35
|
+
skipHeader?: boolean;
|
|
36
|
+
skipSortTool?: boolean;
|
|
37
|
+
}) => void;
|
|
38
|
+
setEnableFilteringCompat: (next: boolean) => void;
|
|
39
|
+
sortInfo: TypeSortInfo;
|
|
40
|
+
sortable: boolean;
|
|
41
|
+
stableApi: TypeComputedProps;
|
|
42
|
+
themeName: string;
|
|
43
|
+
updateMenuPositionOnScroll: boolean;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Derives the column/row context menu render props and their default item
|
|
47
|
+
* lists from the currently open menu.
|
|
48
|
+
*/
|
|
49
|
+
export declare function useGridContextMenuLayers(params: UseGridContextMenuLayersParams): {
|
|
50
|
+
columnMenuProps: TypeColumnContextMenuProps | null;
|
|
51
|
+
contextMenuCanSort: boolean;
|
|
52
|
+
contextMenuCanUnsort: boolean;
|
|
53
|
+
contextMenuColumnId: string | undefined;
|
|
54
|
+
renderedColumnContextMenu: React.ReactNode;
|
|
55
|
+
renderedRowContextMenu: React.ReactNode;
|
|
56
|
+
rowMenuProps: TypeRowContextMenuProps | null;
|
|
57
|
+
showColumnMenuLayer: boolean;
|
|
58
|
+
showRowMenuLayer: boolean;
|
|
59
|
+
visibleColumnCount: number;
|
|
60
|
+
};
|
|
61
|
+
//# sourceMappingURL=useGridContextMenuLayers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridContextMenuLayers.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridContextMenuLayers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACb,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,8BAA8B,GAAG;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACzD,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,+BAA+B,EAAE,iBAAiB,CAAC,iCAAiC,CAAC,CAAC;IACtF,4BAA4B,EAAE,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;IAChF,yBAAyB,EAAE,WAAW,CACpC,iBAAiB,CAAC,2BAA2B,CAAC,CAC/C,CAAC;IACF,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,wBAAwB,EAAE,OAAO,CAAC;IAClC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,qBAAqB,EAAE,MAAM,IAAI,CAAC;IAClC,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAC/B,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,uBAAuB,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,CAAC;IACtE,oBAAoB,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IAChE,cAAc,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC1C,4BAA4B,EAAE,iBAAiB,CAAC,8BAA8B,CAAC,CAAC;IAChF,yBAAyB,EAAE,iBAAiB,CAAC,2BAA2B,CAAC,CAAC;IAC1E,sBAAsB,EAAE,WAAW,CACjC,iBAAiB,CAAC,wBAAwB,CAAC,CAC5C,CAAC;IACF,GAAG,EAAE,OAAO,CAAC;IACb,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,uBAAuB,EAAE,CACvB,MAAM,EAAE,oBAAoB,EAC5B,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KACZ,IAAI,CAAC;IACV,oBAAoB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACnE,yBAAyB,EAAE,CAAC,MAAM,CAAC,EAAE;QACnC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,KAAK,IAAI,CAAC;IACX,wBAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,0BAA0B,EAAE,OAAO,CAAC;CACrC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,8BAA8B;;;;;;;;;;;EAmPvC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { TypeCellProps, TypeDataGridProps, TypeRowProps } from '../../types.js';
|
|
2
|
+
import { OpenColumnContextMenu, OpenRowContextMenu } from '../internalProps.js';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type UseGridContextMenusParams = {
|
|
5
|
+
onRowContextMenu: TypeDataGridProps["onRowContextMenu"];
|
|
6
|
+
renderRowContextMenu: TypeDataGridProps["renderRowContextMenu"];
|
|
7
|
+
surfaceRef: React.RefObject<HTMLDivElement | null>;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Open/close state for the column, row and column-filter context menus. The
|
|
11
|
+
* `onHide` callbacks supplied by consumers outlive the render that opened the
|
|
12
|
+
* menu, so they are held in refs inside this module rather than in the grid
|
|
13
|
+
* render scope.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useGridContextMenus(params: UseGridContextMenusParams): {
|
|
16
|
+
columnContextMenu: OpenColumnContextMenu | null;
|
|
17
|
+
filterContextMenuOnHideRef: React.RefObject<(() => void) | null>;
|
|
18
|
+
setColumnContextMenu: React.Dispatch<React.SetStateAction<OpenColumnContextMenu | null>>;
|
|
19
|
+
setOpenFilterMenuColId: React.Dispatch<React.SetStateAction<string | null>>;
|
|
20
|
+
setRowContextMenu: React.Dispatch<React.SetStateAction<OpenRowContextMenu | null>>;
|
|
21
|
+
columnVisibilityMenuOpen: boolean;
|
|
22
|
+
handleUiRowContextMenu: (rowProps: TypeRowProps, cellProps: TypeCellProps | undefined, event: React.MouseEvent<HTMLElement> | React.KeyboardEvent<HTMLElement> | React.PointerEvent<HTMLElement>, alignTo: HTMLElement | {
|
|
23
|
+
left: number;
|
|
24
|
+
top: number;
|
|
25
|
+
}) => void;
|
|
26
|
+
hideColumnContextMenu: () => void;
|
|
27
|
+
hideColumnFilterContextMenu: () => void;
|
|
28
|
+
hideRowContextMenu: () => void;
|
|
29
|
+
openFilterMenuColId: string | null;
|
|
30
|
+
rowContextMenu: OpenRowContextMenu | null;
|
|
31
|
+
setColumnVisibilityMenuOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
32
|
+
setOpenFilterContextMenuColumn: (columnId: string | null) => void;
|
|
33
|
+
showColumnContextMenu: (alignTo: HTMLElement | {
|
|
34
|
+
left: number;
|
|
35
|
+
top: number;
|
|
36
|
+
}, cellProps: TypeCellProps, _config?: {
|
|
37
|
+
computedVisibleIndex?: number;
|
|
38
|
+
}, onHide?: () => void, restoreFocusTo?: HTMLElement | null) => void;
|
|
39
|
+
showRowContextMenu: (alignTo: HTMLElement | {
|
|
40
|
+
left: number;
|
|
41
|
+
top: number;
|
|
42
|
+
}, rowProps: TypeRowProps, cellProps?: TypeCellProps, onHide?: () => void, restoreFocusTo?: HTMLElement | null) => void;
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=useGridContextMenus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridContextMenus.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridContextMenus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,yBAAyB,GAAG;IACtC,gBAAgB,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACxD,oBAAoB,EAAE,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;IAChE,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,yBAAyB;;uDAMZ,IAAI;;;;;uCA6G7C,YAAY,aACX,aAAa,GAAG,SAAS,SAEhC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAC7B,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,GAChC,KAAK,CAAC,YAAY,CAAC,WAAW,CAAC,WAC1B,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;;;;;;;+CA3G3C,MAAM,GAAG,IAAI;qCAuCb,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,aACzC,aAAa,YACd;QAAE,oBAAoB,CAAC,EAAE,MAAM,CAAA;KAAE,WAClC,MAAM,IAAI,mBACF,WAAW,GAAG,IAAI;kCA2B1B,WAAW,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,YAC1C,YAAY,cACV,aAAa,WAChB,MAAM,IAAI,mBACF,WAAW,GAAG,IAAI;EA4ExC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { TypeColumn, TypeComputedProps, TypeDataGridProps, TypeFilterTypes, TypeFilterValue, TypeSortFunctions, TypeSortInfo } from '../../types.js';
|
|
2
|
+
import { InternalSearchController } from '../internalProps.js';
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
export type UseGridDataLoaderParams = {
|
|
5
|
+
activeLocalFilter: boolean;
|
|
6
|
+
apiRef: React.MutableRefObject<TypeComputedProps | null>;
|
|
7
|
+
checkboxColId: string;
|
|
8
|
+
checkboxEnabled: boolean;
|
|
9
|
+
controlledLoading: boolean | undefined;
|
|
10
|
+
dataSource: TypeDataGridProps["dataSource"];
|
|
11
|
+
draftFilterValue: TypeFilterValue;
|
|
12
|
+
effectiveColumnOrder: string[];
|
|
13
|
+
filterTypes: TypeFilterTypes;
|
|
14
|
+
filterValue: TypeFilterValue;
|
|
15
|
+
idProperty: string;
|
|
16
|
+
inputColumns: TypeColumn[];
|
|
17
|
+
limit: number;
|
|
18
|
+
loadAbortControllerRef: React.MutableRefObject<AbortController | null>;
|
|
19
|
+
loadRequestIdRef: React.MutableRefObject<number>;
|
|
20
|
+
loadSkip: number;
|
|
21
|
+
localFilterValue: TypeFilterValue | null;
|
|
22
|
+
localPagination: boolean;
|
|
23
|
+
localSortInfo: TypeSortInfo | null;
|
|
24
|
+
notifyFilteredRowsCount: (count: number) => void;
|
|
25
|
+
orderedColumns: TypeColumn[];
|
|
26
|
+
paginationMode: TypeDataGridProps["pagination"];
|
|
27
|
+
remoteDataSource: boolean;
|
|
28
|
+
remotePagination: boolean;
|
|
29
|
+
searchActive: boolean;
|
|
30
|
+
searchConnected: boolean;
|
|
31
|
+
searchFilterRows: InternalSearchController["filterRows"] | undefined;
|
|
32
|
+
searchValue: string;
|
|
33
|
+
setCount: React.Dispatch<React.SetStateAction<number>>;
|
|
34
|
+
setFilterValue: (next: TypeFilterValue) => void;
|
|
35
|
+
setRows: React.Dispatch<React.SetStateAction<any[]>>;
|
|
36
|
+
sortFunctions: TypeSortFunctions | null;
|
|
37
|
+
sortInfo: TypeSortInfo;
|
|
38
|
+
themeName: string;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Owns everything that fetches or recomputes `rows`: the loading store, the
|
|
42
|
+
* data-source request, and the debounced filter commit that retriggers it.
|
|
43
|
+
*
|
|
44
|
+
* This is the closure most implicated in the retained-rows growth, so it lives
|
|
45
|
+
* in its own module: a memoised `loadData`/`reload` from an older render now
|
|
46
|
+
* only keeps this hook's parameters alive instead of the entire grid render
|
|
47
|
+
* scope (and, transitively, every other stale callback in it).
|
|
48
|
+
*/
|
|
49
|
+
export declare function useGridDataLoader(params: UseGridDataLoaderParams): {
|
|
50
|
+
columnOrderForDs: string[];
|
|
51
|
+
controlledLoadingRef: React.RefObject<boolean | undefined>;
|
|
52
|
+
loading: boolean;
|
|
53
|
+
loadingStore: import('../utils/loadingStore.js').LoadingStore;
|
|
54
|
+
reload: () => void;
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=useGridDataLoader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridDataLoader.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridDataLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EAEjB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,YAAY,EACb,MAAM,aAAa,CAAC;AASrB,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAgCjE,MAAM,MAAM,uBAAuB,GAAG;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,EAAE,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,gBAAgB,EAAE,eAAe,CAAC;IAClC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,WAAW,EAAE,eAAe,CAAC;IAC7B,WAAW,EAAE,eAAe,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,sBAAsB,EAAE,KAAK,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IACvE,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,uBAAuB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAChD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,wBAAwB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACrD,aAAa,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,YAAY,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB;;;;;;EA2XhE"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Row } from '@tanstack/react-table';
|
|
2
|
+
import { TypeCancelEditArgs, TypeColumn, TypeCompleteEditArgs, TypeDataGridProps, TypeEditInfo, TypeStartEditArgs, TypeTryStartEditArgs } from '../../types.js';
|
|
3
|
+
import { GridCellEditStartArgs, GridEditingCell, GridEditNavigation } from '../components/GridBody.js';
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
/** Only the virtualizer surface this hook needs; keeps the param type narrow. */
|
|
6
|
+
type EditRowScroller = {
|
|
7
|
+
scrollToIndex: (index: number, options?: {
|
|
8
|
+
align?: "start" | "center" | "end" | "auto";
|
|
9
|
+
}) => void;
|
|
10
|
+
};
|
|
11
|
+
export type UseGridEditingParams = {
|
|
12
|
+
autoFocusOnEditComplete: boolean;
|
|
13
|
+
autoFocusOnEditEscape: boolean;
|
|
14
|
+
columnWidths: Readonly<Record<string, number>>;
|
|
15
|
+
computedMinRowHeight: number;
|
|
16
|
+
computedVirtualizeColumns: boolean;
|
|
17
|
+
editStartEvent: string;
|
|
18
|
+
editable: boolean;
|
|
19
|
+
getDisabledRowState: (rowIndex: number) => boolean | null | undefined;
|
|
20
|
+
idProperty: string;
|
|
21
|
+
loadSkip: number;
|
|
22
|
+
multiSelect: boolean | undefined;
|
|
23
|
+
onEditCancel: TypeDataGridProps["onEditCancel"];
|
|
24
|
+
onEditComplete: TypeDataGridProps["onEditComplete"];
|
|
25
|
+
onEditStart: TypeDataGridProps["onEditStart"];
|
|
26
|
+
onEditStop: TypeDataGridProps["onEditStop"];
|
|
27
|
+
onEditValueChange: TypeDataGridProps["onEditValueChange"];
|
|
28
|
+
orderedColumns: TypeColumn[];
|
|
29
|
+
resolveRowHeight: (rowIndex: number) => number;
|
|
30
|
+
rowHeight: number | ((rowIndex: number) => number) | null | undefined;
|
|
31
|
+
rowModel: Row<any>[];
|
|
32
|
+
rowVirtualizer: EditRowScroller;
|
|
33
|
+
rowsCount: number;
|
|
34
|
+
selected: unknown;
|
|
35
|
+
selectedMap: Readonly<Record<string, boolean>>;
|
|
36
|
+
surfaceRef: React.RefObject<HTMLDivElement | null>;
|
|
37
|
+
themeName: string;
|
|
38
|
+
virtualized: boolean;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Owns the cell edit session: lifecycle callbacks, coordinate reconciliation
|
|
42
|
+
* and the Inovua-compatible imperative edit API. Isolating it here keeps the
|
|
43
|
+
* long-lived edit closures (promises, timeouts, editor callbacks) from
|
|
44
|
+
* capturing the whole `ReactDataGrid` render scope.
|
|
45
|
+
*/
|
|
46
|
+
export declare function useGridEditing(params: UseGridEditingParams): {
|
|
47
|
+
cancelEditCompat: (args?: TypeCancelEditArgs) => void;
|
|
48
|
+
completeEditCompat: (args?: TypeCompleteEditArgs) => void;
|
|
49
|
+
coordinateEditingCell: GridEditingCell | null;
|
|
50
|
+
currentEditCompletePromiseRef: React.RefObject<Promise<unknown>>;
|
|
51
|
+
editCellNodesRef: React.RefObject<Map<string, HTMLTableCellElement>>;
|
|
52
|
+
editingCell: GridEditingCell | null;
|
|
53
|
+
getCurrentEditInfoCompat: () => TypeEditInfo | null;
|
|
54
|
+
handleEditCancel: (targetCell?: GridEditingCell) => void;
|
|
55
|
+
handleEditComplete: (navigation?: GridEditNavigation, value?: unknown, targetCell?: GridEditingCell) => Promise<void>;
|
|
56
|
+
handleEditStop: (navigation?: GridEditNavigation, value?: unknown) => Promise<void>;
|
|
57
|
+
handleEditValueChange: (value: unknown) => void;
|
|
58
|
+
handleUiCellEditStart: (args: GridCellEditStartArgs) => Promise<boolean>;
|
|
59
|
+
isInEditRef: React.RefObject<boolean>;
|
|
60
|
+
startEditCompat: (args: TypeStartEditArgs) => Promise<any>;
|
|
61
|
+
tryStartEditCompat: (args: TypeTryStartEditArgs) => Promise<any>;
|
|
62
|
+
};
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=useGridEditing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGridEditing.d.ts","sourceRoot":"","sources":["../../../src/grid/hooks/useGridEditing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAEjD,OAAO,KAAK,EACV,kBAAkB,EAClB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EACnB,MAAM,wBAAwB,CAAC;AAEhC,iFAAiF;AACjF,KAAK,eAAe,GAAG;IACrB,aAAa,EAAE,CACb,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;KAAE,KACtD,IAAI,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,uBAAuB,EAAE,OAAO,CAAC;IACjC,qBAAqB,EAAE,OAAO,CAAC;IAC/B,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,OAAO,CAAC;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,OAAO,CAAC;IAClB,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IACtE,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,YAAY,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IAChD,cAAc,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACpD,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC9C,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IAC1D,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/C,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;IACtE,QAAQ,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,cAAc,EAAE,eAAe,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,oBAAoB;8BA03B/C,kBAAkB,KAAG,IAAI;gCAnFzB,oBAAoB,KAAG,IAAI;;;;;oCA4Hb,YAAY,GAAG,IAAI;oCAvR3B,eAAe;sCAlId,kBAAkB,UACvB,OAAO,eACF,eAAe;kCAyFV,kBAAkB,UAAU,OAAO;mCArH/C,OAAO;kCA7TR,qBAAqB;;4BA0hBf,iBAAiB,KAAG,OAAO,CAAC,GAAG,CAAC;+BAqChC,oBAAoB,KAAG,OAAO,CAAC,GAAG,CAAC;EAsMnD"}
|