@deephaven/iris-grid 0.81.3-beta.0 → 0.81.3-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/IrisGrid.d.ts +3 -1
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +9 -2
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridModel.d.ts +4 -0
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +8 -0
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +1 -0
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +3 -0
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +8 -6
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +11 -6
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +13 -10
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/LazyIrisGrid.d.ts +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/package.json +15 -15
- package/dist/TableViewportUpdater.d.ts +0 -49
- package/dist/TableViewportUpdater.d.ts.map +0 -1
- package/dist/TableViewportUpdater.js +0 -161
- package/dist/TableViewportUpdater.js.map +0 -1
- package/dist/TreeTableViewportUpdater.d.ts +0 -37
- package/dist/TreeTableViewportUpdater.d.ts.map +0 -1
- package/dist/TreeTableViewportUpdater.js +0 -96
- package/dist/TreeTableViewportUpdater.js.map +0 -1
package/dist/LazyIrisGrid.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type IrisGridType from './IrisGrid';
|
|
3
3
|
import type { IrisGridProps } from './IrisGrid';
|
|
4
|
-
declare const LazyIrisGrid: import("react").ForwardRefExoticComponent<Pick<IrisGridProps, "model" | "columnHeaderGroups"> & Partial<Pick<IrisGridProps, "name" | "children" | "settings" | "onError" | "onContextMenu" | "isStuckToBottom" | "theme" | "customColumns" | "pendingDataMap" | "movedColumns" | "userColumnWidths" | "movedRows" | "isStuckToRight" | "advancedFilters" | "advancedSettings" | "alwaysFetchColumns" | "isFilterBarShown" | "applyInputFiltersOnInit" | "conditionalFormats" | "customColumnFormatMap" | "inputFilters" | "customFilters" | "onCreateChart" | "onColumnSelected" | "onDataSelected" | "onStateChange" | "onAdvancedSettingsChange" | "partitions" | "partitionConfig" | "sorts" | "reverseType" | "quickFilters" | "selectDistinctColumns" | "userRowHeights" | "onSelectionChanged" | "rollupConfig" | "aggregationSettings" | "isSelectingColumn" | "isSelectingPartition" | "columnSelectionValidator" | "columnAllowedCursor" | "columnNotAllowedCursor" | "copyCursor" | "onlyFetchVisibleColumns" | "showSearchBar" | "searchValue" | "selectedSearchColumns" | "invertSearchColumns" | "getDownloadWorker" | "canCopy" | "canDownloadCsv" | "frozenColumns" | "canToggleSearch" | "keyHandlers" | "mouseHandlers">> & Partial<Pick<{
|
|
4
|
+
declare const LazyIrisGrid: import("react").ForwardRefExoticComponent<Pick<IrisGridProps, "model" | "columnHeaderGroups" | "renderer"> & Partial<Pick<IrisGridProps, "name" | "children" | "settings" | "onError" | "onContextMenu" | "isStuckToBottom" | "theme" | "customColumns" | "pendingDataMap" | "movedColumns" | "userColumnWidths" | "movedRows" | "isStuckToRight" | "advancedFilters" | "advancedSettings" | "alwaysFetchColumns" | "isFilterBarShown" | "applyInputFiltersOnInit" | "conditionalFormats" | "customColumnFormatMap" | "inputFilters" | "customFilters" | "onCreateChart" | "onColumnSelected" | "onDataSelected" | "onStateChange" | "onAdvancedSettingsChange" | "partitions" | "partitionConfig" | "sorts" | "reverseType" | "quickFilters" | "selectDistinctColumns" | "userRowHeights" | "onSelectionChanged" | "rollupConfig" | "aggregationSettings" | "isSelectingColumn" | "isSelectingPartition" | "columnSelectionValidator" | "columnAllowedCursor" | "columnNotAllowedCursor" | "copyCursor" | "onlyFetchVisibleColumns" | "showSearchBar" | "searchValue" | "selectedSearchColumns" | "invertSearchColumns" | "getDownloadWorker" | "canCopy" | "canDownloadCsv" | "frozenColumns" | "canToggleSearch" | "keyHandlers" | "mouseHandlers">> & Partial<Pick<{
|
|
5
5
|
children: null;
|
|
6
6
|
advancedFilters: ReadonlyMap<never, never>;
|
|
7
7
|
advancedSettings: ReadonlyMap<never, never>;
|
package/dist/index.d.ts
CHANGED
|
@@ -26,6 +26,4 @@ export { default as IrisGridUtils } from './IrisGridUtils';
|
|
|
26
26
|
export * from './IrisGridUtils';
|
|
27
27
|
export * from './IrisGridMetricCalculator';
|
|
28
28
|
export * from './IrisGridRenderer';
|
|
29
|
-
export { default as TableViewportUpdater } from './TableViewportUpdater';
|
|
30
|
-
export { default as TreeTableViewportUpdater } from './TreeTableViewportUpdater';
|
|
31
29
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,eAAe,QAAQ,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,cAAc,yBAAyB,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,cAAc,iBAAiB,CAAC;AAChC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -24,6 +24,4 @@ export { default as IrisGridUtils } from "./IrisGridUtils.js";
|
|
|
24
24
|
export * from "./IrisGridUtils.js";
|
|
25
25
|
export * from "./IrisGridMetricCalculator.js";
|
|
26
26
|
export * from "./IrisGridRenderer.js";
|
|
27
|
-
export { default as TableViewportUpdater } from "./TableViewportUpdater.js";
|
|
28
|
-
export { default as TreeTableViewportUpdater } from "./TreeTableViewportUpdater.js";
|
|
29
27
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["IrisGrid","default","ColumnHeaderGroup","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","createDefaultIrisGridTheme","IrisGridTestUtils","IrisGridUtils"
|
|
1
|
+
{"version":3,"file":"index.js","names":["IrisGrid","default","ColumnHeaderGroup","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","createDefaultIrisGridTheme","IrisGridTestUtils","IrisGridUtils"],"sources":["../src/index.ts"],"sourcesContent":["import IrisGrid from './LazyIrisGrid';\n\nexport default IrisGrid;\nexport { IrisGrid };\nexport * from './sidebar';\nexport * from './AdvancedFilterCreator';\nexport * from './CommonTypes';\nexport { default as ColumnHeaderGroup } from './ColumnHeaderGroup';\nexport * from './PartitionedGridModel';\nexport * from './IrisGrid';\nexport type { default as IrisGridType } from './IrisGrid';\nexport { default as SHORTCUTS } from './IrisGridShortcuts';\nexport { default as IrisGridModel } from './IrisGridModel';\nexport { default as IrisGridTableModel } from './IrisGridTableModel';\nexport * from './IrisGridTableModel';\nexport { default as IrisGridPartitionedTableModel } from './IrisGridPartitionedTableModel';\nexport { default as IrisGridTreeTableModel } from './IrisGridTreeTableModel';\nexport { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nexport * from './IrisGridTreeTableModel';\nexport * from './IrisGridTableModelTemplate';\nexport { default as IrisGridModelFactory } from './IrisGridModelFactory';\nexport { createDefaultIrisGridTheme } from './IrisGridTheme';\nexport type { IrisGridThemeType } from './IrisGridTheme';\nexport * from './IrisGridThemeProvider';\nexport { default as IrisGridTestUtils } from './IrisGridTestUtils';\nexport { default as IrisGridUtils } from './IrisGridUtils';\nexport * from './IrisGridUtils';\nexport * from './IrisGridMetricCalculator';\nexport * from './IrisGridRenderer';\n"],"mappings":"OAAOA,QAAQ;AAEf,eAAeA,QAAQ;AACvB,SAASA,QAAQ;AAAG;AAAA;AAAA;AAAA,SAIXC,OAAO,IAAIC,iBAAiB;AAAA;AAAA;AAAA,SAI5BD,OAAO,IAAIE,SAAS;AAAA,SACpBF,OAAO,IAAIG,aAAa;AAAA,SACxBH,OAAO,IAAII,kBAAkB;AAAA;AAAA,SAE7BJ,OAAO,IAAIK,6BAA6B;AAAA,SACxCL,OAAO,IAAIM,sBAAsB;AAAA,SACjCN,OAAO,IAAIO,0BAA0B;AAAA;AAAA;AAAA,SAGrCP,OAAO,IAAIQ,oBAAoB;AAAA,SAC/BC,0BAA0B;AAAA;AAAA,SAG1BT,OAAO,IAAIU,iBAAiB;AAAA,SAC5BV,OAAO,IAAIW,aAAa;AAAA;AAAA;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/iris-grid",
|
|
3
|
-
"version": "0.81.3-beta.
|
|
3
|
+
"version": "0.81.3-beta.4+41233b5f",
|
|
4
4
|
"description": "Deephaven Iris Grid",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,18 +31,18 @@
|
|
|
31
31
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@deephaven/components": "^0.81.3-beta.
|
|
35
|
-
"@deephaven/console": "^0.81.3-beta.
|
|
36
|
-
"@deephaven/filters": "^0.81.3-beta.
|
|
37
|
-
"@deephaven/grid": "^0.81.3-beta.
|
|
38
|
-
"@deephaven/icons": "^0.81.3-beta.
|
|
39
|
-
"@deephaven/jsapi-components": "^0.81.3-beta.
|
|
34
|
+
"@deephaven/components": "^0.81.3-beta.4+41233b5f",
|
|
35
|
+
"@deephaven/console": "^0.81.3-beta.4+41233b5f",
|
|
36
|
+
"@deephaven/filters": "^0.81.3-beta.4+41233b5f",
|
|
37
|
+
"@deephaven/grid": "^0.81.3-beta.4+41233b5f",
|
|
38
|
+
"@deephaven/icons": "^0.81.3-beta.4+41233b5f",
|
|
39
|
+
"@deephaven/jsapi-components": "^0.81.3-beta.4+41233b5f",
|
|
40
40
|
"@deephaven/jsapi-types": "1.0.0-dev0.34.0",
|
|
41
|
-
"@deephaven/jsapi-utils": "^0.81.3-beta.
|
|
42
|
-
"@deephaven/log": "^0.81.3-beta.
|
|
43
|
-
"@deephaven/react-hooks": "^0.81.3-beta.
|
|
44
|
-
"@deephaven/storage": "^0.81.3-beta.
|
|
45
|
-
"@deephaven/utils": "^0.81.3-beta.
|
|
41
|
+
"@deephaven/jsapi-utils": "^0.81.3-beta.4+41233b5f",
|
|
42
|
+
"@deephaven/log": "^0.81.3-beta.4+41233b5f",
|
|
43
|
+
"@deephaven/react-hooks": "^0.81.3-beta.4+41233b5f",
|
|
44
|
+
"@deephaven/storage": "^0.81.3-beta.4+41233b5f",
|
|
45
|
+
"@deephaven/utils": "^0.81.3-beta.4+41233b5f",
|
|
46
46
|
"@dnd-kit/core": "^6.1.0",
|
|
47
47
|
"@dnd-kit/sortable": "^7.0.2",
|
|
48
48
|
"@dnd-kit/utilities": "^3.2.2",
|
|
@@ -65,8 +65,8 @@
|
|
|
65
65
|
"react-dom": ">=16.8.0"
|
|
66
66
|
},
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@deephaven/jsapi-shim": "^0.81.3-beta.
|
|
69
|
-
"@deephaven/mocks": "^0.81.3-beta.
|
|
68
|
+
"@deephaven/jsapi-shim": "^0.81.3-beta.4+41233b5f",
|
|
69
|
+
"@deephaven/mocks": "^0.81.3-beta.4+41233b5f",
|
|
70
70
|
"deep-equal": "2.2.3"
|
|
71
71
|
},
|
|
72
72
|
"files": [
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"publishConfig": {
|
|
80
80
|
"access": "public"
|
|
81
81
|
},
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "41233b5f4ed49b8af63506ca5d2af6653ab5eb9c"
|
|
83
83
|
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/// <reference types="lodash" />
|
|
2
|
-
import { PureComponent } from 'react';
|
|
3
|
-
import { MoveOperation } from '@deephaven/grid';
|
|
4
|
-
import type { dh } from '@deephaven/jsapi-types';
|
|
5
|
-
import { ColumnName } from './CommonTypes';
|
|
6
|
-
/**
|
|
7
|
-
* Updates the viewport for an Iris table, for use in a scroll pane.
|
|
8
|
-
* Automatically throttles the viewport requests and buffers above and below.
|
|
9
|
-
*/
|
|
10
|
-
interface TableViewportUpdaterProps {
|
|
11
|
-
table: dh.Table;
|
|
12
|
-
top: number;
|
|
13
|
-
bottom: number;
|
|
14
|
-
left: number;
|
|
15
|
-
right: number;
|
|
16
|
-
columns: dh.Column[];
|
|
17
|
-
filters: dh.FilterCondition[];
|
|
18
|
-
sorts: dh.Sort[];
|
|
19
|
-
customColumns: ColumnName[];
|
|
20
|
-
movedColumns: MoveOperation[];
|
|
21
|
-
onSubscription: (subscription?: dh.TableViewportSubscription) => void;
|
|
22
|
-
}
|
|
23
|
-
declare class TableViewportUpdater extends PureComponent<TableViewportUpdaterProps, Record<string, never>> {
|
|
24
|
-
static ROW_BUFFER_PAGES: number;
|
|
25
|
-
static COLUMN_BUFFER_PAGES: number;
|
|
26
|
-
static defaultProps: {
|
|
27
|
-
top: number;
|
|
28
|
-
bottom: number;
|
|
29
|
-
left: null;
|
|
30
|
-
right: null;
|
|
31
|
-
columns: null;
|
|
32
|
-
onSubscription: () => void;
|
|
33
|
-
filters: never[];
|
|
34
|
-
sorts: never[];
|
|
35
|
-
customColumns: never[];
|
|
36
|
-
movedColumns: never[];
|
|
37
|
-
};
|
|
38
|
-
componentDidMount(): void;
|
|
39
|
-
componentDidUpdate(prevProps: TableViewportUpdaterProps): void;
|
|
40
|
-
componentWillUnmount(): void;
|
|
41
|
-
subscription?: dh.TableViewportSubscription;
|
|
42
|
-
getViewportRowRange: (table: dh.Table, top: number, bottom: number) => number[];
|
|
43
|
-
getViewportColumns: (table: dh.Table, left: number, right: number, movedColumns: MoveOperation[]) => dh.Column[] | null;
|
|
44
|
-
closeSubscription(): void;
|
|
45
|
-
updateViewport: import("lodash").DebouncedFunc<(top: number, bottom: number, left: number, right: number, viewColumns: dh.Column[]) => void>;
|
|
46
|
-
render(): null;
|
|
47
|
-
}
|
|
48
|
-
export default TableViewportUpdater;
|
|
49
|
-
//# sourceMappingURL=TableViewportUpdater.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableViewportUpdater.d.ts","sourceRoot":"","sources":["../src/TableViewportUpdater.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,OAAO,EAAa,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C;;;GAGG;AAEH,UAAU,yBAAyB;IACjC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC;IAC9B,KAAK,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IACjB,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,cAAc,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,yBAAyB,KAAK,IAAI,CAAC;CACvE;AAED,cAAM,oBAAqB,SAAQ,aAAa,CAC9C,yBAAyB,EACzB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB;IAEC,MAAM,CAAC,gBAAgB,SAAK;IAE5B,MAAM,CAAC,mBAAmB,SAAK;IAE/B,MAAM,CAAC,YAAY;;;;;;8BAMG,IAAI;;;;;MAKxB;IAEF,iBAAiB,IAAI,IAAI;IAkBzB,kBAAkB,CAAC,SAAS,EAAE,yBAAyB,GAAG,IAAI;IA2C9D,oBAAoB,IAAI,IAAI;IAI5B,YAAY,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC;IAG5C,mBAAmB,UACT,GAAG,KAAK,OAAO,MAAM,UAAU,MAAM,cAU7C;IAGF,kBAAkB,UAEP,GAAG,KAAK,QACT,MAAM,SACL,MAAM,gBACC,aAAa,EAAE,wBAyB/B;IAEF,iBAAiB,IAAI,IAAI;IAazB,cAAc,uCAEL,MAAM,UACH,MAAM,QACR,MAAM,SACL,MAAM,eACA,GAAG,MAAM,EAAE,KACvB,IAAI,EA4CP;IAEF,MAAM,IAAI,IAAI;CAGf;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
-
import { PureComponent } from 'react';
|
|
5
|
-
import memoize from 'memoize-one';
|
|
6
|
-
import throttle from 'lodash.throttle';
|
|
7
|
-
import { GridUtils } from '@deephaven/grid';
|
|
8
|
-
import Log from '@deephaven/log';
|
|
9
|
-
var log = Log.module('TableViewportUpdater');
|
|
10
|
-
var UPDATE_THROTTLE = 150;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Updates the viewport for an Iris table, for use in a scroll pane.
|
|
14
|
-
* Automatically throttles the viewport requests and buffers above and below.
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
class TableViewportUpdater extends PureComponent {
|
|
18
|
-
constructor() {
|
|
19
|
-
super(...arguments);
|
|
20
|
-
_defineProperty(this, "subscription", void 0);
|
|
21
|
-
_defineProperty(this, "getViewportRowRange", memoize((table, top, bottom) => {
|
|
22
|
-
var viewHeight = bottom - top;
|
|
23
|
-
var viewportTop = Math.max(0, top - viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES);
|
|
24
|
-
var viewportBottom = bottom + viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES;
|
|
25
|
-
return [viewportTop, viewportBottom];
|
|
26
|
-
}));
|
|
27
|
-
_defineProperty(this, "getViewportColumns", memoize((table, left, right, movedColumns) => {
|
|
28
|
-
if (left == null || right == null) {
|
|
29
|
-
return null;
|
|
30
|
-
}
|
|
31
|
-
var viewWidth = right - left;
|
|
32
|
-
var viewportLeft = Math.max(0, left - viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES);
|
|
33
|
-
var viewportRight = Math.min(right + viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES, table.columns.length - 1);
|
|
34
|
-
|
|
35
|
-
// Need to get all the columns from the table model now
|
|
36
|
-
var columns = [];
|
|
37
|
-
for (var i = viewportLeft; i <= viewportRight; i += 1) {
|
|
38
|
-
var modelIndex = GridUtils.getModelIndex(i, movedColumns);
|
|
39
|
-
columns.push(table.columns[modelIndex]);
|
|
40
|
-
}
|
|
41
|
-
return columns;
|
|
42
|
-
}));
|
|
43
|
-
_defineProperty(this, "updateViewport", throttle((top, bottom, left, right, viewColumns) => {
|
|
44
|
-
if (bottom < top) {
|
|
45
|
-
log.error('Invalid viewport', top, bottom);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
if (top === 0 && bottom === 0) {
|
|
49
|
-
log.debug2('Ignoring 0-0 viewport');
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
var {
|
|
53
|
-
movedColumns,
|
|
54
|
-
table
|
|
55
|
-
} = this.props;
|
|
56
|
-
var [viewportTop, viewportBottom] = this.getViewportRowRange(table, top, bottom);
|
|
57
|
-
var columns = viewColumns !== null && viewColumns !== void 0 ? viewColumns : this.getViewportColumns(table, left, right, movedColumns);
|
|
58
|
-
log.debug2('Setting Viewport Top:', viewportTop, 'Bottom:', viewportBottom, 'Columns:', columns);
|
|
59
|
-
if (this.subscription == null) {
|
|
60
|
-
log.debug2('updateViewport creating new subscription');
|
|
61
|
-
this.subscription = table.setViewport(viewportTop, viewportBottom, columns);
|
|
62
|
-
var {
|
|
63
|
-
onSubscription
|
|
64
|
-
} = this.props;
|
|
65
|
-
onSubscription(this.subscription);
|
|
66
|
-
} else {
|
|
67
|
-
log.debug2('updateViewport using existing subscription');
|
|
68
|
-
this.subscription.setViewport(viewportTop, viewportBottom, columns);
|
|
69
|
-
}
|
|
70
|
-
}, UPDATE_THROTTLE));
|
|
71
|
-
} // Number of pages to buffer for rows/columns
|
|
72
|
-
componentDidMount() {
|
|
73
|
-
var {
|
|
74
|
-
top,
|
|
75
|
-
bottom,
|
|
76
|
-
left,
|
|
77
|
-
right,
|
|
78
|
-
table,
|
|
79
|
-
filters,
|
|
80
|
-
sorts,
|
|
81
|
-
columns,
|
|
82
|
-
customColumns
|
|
83
|
-
} = this.props;
|
|
84
|
-
table.applyFilter(filters);
|
|
85
|
-
table.applySort(sorts);
|
|
86
|
-
table.applyCustomColumns(customColumns);
|
|
87
|
-
this.updateViewport(top, bottom, left, right, columns);
|
|
88
|
-
}
|
|
89
|
-
componentDidUpdate(prevProps) {
|
|
90
|
-
var {
|
|
91
|
-
top,
|
|
92
|
-
bottom,
|
|
93
|
-
left,
|
|
94
|
-
right,
|
|
95
|
-
table,
|
|
96
|
-
filters,
|
|
97
|
-
sorts,
|
|
98
|
-
customColumns,
|
|
99
|
-
columns
|
|
100
|
-
} = this.props;
|
|
101
|
-
var isFilterChanged = filters !== prevProps.filters;
|
|
102
|
-
var isSortChanged = sorts !== prevProps.sorts;
|
|
103
|
-
var isCustomColumnsChanged = customColumns !== prevProps.customColumns;
|
|
104
|
-
var isTableChanged = table !== prevProps.table;
|
|
105
|
-
if (isFilterChanged || isSortChanged || isCustomColumnsChanged || isTableChanged) {
|
|
106
|
-
this.closeSubscription();
|
|
107
|
-
}
|
|
108
|
-
if (isFilterChanged || isTableChanged) {
|
|
109
|
-
log.debug('update table filter', filters);
|
|
110
|
-
table.applyFilter(filters);
|
|
111
|
-
}
|
|
112
|
-
if (isSortChanged || isTableChanged) {
|
|
113
|
-
log.debug('update table sort', sorts);
|
|
114
|
-
table.applySort(sorts);
|
|
115
|
-
}
|
|
116
|
-
if (isCustomColumnsChanged || isTableChanged) {
|
|
117
|
-
log.debug('update table custom columns', customColumns);
|
|
118
|
-
table.applyCustomColumns(customColumns);
|
|
119
|
-
}
|
|
120
|
-
this.updateViewport(top, bottom, left, right, columns);
|
|
121
|
-
}
|
|
122
|
-
componentWillUnmount() {
|
|
123
|
-
this.closeSubscription();
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
// eslint-disable-next-line class-methods-use-this
|
|
127
|
-
|
|
128
|
-
// eslint-disable-next-line class-methods-use-this
|
|
129
|
-
|
|
130
|
-
closeSubscription() {
|
|
131
|
-
log.debug2('closeSubscription', this.subscription);
|
|
132
|
-
if (this.subscription) {
|
|
133
|
-
this.subscription.close();
|
|
134
|
-
this.subscription = undefined;
|
|
135
|
-
var {
|
|
136
|
-
onSubscription
|
|
137
|
-
} = this.props;
|
|
138
|
-
onSubscription();
|
|
139
|
-
}
|
|
140
|
-
this.updateViewport.cancel();
|
|
141
|
-
}
|
|
142
|
-
render() {
|
|
143
|
-
return null;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
_defineProperty(TableViewportUpdater, "ROW_BUFFER_PAGES", 3);
|
|
147
|
-
_defineProperty(TableViewportUpdater, "COLUMN_BUFFER_PAGES", 1);
|
|
148
|
-
_defineProperty(TableViewportUpdater, "defaultProps", {
|
|
149
|
-
top: 0,
|
|
150
|
-
bottom: 0,
|
|
151
|
-
left: null,
|
|
152
|
-
right: null,
|
|
153
|
-
columns: null,
|
|
154
|
-
onSubscription: () => undefined,
|
|
155
|
-
filters: [],
|
|
156
|
-
sorts: [],
|
|
157
|
-
customColumns: [],
|
|
158
|
-
movedColumns: []
|
|
159
|
-
});
|
|
160
|
-
export default TableViewportUpdater;
|
|
161
|
-
//# sourceMappingURL=TableViewportUpdater.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableViewportUpdater.js","names":["PureComponent","memoize","throttle","GridUtils","Log","log","module","UPDATE_THROTTLE","TableViewportUpdater","constructor","arguments","_defineProperty","table","top","bottom","viewHeight","viewportTop","Math","max","ROW_BUFFER_PAGES","viewportBottom","left","right","movedColumns","viewWidth","viewportLeft","COLUMN_BUFFER_PAGES","viewportRight","min","columns","length","i","modelIndex","getModelIndex","push","viewColumns","error","debug2","props","getViewportRowRange","getViewportColumns","subscription","setViewport","onSubscription","componentDidMount","filters","sorts","customColumns","applyFilter","applySort","applyCustomColumns","updateViewport","componentDidUpdate","prevProps","isFilterChanged","isSortChanged","isCustomColumnsChanged","isTableChanged","closeSubscription","debug","componentWillUnmount","close","undefined","cancel","render"],"sources":["../src/TableViewportUpdater.tsx"],"sourcesContent":["import { PureComponent } from 'react';\nimport memoize from 'memoize-one';\nimport throttle from 'lodash.throttle';\nimport { GridUtils, MoveOperation } from '@deephaven/grid';\nimport type { dh } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\nimport { ColumnName } from './CommonTypes';\n\nconst log = Log.module('TableViewportUpdater');\n\nconst UPDATE_THROTTLE = 150;\n\n/**\n * Updates the viewport for an Iris table, for use in a scroll pane.\n * Automatically throttles the viewport requests and buffers above and below.\n */\n\ninterface TableViewportUpdaterProps {\n table: dh.Table;\n top: number;\n bottom: number;\n left: number;\n right: number;\n columns: dh.Column[];\n filters: dh.FilterCondition[];\n sorts: dh.Sort[];\n customColumns: ColumnName[];\n movedColumns: MoveOperation[];\n onSubscription: (subscription?: dh.TableViewportSubscription) => void;\n}\n\nclass TableViewportUpdater extends PureComponent<\n TableViewportUpdaterProps,\n Record<string, never>\n> {\n // Number of pages to buffer for rows/columns\n static ROW_BUFFER_PAGES = 3;\n\n static COLUMN_BUFFER_PAGES = 1;\n\n static defaultProps = {\n top: 0,\n bottom: 0,\n left: null,\n right: null,\n columns: null,\n onSubscription: (): void => undefined,\n filters: [],\n sorts: [],\n customColumns: [],\n movedColumns: [],\n };\n\n componentDidMount(): void {\n const {\n top,\n bottom,\n left,\n right,\n table,\n filters,\n sorts,\n columns,\n customColumns,\n } = this.props;\n table.applyFilter(filters);\n table.applySort(sorts);\n table.applyCustomColumns(customColumns);\n this.updateViewport(top, bottom, left, right, columns);\n }\n\n componentDidUpdate(prevProps: TableViewportUpdaterProps): void {\n const {\n top,\n bottom,\n left,\n right,\n table,\n filters,\n sorts,\n customColumns,\n columns,\n } = this.props;\n const isFilterChanged = filters !== prevProps.filters;\n const isSortChanged = sorts !== prevProps.sorts;\n const isCustomColumnsChanged = customColumns !== prevProps.customColumns;\n const isTableChanged = table !== prevProps.table;\n if (\n isFilterChanged ||\n isSortChanged ||\n isCustomColumnsChanged ||\n isTableChanged\n ) {\n this.closeSubscription();\n }\n\n if (isFilterChanged || isTableChanged) {\n log.debug('update table filter', filters);\n table.applyFilter(filters);\n }\n\n if (isSortChanged || isTableChanged) {\n log.debug('update table sort', sorts);\n table.applySort(sorts);\n }\n\n if (isCustomColumnsChanged || isTableChanged) {\n log.debug('update table custom columns', customColumns);\n table.applyCustomColumns(customColumns);\n }\n\n this.updateViewport(top, bottom, left, right, columns);\n }\n\n componentWillUnmount(): void {\n this.closeSubscription();\n }\n\n subscription?: dh.TableViewportSubscription;\n\n // eslint-disable-next-line class-methods-use-this\n getViewportRowRange = memoize(\n (table: dh.Table, top: number, bottom: number) => {\n const viewHeight = bottom - top;\n const viewportTop = Math.max(\n 0,\n top - viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES\n );\n const viewportBottom =\n bottom + viewHeight * TableViewportUpdater.ROW_BUFFER_PAGES;\n return [viewportTop, viewportBottom];\n }\n );\n\n // eslint-disable-next-line class-methods-use-this\n getViewportColumns = memoize(\n (\n table: dh.Table,\n left: number,\n right: number,\n movedColumns: MoveOperation[]\n ) => {\n if (left == null || right == null) {\n return null;\n }\n\n const viewWidth = right - left;\n const viewportLeft = Math.max(\n 0,\n left - viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES\n );\n const viewportRight = Math.min(\n right + viewWidth * TableViewportUpdater.COLUMN_BUFFER_PAGES,\n table.columns.length - 1\n );\n\n // Need to get all the columns from the table model now\n const columns = [];\n for (let i = viewportLeft; i <= viewportRight; i += 1) {\n const modelIndex = GridUtils.getModelIndex(i, movedColumns);\n columns.push(table.columns[modelIndex]);\n }\n\n return columns;\n }\n );\n\n closeSubscription(): void {\n log.debug2('closeSubscription', this.subscription);\n if (this.subscription) {\n this.subscription.close();\n this.subscription = undefined;\n\n const { onSubscription } = this.props;\n onSubscription();\n }\n\n this.updateViewport.cancel();\n }\n\n updateViewport = throttle(\n (\n top: number,\n bottom: number,\n left: number,\n right: number,\n viewColumns: dh.Column[]\n ): void => {\n if (bottom < top) {\n log.error('Invalid viewport', top, bottom);\n return;\n }\n\n if (top === 0 && bottom === 0) {\n log.debug2('Ignoring 0-0 viewport');\n return;\n }\n\n const { movedColumns, table } = this.props;\n const [viewportTop, viewportBottom] = this.getViewportRowRange(\n table,\n top,\n bottom\n );\n const columns =\n viewColumns ??\n this.getViewportColumns(table, left, right, movedColumns);\n log.debug2(\n 'Setting Viewport Top:',\n viewportTop,\n 'Bottom:',\n viewportBottom,\n 'Columns:',\n columns\n );\n if (this.subscription == null) {\n log.debug2('updateViewport creating new subscription');\n this.subscription = table.setViewport(\n viewportTop,\n viewportBottom,\n columns\n );\n\n const { onSubscription } = this.props;\n onSubscription(this.subscription);\n } else {\n log.debug2('updateViewport using existing subscription');\n this.subscription.setViewport(viewportTop, viewportBottom, columns);\n }\n },\n UPDATE_THROTTLE\n );\n\n render(): null {\n return null;\n }\n}\n\nexport default TableViewportUpdater;\n"],"mappings":";;;AAAA,SAASA,aAAa,QAAQ,OAAO;AACrC,OAAOC,OAAO,MAAM,aAAa;AACjC,OAAOC,QAAQ,MAAM,iBAAiB;AACtC,SAASC,SAAS,QAAuB,iBAAiB;AAE1D,OAAOC,GAAG,MAAM,gBAAgB;AAGhC,IAAMC,GAAG,GAAGD,GAAG,CAACE,MAAM,CAAC,sBAAsB,CAAC;AAE9C,IAAMC,eAAe,GAAG,GAAG;;AAE3B;AACA;AACA;AACA;;AAgBA,MAAMC,oBAAoB,SAASR,aAAa,CAG9C;EAAAS,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA,8BAuFsBV,OAAO,CAC3B,CAACW,KAAe,EAAEC,GAAW,EAAEC,MAAc,KAAK;MAChD,IAAMC,UAAU,GAAGD,MAAM,GAAGD,GAAG;MAC/B,IAAMG,WAAW,GAAGC,IAAI,CAACC,GAAG,CAC1B,CAAC,EACDL,GAAG,GAAGE,UAAU,GAAGP,oBAAoB,CAACW,gBAC1C,CAAC;MACD,IAAMC,cAAc,GAClBN,MAAM,GAAGC,UAAU,GAAGP,oBAAoB,CAACW,gBAAgB;MAC7D,OAAO,CAACH,WAAW,EAAEI,cAAc,CAAC;IACtC,CACF,CAAC;IAAAT,eAAA,6BAGoBV,OAAO,CAC1B,CACEW,KAAe,EACfS,IAAY,EACZC,KAAa,EACbC,YAA6B,KAC1B;MACH,IAAIF,IAAI,IAAI,IAAI,IAAIC,KAAK,IAAI,IAAI,EAAE;QACjC,OAAO,IAAI;MACb;MAEA,IAAME,SAAS,GAAGF,KAAK,GAAGD,IAAI;MAC9B,IAAMI,YAAY,GAAGR,IAAI,CAACC,GAAG,CAC3B,CAAC,EACDG,IAAI,GAAGG,SAAS,GAAGhB,oBAAoB,CAACkB,mBAC1C,CAAC;MACD,IAAMC,aAAa,GAAGV,IAAI,CAACW,GAAG,CAC5BN,KAAK,GAAGE,SAAS,GAAGhB,oBAAoB,CAACkB,mBAAmB,EAC5Dd,KAAK,CAACiB,OAAO,CAACC,MAAM,GAAG,CACzB,CAAC;;MAED;MACA,IAAMD,OAAO,GAAG,EAAE;MAClB,KAAK,IAAIE,CAAC,GAAGN,YAAY,EAAEM,CAAC,IAAIJ,aAAa,EAAEI,CAAC,IAAI,CAAC,EAAE;QACrD,IAAMC,UAAU,GAAG7B,SAAS,CAAC8B,aAAa,CAACF,CAAC,EAAER,YAAY,CAAC;QAC3DM,OAAO,CAACK,IAAI,CAACtB,KAAK,CAACiB,OAAO,CAACG,UAAU,CAAC,CAAC;MACzC;MAEA,OAAOH,OAAO;IAChB,CACF,CAAC;IAAAlB,eAAA,yBAegBT,QAAQ,CACvB,CACEW,GAAW,EACXC,MAAc,EACdO,IAAY,EACZC,KAAa,EACba,WAAwB,KACf;MACT,IAAIrB,MAAM,GAAGD,GAAG,EAAE;QAChBR,GAAG,CAAC+B,KAAK,CAAC,kBAAkB,EAAEvB,GAAG,EAAEC,MAAM,CAAC;QAC1C;MACF;MAEA,IAAID,GAAG,KAAK,CAAC,IAAIC,MAAM,KAAK,CAAC,EAAE;QAC7BT,GAAG,CAACgC,MAAM,CAAC,uBAAuB,CAAC;QACnC;MACF;MAEA,IAAM;QAAEd,YAAY;QAAEX;MAAM,CAAC,GAAG,IAAI,CAAC0B,KAAK;MAC1C,IAAM,CAACtB,WAAW,EAAEI,cAAc,CAAC,GAAG,IAAI,CAACmB,mBAAmB,CAC5D3B,KAAK,EACLC,GAAG,EACHC,MACF,CAAC;MACD,IAAMe,OAAO,GACXM,WAAW,aAAXA,WAAW,cAAXA,WAAW,GACX,IAAI,CAACK,kBAAkB,CAAC5B,KAAK,EAAES,IAAI,EAAEC,KAAK,EAAEC,YAAY,CAAC;MAC3DlB,GAAG,CAACgC,MAAM,CACR,uBAAuB,EACvBrB,WAAW,EACX,SAAS,EACTI,cAAc,EACd,UAAU,EACVS,OACF,CAAC;MACD,IAAI,IAAI,CAACY,YAAY,IAAI,IAAI,EAAE;QAC7BpC,GAAG,CAACgC,MAAM,CAAC,0CAA0C,CAAC;QACtD,IAAI,CAACI,YAAY,GAAG7B,KAAK,CAAC8B,WAAW,CACnC1B,WAAW,EACXI,cAAc,EACdS,OACF,CAAC;QAED,IAAM;UAAEc;QAAe,CAAC,GAAG,IAAI,CAACL,KAAK;QACrCK,cAAc,CAAC,IAAI,CAACF,YAAY,CAAC;MACnC,CAAC,MAAM;QACLpC,GAAG,CAACgC,MAAM,CAAC,4CAA4C,CAAC;QACxD,IAAI,CAACI,YAAY,CAACC,WAAW,CAAC1B,WAAW,EAAEI,cAAc,EAAES,OAAO,CAAC;MACrE;IACF,CAAC,EACDtB,eACF,CAAC;EAAA,EApMD;EAkBAqC,iBAAiBA,CAAA,EAAS;IACxB,IAAM;MACJ/B,GAAG;MACHC,MAAM;MACNO,IAAI;MACJC,KAAK;MACLV,KAAK;MACLiC,OAAO;MACPC,KAAK;MACLjB,OAAO;MACPkB;IACF,CAAC,GAAG,IAAI,CAACT,KAAK;IACd1B,KAAK,CAACoC,WAAW,CAACH,OAAO,CAAC;IAC1BjC,KAAK,CAACqC,SAAS,CAACH,KAAK,CAAC;IACtBlC,KAAK,CAACsC,kBAAkB,CAACH,aAAa,CAAC;IACvC,IAAI,CAACI,cAAc,CAACtC,GAAG,EAAEC,MAAM,EAAEO,IAAI,EAAEC,KAAK,EAAEO,OAAO,CAAC;EACxD;EAEAuB,kBAAkBA,CAACC,SAAoC,EAAQ;IAC7D,IAAM;MACJxC,GAAG;MACHC,MAAM;MACNO,IAAI;MACJC,KAAK;MACLV,KAAK;MACLiC,OAAO;MACPC,KAAK;MACLC,aAAa;MACblB;IACF,CAAC,GAAG,IAAI,CAACS,KAAK;IACd,IAAMgB,eAAe,GAAGT,OAAO,KAAKQ,SAAS,CAACR,OAAO;IACrD,IAAMU,aAAa,GAAGT,KAAK,KAAKO,SAAS,CAACP,KAAK;IAC/C,IAAMU,sBAAsB,GAAGT,aAAa,KAAKM,SAAS,CAACN,aAAa;IACxE,IAAMU,cAAc,GAAG7C,KAAK,KAAKyC,SAAS,CAACzC,KAAK;IAChD,IACE0C,eAAe,IACfC,aAAa,IACbC,sBAAsB,IACtBC,cAAc,EACd;MACA,IAAI,CAACC,iBAAiB,CAAC,CAAC;IAC1B;IAEA,IAAIJ,eAAe,IAAIG,cAAc,EAAE;MACrCpD,GAAG,CAACsD,KAAK,CAAC,qBAAqB,EAAEd,OAAO,CAAC;MACzCjC,KAAK,CAACoC,WAAW,CAACH,OAAO,CAAC;IAC5B;IAEA,IAAIU,aAAa,IAAIE,cAAc,EAAE;MACnCpD,GAAG,CAACsD,KAAK,CAAC,mBAAmB,EAAEb,KAAK,CAAC;MACrClC,KAAK,CAACqC,SAAS,CAACH,KAAK,CAAC;IACxB;IAEA,IAAIU,sBAAsB,IAAIC,cAAc,EAAE;MAC5CpD,GAAG,CAACsD,KAAK,CAAC,6BAA6B,EAAEZ,aAAa,CAAC;MACvDnC,KAAK,CAACsC,kBAAkB,CAACH,aAAa,CAAC;IACzC;IAEA,IAAI,CAACI,cAAc,CAACtC,GAAG,EAAEC,MAAM,EAAEO,IAAI,EAAEC,KAAK,EAAEO,OAAO,CAAC;EACxD;EAEA+B,oBAAoBA,CAAA,EAAS;IAC3B,IAAI,CAACF,iBAAiB,CAAC,CAAC;EAC1B;;EAIA;;EAcA;;EAiCAA,iBAAiBA,CAAA,EAAS;IACxBrD,GAAG,CAACgC,MAAM,CAAC,mBAAmB,EAAE,IAAI,CAACI,YAAY,CAAC;IAClD,IAAI,IAAI,CAACA,YAAY,EAAE;MACrB,IAAI,CAACA,YAAY,CAACoB,KAAK,CAAC,CAAC;MACzB,IAAI,CAACpB,YAAY,GAAGqB,SAAS;MAE7B,IAAM;QAAEnB;MAAe,CAAC,GAAG,IAAI,CAACL,KAAK;MACrCK,cAAc,CAAC,CAAC;IAClB;IAEA,IAAI,CAACQ,cAAc,CAACY,MAAM,CAAC,CAAC;EAC9B;EAuDAC,MAAMA,CAAA,EAAS;IACb,OAAO,IAAI;EACb;AACF;AAACrD,eAAA,CA7MKH,oBAAoB,sBAKE,CAAC;AAAAG,eAAA,CALvBH,oBAAoB,yBAOK,CAAC;AAAAG,eAAA,CAP1BH,oBAAoB,kBASF;EACpBK,GAAG,EAAE,CAAC;EACNC,MAAM,EAAE,CAAC;EACTO,IAAI,EAAE,IAAI;EACVC,KAAK,EAAE,IAAI;EACXO,OAAO,EAAE,IAAI;EACbc,cAAc,EAAEA,CAAA,KAAYmB,SAAS;EACrCjB,OAAO,EAAE,EAAE;EACXC,KAAK,EAAE,EAAE;EACTC,aAAa,EAAE,EAAE;EACjBxB,YAAY,EAAE;AAChB,CAAC;AA2LH,eAAef,oBAAoB"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/// <reference types="lodash" />
|
|
2
|
-
import { PureComponent } from 'react';
|
|
3
|
-
import type { dh as DhType } from '@deephaven/jsapi-types';
|
|
4
|
-
interface TreeTableViewportUpdaterProps {
|
|
5
|
-
dh: typeof DhType;
|
|
6
|
-
table: DhType.Table;
|
|
7
|
-
top: number;
|
|
8
|
-
bottom: number;
|
|
9
|
-
filters: DhType.FilterCondition[];
|
|
10
|
-
sorts: DhType.Sort[];
|
|
11
|
-
updateInterval: number;
|
|
12
|
-
onViewportUpdate: (e: CustomEvent<DhType.ViewportData>) => void;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Updates the viewport of a TreeTable for use in a scroll pane.
|
|
16
|
-
* Automatically throttles the viewport requests and buffers above and below.
|
|
17
|
-
*/
|
|
18
|
-
declare class TreeTableViewportUpdater extends PureComponent<TreeTableViewportUpdaterProps, Record<string, never>> {
|
|
19
|
-
static UPDATE_INTERVAL: number;
|
|
20
|
-
static defaultProps: {
|
|
21
|
-
top: number;
|
|
22
|
-
bottom: number;
|
|
23
|
-
onViewportUpdate: () => void;
|
|
24
|
-
filters: never[];
|
|
25
|
-
sorts: never[];
|
|
26
|
-
updateInterval: number;
|
|
27
|
-
};
|
|
28
|
-
constructor(props: TreeTableViewportUpdaterProps);
|
|
29
|
-
componentDidMount(): void;
|
|
30
|
-
componentDidUpdate(prevProps: TreeTableViewportUpdaterProps): void;
|
|
31
|
-
componentWillUnmount(): void;
|
|
32
|
-
listenerCleanup: (() => void) | null;
|
|
33
|
-
updateViewport: import("lodash").DebouncedFunc<(top: number, bottom: number) => void>;
|
|
34
|
-
render(): null;
|
|
35
|
-
}
|
|
36
|
-
export default TreeTableViewportUpdater;
|
|
37
|
-
//# sourceMappingURL=TreeTableViewportUpdater.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeTableViewportUpdater.d.ts","sourceRoot":"","sources":["../src/TreeTableViewportUpdater.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAO3D,UAAU,6BAA6B;IACrC,EAAE,EAAE,OAAO,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;CACjE;AAED;;;GAGG;AACH,cAAM,wBAAyB,SAAQ,aAAa,CAClD,6BAA6B,EAC7B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB;IACC,MAAM,CAAC,eAAe,SAAQ;IAE9B,MAAM,CAAC,YAAY;;;gCAGK,IAAI;;;;MAI1B;gBAEU,KAAK,EAAE,6BAA6B;IAMhD,iBAAiB,IAAI,IAAI;IAQzB,kBAAkB,CAAC,SAAS,EAAE,6BAA6B,GAAG,IAAI;IAelE,oBAAoB,IAAI,IAAI;IAO5B,eAAe,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAErC,cAAc,uCAAkB,MAAM,UAAU,MAAM,KAAG,IAAI,EAgCzC;IAEpB,MAAM,IAAI,IAAI;CAGf;AAED,eAAe,wBAAwB,CAAC"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
-
import { PureComponent } from 'react';
|
|
5
|
-
import throttle from 'lodash.throttle';
|
|
6
|
-
import Log from '@deephaven/log';
|
|
7
|
-
var log = Log.module('TreeTableViewportUpdater');
|
|
8
|
-
var UPDATE_THROTTLE = 150;
|
|
9
|
-
/**
|
|
10
|
-
* Updates the viewport of a TreeTable for use in a scroll pane.
|
|
11
|
-
* Automatically throttles the viewport requests and buffers above and below.
|
|
12
|
-
*/
|
|
13
|
-
class TreeTableViewportUpdater extends PureComponent {
|
|
14
|
-
constructor(props) {
|
|
15
|
-
super(props);
|
|
16
|
-
_defineProperty(this, "listenerCleanup", void 0);
|
|
17
|
-
_defineProperty(this, "updateViewport", throttle((top, bottom) => {
|
|
18
|
-
if (bottom < top) {
|
|
19
|
-
log.error('Invalid viewport', top, bottom);
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
if (top === 0 && bottom === 0) {
|
|
23
|
-
log.debug2('Ignoring 0-0 viewport');
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
var {
|
|
27
|
-
table,
|
|
28
|
-
updateInterval
|
|
29
|
-
} = this.props;
|
|
30
|
-
var viewSize = bottom - top;
|
|
31
|
-
var viewportTop = Math.max(0, top - viewSize * 3);
|
|
32
|
-
var viewportBottom = bottom + viewSize * 3 + 1;
|
|
33
|
-
log.debug2('Setting Viewport Top:', viewportTop, 'Bottom:', viewportBottom, table);
|
|
34
|
-
if (!this.listenerCleanup) {
|
|
35
|
-
var {
|
|
36
|
-
dh,
|
|
37
|
-
onViewportUpdate
|
|
38
|
-
} = this.props;
|
|
39
|
-
this.listenerCleanup = table.addEventListener(dh.TreeTable.EVENT_UPDATED, onViewportUpdate);
|
|
40
|
-
}
|
|
41
|
-
table.setViewport(viewportTop, viewportBottom, undefined, updateInterval);
|
|
42
|
-
}, UPDATE_THROTTLE));
|
|
43
|
-
this.listenerCleanup = null;
|
|
44
|
-
}
|
|
45
|
-
componentDidMount() {
|
|
46
|
-
var {
|
|
47
|
-
top,
|
|
48
|
-
bottom,
|
|
49
|
-
table,
|
|
50
|
-
filters,
|
|
51
|
-
sorts
|
|
52
|
-
} = this.props;
|
|
53
|
-
log.debug('componentDidMount', this.props);
|
|
54
|
-
table.applyFilter(filters);
|
|
55
|
-
table.applySort(sorts);
|
|
56
|
-
this.updateViewport(top, bottom);
|
|
57
|
-
}
|
|
58
|
-
componentDidUpdate(prevProps) {
|
|
59
|
-
var {
|
|
60
|
-
top,
|
|
61
|
-
bottom,
|
|
62
|
-
table,
|
|
63
|
-
filters,
|
|
64
|
-
sorts
|
|
65
|
-
} = this.props;
|
|
66
|
-
if (filters !== prevProps.filters) {
|
|
67
|
-
log.debug('update table filter', filters);
|
|
68
|
-
table.applyFilter(filters);
|
|
69
|
-
}
|
|
70
|
-
if (sorts !== prevProps.sorts) {
|
|
71
|
-
log.debug('update table sort', sorts);
|
|
72
|
-
table.applySort(sorts);
|
|
73
|
-
}
|
|
74
|
-
this.updateViewport(top, bottom);
|
|
75
|
-
}
|
|
76
|
-
componentWillUnmount() {
|
|
77
|
-
this.updateViewport.cancel();
|
|
78
|
-
if (this.listenerCleanup) {
|
|
79
|
-
this.listenerCleanup();
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
render() {
|
|
83
|
-
return null;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
_defineProperty(TreeTableViewportUpdater, "UPDATE_INTERVAL", 1000);
|
|
87
|
-
_defineProperty(TreeTableViewportUpdater, "defaultProps", {
|
|
88
|
-
top: 0,
|
|
89
|
-
bottom: 0,
|
|
90
|
-
onViewportUpdate: () => undefined,
|
|
91
|
-
filters: [],
|
|
92
|
-
sorts: [],
|
|
93
|
-
updateInterval: TreeTableViewportUpdater.UPDATE_INTERVAL
|
|
94
|
-
});
|
|
95
|
-
export default TreeTableViewportUpdater;
|
|
96
|
-
//# sourceMappingURL=TreeTableViewportUpdater.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeTableViewportUpdater.js","names":["PureComponent","throttle","Log","log","module","UPDATE_THROTTLE","TreeTableViewportUpdater","constructor","props","_defineProperty","top","bottom","error","debug2","table","updateInterval","viewSize","viewportTop","Math","max","viewportBottom","listenerCleanup","dh","onViewportUpdate","addEventListener","TreeTable","EVENT_UPDATED","setViewport","undefined","componentDidMount","filters","sorts","debug","applyFilter","applySort","updateViewport","componentDidUpdate","prevProps","componentWillUnmount","cancel","render","UPDATE_INTERVAL"],"sources":["../src/TreeTableViewportUpdater.tsx"],"sourcesContent":["import { PureComponent } from 'react';\nimport throttle from 'lodash.throttle';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('TreeTableViewportUpdater');\n\nconst UPDATE_THROTTLE = 150;\n\ninterface TreeTableViewportUpdaterProps {\n dh: typeof DhType;\n table: DhType.Table;\n top: number;\n bottom: number;\n filters: DhType.FilterCondition[];\n sorts: DhType.Sort[];\n updateInterval: number;\n onViewportUpdate: (e: CustomEvent<DhType.ViewportData>) => void;\n}\n\n/**\n * Updates the viewport of a TreeTable for use in a scroll pane.\n * Automatically throttles the viewport requests and buffers above and below.\n */\nclass TreeTableViewportUpdater extends PureComponent<\n TreeTableViewportUpdaterProps,\n Record<string, never>\n> {\n static UPDATE_INTERVAL = 1000;\n\n static defaultProps = {\n top: 0,\n bottom: 0,\n onViewportUpdate: (): void => undefined,\n filters: [],\n sorts: [],\n updateInterval: TreeTableViewportUpdater.UPDATE_INTERVAL,\n };\n\n constructor(props: TreeTableViewportUpdaterProps) {\n super(props);\n\n this.listenerCleanup = null;\n }\n\n componentDidMount(): void {\n const { top, bottom, table, filters, sorts } = this.props;\n log.debug('componentDidMount', this.props);\n table.applyFilter(filters);\n table.applySort(sorts);\n this.updateViewport(top, bottom);\n }\n\n componentDidUpdate(prevProps: TreeTableViewportUpdaterProps): void {\n const { top, bottom, table, filters, sorts } = this.props;\n if (filters !== prevProps.filters) {\n log.debug('update table filter', filters);\n table.applyFilter(filters);\n }\n\n if (sorts !== prevProps.sorts) {\n log.debug('update table sort', sorts);\n table.applySort(sorts);\n }\n\n this.updateViewport(top, bottom);\n }\n\n componentWillUnmount(): void {\n this.updateViewport.cancel();\n if (this.listenerCleanup) {\n this.listenerCleanup();\n }\n }\n\n listenerCleanup: (() => void) | null;\n\n updateViewport = throttle((top: number, bottom: number): void => {\n if (bottom < top) {\n log.error('Invalid viewport', top, bottom);\n return;\n }\n\n if (top === 0 && bottom === 0) {\n log.debug2('Ignoring 0-0 viewport');\n return;\n }\n\n const { table, updateInterval } = this.props;\n const viewSize = bottom - top;\n const viewportTop = Math.max(0, top - viewSize * 3);\n const viewportBottom = bottom + viewSize * 3 + 1;\n log.debug2(\n 'Setting Viewport Top:',\n viewportTop,\n 'Bottom:',\n viewportBottom,\n table\n );\n\n if (!this.listenerCleanup) {\n const { dh, onViewportUpdate } = this.props;\n this.listenerCleanup = table.addEventListener(\n dh.TreeTable.EVENT_UPDATED,\n onViewportUpdate\n );\n }\n\n table.setViewport(viewportTop, viewportBottom, undefined, updateInterval);\n }, UPDATE_THROTTLE);\n\n render(): null {\n return null;\n }\n}\n\nexport default TreeTableViewportUpdater;\n"],"mappings":"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"}
|