@deephaven/iris-grid 0.59.1-beta.0 → 0.59.1-beta.3
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/EmptyIrisGridModel.d.ts +62 -0
- package/dist/EmptyIrisGridModel.d.ts.map +1 -0
- package/dist/EmptyIrisGridModel.js +168 -0
- package/dist/EmptyIrisGridModel.js.map +1 -0
- package/dist/IrisGrid.d.ts +17 -14
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +151 -146
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridModel.d.ts +5 -4
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +2 -1
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.d.ts +2 -2
- package/dist/IrisGridModelFactory.d.ts.map +1 -1
- package/dist/IrisGridModelFactory.js +1 -1
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.d.ts +3 -1
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js +8 -1
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.css +14 -36
- package/dist/IrisGridPartitionSelector.css.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts +39 -38
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +253 -227
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridPartitionedTableModel.d.ts +25 -0
- package/dist/IrisGridPartitionedTableModel.d.ts.map +1 -0
- package/dist/IrisGridPartitionedTableModel.js +74 -0
- package/dist/IrisGridPartitionedTableModel.js.map +1 -0
- package/dist/IrisGridProxyModel.d.ts +18 -4
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +84 -5
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +14 -4
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +96 -21
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +7 -7
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/IrisGridTableModelTemplate.js +1 -1
- package/dist/IrisGridTableModelTemplate.js.map +1 -1
- package/dist/IrisGridTreeTableModel.js +2 -4
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +7 -7
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +33 -34
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/MissingPartitionError.d.ts +6 -0
- package/dist/MissingPartitionError.d.ts.map +1 -0
- package/dist/MissingPartitionError.js +14 -0
- package/dist/MissingPartitionError.js.map +1 -0
- package/dist/PartitionedGridModel.d.ts +38 -0
- package/dist/PartitionedGridModel.d.ts.map +1 -0
- package/dist/PartitionedGridModel.js +15 -0
- package/dist/PartitionedGridModel.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +16 -15
- package/dist/PartitionSelectorSearch.css +0 -23
- package/dist/PartitionSelectorSearch.css.map +0 -1
- package/dist/PartitionSelectorSearch.d.ts +0 -78
- package/dist/PartitionSelectorSearch.d.ts.map +0 -1
- package/dist/PartitionSelectorSearch.js +0 -343
- package/dist/PartitionSelectorSearch.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -5,15 +5,17 @@ export * from './sidebar';
|
|
|
5
5
|
export * from './AdvancedFilterCreator';
|
|
6
6
|
export * from './CommonTypes';
|
|
7
7
|
export { default as ColumnHeaderGroup } from './ColumnHeaderGroup';
|
|
8
|
+
export * from './PartitionedGridModel';
|
|
8
9
|
export * from './IrisGrid';
|
|
9
10
|
export { default as SHORTCUTS } from './IrisGridShortcuts';
|
|
10
11
|
export { default as IrisGridModel } from './IrisGridModel';
|
|
11
12
|
export { default as IrisGridTableModel } from './IrisGridTableModel';
|
|
12
13
|
export * from './IrisGridTableModel';
|
|
14
|
+
export { default as IrisGridPartitionedTableModel } from './IrisGridPartitionedTableModel';
|
|
13
15
|
export { default as IrisGridTreeTableModel } from './IrisGridTreeTableModel';
|
|
14
16
|
export { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';
|
|
15
|
-
export * from './IrisGridTableModelTemplate';
|
|
16
17
|
export * from './IrisGridTreeTableModel';
|
|
18
|
+
export * from './IrisGridTableModelTemplate';
|
|
17
19
|
export { default as IrisGridModelFactory } from './IrisGridModelFactory';
|
|
18
20
|
export { createDefaultIrisGridTheme } from './IrisGridTheme';
|
|
19
21
|
export type { IrisGridThemeType } from './IrisGridTheme';
|
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,YAAY,CAAC;AAElC,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,YAAY,CAAC;AAC3B,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,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,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,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;AACnC,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -5,15 +5,17 @@ export * from "./sidebar/index.js";
|
|
|
5
5
|
export * from "./AdvancedFilterCreator.js";
|
|
6
6
|
export * from "./CommonTypes.js";
|
|
7
7
|
export { default as ColumnHeaderGroup } from "./ColumnHeaderGroup.js";
|
|
8
|
+
export * from "./PartitionedGridModel.js";
|
|
8
9
|
export * from "./IrisGrid.js";
|
|
9
10
|
export { default as SHORTCUTS } from "./IrisGridShortcuts.js";
|
|
10
11
|
export { default as IrisGridModel } from "./IrisGridModel.js";
|
|
11
12
|
export { default as IrisGridTableModel } from "./IrisGridTableModel.js";
|
|
12
13
|
export * from "./IrisGridTableModel.js";
|
|
14
|
+
export { default as IrisGridPartitionedTableModel } from "./IrisGridPartitionedTableModel.js";
|
|
13
15
|
export { default as IrisGridTreeTableModel } from "./IrisGridTreeTableModel.js";
|
|
14
16
|
export { default as IrisGridTableModelTemplate } from "./IrisGridTableModelTemplate.js";
|
|
15
|
-
export * from "./IrisGridTableModelTemplate.js";
|
|
16
17
|
export * from "./IrisGridTreeTableModel.js";
|
|
18
|
+
export * from "./IrisGridTableModelTemplate.js";
|
|
17
19
|
export { default as IrisGridModelFactory } from "./IrisGridModelFactory.js";
|
|
18
20
|
export { createDefaultIrisGridTheme } from "./IrisGridTheme.js";
|
|
19
21
|
export * from "./IrisGridThemeProvider.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["IrisGrid","default","ColumnHeaderGroup","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","createDefaultIrisGridTheme","IrisGridTestUtils","IrisGridUtils","TableViewportUpdater","TreeTableViewportUpdater"],"sources":["../src/index.ts"],"sourcesContent":["import IrisGrid from './IrisGrid';\n\nexport default IrisGrid;\nexport { IrisGrid };\nexport * from './sidebar';\nexport * from './AdvancedFilterCreator';\nexport * from './CommonTypes';\nexport { default as ColumnHeaderGroup } from './ColumnHeaderGroup';\nexport * 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 IrisGridTreeTableModel } from './IrisGridTreeTableModel';\nexport { default as IrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nexport * from './
|
|
1
|
+
{"version":3,"file":"index.js","names":["IrisGrid","default","ColumnHeaderGroup","SHORTCUTS","IrisGridModel","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridTableModelTemplate","IrisGridModelFactory","createDefaultIrisGridTheme","IrisGridTestUtils","IrisGridUtils","TableViewportUpdater","TreeTableViewportUpdater"],"sources":["../src/index.ts"],"sourcesContent":["import IrisGrid from './IrisGrid';\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 { 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';\nexport { default as TableViewportUpdater } from './TableViewportUpdater';\nexport { default as TreeTableViewportUpdater } from './TreeTableViewportUpdater';\n"],"mappings":"OAAOA,QAAQ;AAEf,eAAeA,QAAQ;AACvB,SAASA,QAAQ;AAAG;AAAA;AAAA;AAAA,SAIXC,OAAO,IAAIC,iBAAiB;AAAA;AAAA;AAAA,SAG5BD,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;AAAA,SAIxBX,OAAO,IAAIY,oBAAoB;AAAA,SAC/BZ,OAAO,IAAIa,wBAAwB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deephaven/iris-grid",
|
|
3
|
-
"version": "0.59.1-beta.
|
|
3
|
+
"version": "0.59.1-beta.3+e8b9f121",
|
|
4
4
|
"description": "Deephaven Iris Grid",
|
|
5
5
|
"author": "Deephaven Data Labs LLC",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,17 +31,18 @@
|
|
|
31
31
|
"build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@deephaven/components": "^0.59.1-beta.
|
|
35
|
-
"@deephaven/console": "^0.59.1-beta.
|
|
36
|
-
"@deephaven/filters": "^0.59.1-beta.
|
|
37
|
-
"@deephaven/grid": "^0.59.1-beta.
|
|
38
|
-
"@deephaven/icons": "^0.59.1-beta.
|
|
39
|
-
"@deephaven/jsapi-
|
|
40
|
-
"@deephaven/jsapi-
|
|
41
|
-
"@deephaven/
|
|
42
|
-
"@deephaven/
|
|
43
|
-
"@deephaven/
|
|
44
|
-
"@deephaven/
|
|
34
|
+
"@deephaven/components": "^0.59.1-beta.3+e8b9f121",
|
|
35
|
+
"@deephaven/console": "^0.59.1-beta.3+e8b9f121",
|
|
36
|
+
"@deephaven/filters": "^0.59.1-beta.3+e8b9f121",
|
|
37
|
+
"@deephaven/grid": "^0.59.1-beta.3+e8b9f121",
|
|
38
|
+
"@deephaven/icons": "^0.59.1-beta.3+e8b9f121",
|
|
39
|
+
"@deephaven/jsapi-components": "^0.59.1-beta.3+e8b9f121",
|
|
40
|
+
"@deephaven/jsapi-types": "^0.59.1-beta.3+e8b9f121",
|
|
41
|
+
"@deephaven/jsapi-utils": "^0.59.1-beta.3+e8b9f121",
|
|
42
|
+
"@deephaven/log": "^0.59.1-beta.3+e8b9f121",
|
|
43
|
+
"@deephaven/react-hooks": "^0.59.1-beta.3+e8b9f121",
|
|
44
|
+
"@deephaven/storage": "^0.59.1-beta.3+e8b9f121",
|
|
45
|
+
"@deephaven/utils": "^0.59.1-beta.3+e8b9f121",
|
|
45
46
|
"@dnd-kit/core": "^6.0.5",
|
|
46
47
|
"@dnd-kit/sortable": "^7.0.0",
|
|
47
48
|
"@dnd-kit/utilities": "^3.2.0",
|
|
@@ -64,8 +65,8 @@
|
|
|
64
65
|
"react-dom": "^17.x"
|
|
65
66
|
},
|
|
66
67
|
"devDependencies": {
|
|
67
|
-
"@deephaven/jsapi-shim": "^0.59.1-beta.
|
|
68
|
-
"@deephaven/mocks": "^0.59.1-beta.
|
|
68
|
+
"@deephaven/jsapi-shim": "^0.59.1-beta.3+e8b9f121",
|
|
69
|
+
"@deephaven/mocks": "^0.59.1-beta.3+e8b9f121"
|
|
69
70
|
},
|
|
70
71
|
"files": [
|
|
71
72
|
"dist"
|
|
@@ -76,5 +77,5 @@
|
|
|
76
77
|
"publishConfig": {
|
|
77
78
|
"access": "public"
|
|
78
79
|
},
|
|
79
|
-
"gitHead": "
|
|
80
|
+
"gitHead": "e8b9f121afaeb2c3dd6484a05ca1966a1d769260"
|
|
80
81
|
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/* stylelint-disable scss/at-import-no-partial-leading-underscore */
|
|
2
|
-
/* stylelint-disable-next-line number-max-precision */
|
|
3
|
-
.iris-grid-partition-selector-search .iris-grid-partition-selector-search-list .item-list-scroll-pane {
|
|
4
|
-
border: none;
|
|
5
|
-
}
|
|
6
|
-
.iris-grid-partition-selector-search .iris-grid-partition-selector-search-empty {
|
|
7
|
-
color: var(--dh-color-gray-600);
|
|
8
|
-
padding: 0.42145rem 0.75rem;
|
|
9
|
-
text-align: center;
|
|
10
|
-
}
|
|
11
|
-
.iris-grid-partition-selector-search .iris-grid-partition-selector-loading {
|
|
12
|
-
color: var(--dh-color-gray-600);
|
|
13
|
-
padding: 0.42145rem 0.75rem;
|
|
14
|
-
text-align: center;
|
|
15
|
-
}
|
|
16
|
-
.iris-grid-partition-selector-search .search-container {
|
|
17
|
-
padding: 0.25rem 0.5rem;
|
|
18
|
-
}
|
|
19
|
-
.iris-grid-partition-selector-search .search-container .form-control {
|
|
20
|
-
background-color: var(--dh-color-gray-500);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/*# sourceMappingURL=PartitionSelectorSearch.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../../node_modules/@deephaven/components/scss/custom.scss","../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss","../src/PartitionSelectorSearch.scss"],"names":[],"mappings":"AAAA;ACyLA;ACrLI;EACE;;AAGJ;EACE,ODSO;ECRP;EACA;;AAEF;EACE,ODIO;ECHP;EACA;;AAEF;EACE;;AACA;EACE,kBDFK","file":"PartitionSelectorSearch.css","sourcesContent":["/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n","// Styling overrides for bootstrap\n@use 'sass:map';\n\n// Override / set color variables\n$red: var(--dh-color-visual-red);\n$orange: var(--dh-color-visual-orange);\n$yellow: var(--dh-color-visual-yellow);\n$green: var(--dh-color-visual-green);\n$blue: var(--dh-color-visual-blue);\n$purple: var(--dh-color-visual-purple);\n\n// Fallback colors are used if theme isn't loaded\n// this is required for error messages if the API doesn't load\n\n//Define our Gray scale\n$gray-100: var(--dh-color-gray-900, #fcfcfa);\n$gray-200: var(--dh-color-gray-800);\n$gray-300: var(--dh-color-gray-700);\n$gray-400: var(--dh-color-gray-600);\n$gray-500: var(--dh-color-gray-500);\n// intentional duplicate, scale doesn't line up otherwise\n// as we have gray-850 and spectrum doesn't and it is needed\n$gray-600: var(--dh-color-gray-500);\n$gray-700: var(--dh-color-gray-400);\n$gray-800: var(--dh-color-gray-300);\n$gray-850: var(--dh-color-gray-200);\n$gray-900: var(--dh-color-gray-75);\n$black: var(--dh-color-black, #1a171a);\n$white: var(--dh-color-white, #f0f0ee);\n\n//Define some UI colors\n$interfacegray: var(--dh-color-content-bg, #2d2a2e);\n$interfaceblue: var(--dh-color-accent-bg);\n$interfacewhite: $white;\n$interfaceblack: $black;\n$content-bg: var(--dh-color-content-bg, #2d2a2e);\n$background: var(--dh-color-bg, #1a171a);\n$foreground: var(--dh-color-fg, #f0f0ee);\n\n// Extend default Bootstrap $grays map\n$grays-custom: (\n '850': $gray-850,\n);\n$grays: () !default;\n$grays: map-merge($grays, $grays-custom);\n\n// Extend default Bootstrap $colors map\n$colors-custom: (\n 'black': $black,\n);\n$colors: () !default;\n$colors: map-merge($colors, $colors-custom);\n\n// Override default Bootstrap $theme-colors map by mapping each key to itself.\n// These will then be re-mapped inside of `button-outline-variant` and\n// `button-outline-variant` mixins in `bootstrap_override_mixins_buttons.scss`\n$theme-colors-self-map: ();\n@each $key\n in (\n 'primary',\n 'secondary',\n 'success',\n 'info',\n 'warning',\n 'danger',\n 'light',\n 'dark'\n )\n{\n $theme-colors-self-map: map.set($theme-colors-self-map, $key, $key);\n}\n$theme-colors: () !default;\n$theme-colors: map-merge($theme-colors, $theme-colors-self-map);\n\n// Used by bootstrap_override_mixins_buttons.scss to map Bootstrap colors to\n// DH semantic colors\n$bootstrap-dh-semantic-map: (\n 'primary': 'accent',\n 'secondary': 'neutral',\n 'success': 'positive',\n 'info': 'info',\n 'warning': 'notice',\n 'danger': 'negative',\n // We shouldn't be using these, but mapping so they work with our custom\n // `color-yiq` mixin. If we find a way to remove $light + $dark that are\n // defined in Bootstrap _variables.scss, we should remove these\n 'light': 'neutral',\n 'dark': 'neutral',\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: var(--dh-color-accent-bg);\n$primary-hover: var(--dh-color-accent-hover-bg);\n$primary-dark: var(--dh-color-accent-down-bg);\n$secondary: var(--dh-color-neutral-bg);\n$secondary-hover: var(--dh-color-neutral-hover-bg);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: var(--dh-color-negative-bg);\n$danger-hover: var(--dh-color-negative-hover-bg);\n// We really don't want to use $light or $dark variables, but Bootstrap defines\n// them in _variables.scss. Explicitly setting them to ensure we are in control\n// of their values. If we can find a way to remove them, we should\n$light: var(--dh-color-gray-light);\n$dark: var(--dh-color-gray-dark);\n// Bootstrap doesn't define $mid, and we want to move away from this particular\n// semantic. Should be deleted by #1635\n$mid: var(--dh-color-gray-mid);\n\n$semantic-colors: (\n 'primary-hover': $primary-hover,\n 'primary-dark': $primary-dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n 'secondary-hover': $secondary-hover,\n 'danger-hover': $danger-hover,\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif:\n 'Fira Sans',\n -apple-system,\n blinkmacsystemfont,\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n arial,\n sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n$text-select-color: var(--dh-color-text-highlight);\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem var(--dh-color-dropshadow);\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition:\n color 0.12s ease-in-out,\n background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out,\n box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n$btn-font-weight: var(--spectrum-global-font-weight-bold);\n$btn-line-height: 1.3;\n\n//Override Inputs\n$input-bg: var(--dh-color-input-bg);\n$input-disabled-bg: var(--dh-color-input-disabled-bg);\n$input-color: var(--dh-color-input-fg);\n$input-border-color: var(--dh-color-input-border);\n$input-placeholder-color: var(--dh-color-input-placeholder);\n$input-focus-border-color: var(--dh-color-input-focus-border);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: hsla(var(--dh-color-accent-hsl), 0.35);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n$input-btn-line-height: 1.3;\n// Bootstrap uses a calc expression to determine the input height (calc(line-height + 2*padding-y + border)).\n// The padding-y value has to be in rem to match units as it is a SASS calc.\n// Using 0.42145rem with 1.3 line height gets us to spectrum's 32px.\n/* stylelint-disable-next-line number-max-precision */\n$input-btn-padding-y: 0.42145rem;\n\n//checkbox\n$custom-control-indicator-bg: var(--dh-color-input-bg);\n$custom-control-indicator-border-color: var(--dh-color-input-border);\n$custom-checkbox-indicator-border-radius: 2px;\n$custom-control-indicator-border-width: 2px;\n$custom-control-indicator-active-bg: var(--dh-color-input-bg);\n$custom-control-indicator-active-border-color: var(--dh-color-input-fg);\n$custom-control-indicator-checked-bg: var(--dh-color-input-fg);\n$custom-control-indicator-checked-color: black; // used as mask fill color\n$custom-checkbox-indicator-indeterminate-bg: var(--dh-color-input-fg);\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: var(--dh-color-input-disabled-bg);\n$custom-control-indicator-checked-disabled-bg: var(\n --dh-color-input-disabled-bg\n);\n$custom-control-label-disabled-color: var(--dh-color-input-disabled-fg);\n\n// The $custom-select-indicator variable is used by Bootstrap to provide the\n// icon for the select dropdown. Inline svgs can't use CSS variables, so we hard\n// code the color to #929192 (the default value of --dh-color-gray-600). PR #1651\n// overrides this icon altogether for known dropdowns, so technically we may not\n// need this, but it's here in case there are any remaining instances.\n$custom-select-indicator-color: #929192;\n$custom-select-bg: var(--dh-color-selector-bg);\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: $gray-500;\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $content-bg;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n$close-color: var(--dh-color-text);\n$close-text-shadow: none;\n\n// Toast notification\n$toast-bg: var(--dh-color-accent-100);\n$toast-color: var(--dh-color-text);\n$toast-error-bg: var(--dh-color-negative-bg);\n$toast-error-color: var(--dh-color-text);\n\n//tooltips\n$tooltip-bg: var(--dh-color-tooltip-bg);\n$tooltip-color: var(--dh-color-tooltip-fg);\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem var(--dh-color-tooltip-box-shadow);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: var(--dh-color-item-list-hover-bg);\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: var(--dh-color-popover-bg);\n$contextmenu-color: var(--dh-color-text);\n$contextmenu-disabled-color: var(--dh-color-input-disabled-fg);\n$contextmenu-keyboard-selected-bg: var(--dh-color-keyboard-selected-bg);\n$contextmenu-selected-bg: var(--dh-color-item-list-hover-bg);\n$contextmenu-selected-color: var(--dh-color-item-list-selected-fg);\n\n//hr\n$hr-border-color: var(--dh-color-hr);\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: $danger;\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n\n// This section of variables is not consumed directly by DH, but they need to be\n// defined for sass to compile _variables\n$table-dark-bg: $gray-800;\n$table-dark-accent-bg: var(--dh-color-highlight-hover);\n$table-dark-hover-bg: var(--dh-color-highlight-active);\n$table-dark-border-color: $gray-700;\n$popover-bg: var(--dh-color-tooltip-bg);\n$popover-border-color: var(--dh-color-overlay-modal-bg);\n$popover-header-bg: #000;\n$popover-arrow-outer-color: var(--dh-color-dropshadow);\n$custom-range-thumb-active-bg: var(--dh-color-accent-1100);\n","@import '@deephaven/components/scss/custom.scss';\n$partition-selector-search-input-bg: $gray-500;\n.iris-grid-partition-selector-search {\n .iris-grid-partition-selector-search-list {\n .item-list-scroll-pane {\n border: none;\n }\n }\n .iris-grid-partition-selector-search-empty {\n color: $text-muted;\n padding: $input-padding-y $input-btn-padding-x;\n text-align: center;\n }\n .iris-grid-partition-selector-loading {\n color: $text-muted;\n padding: $input-padding-y $input-btn-padding-x;\n text-align: center;\n }\n .search-container {\n padding: $tooltip-padding-y $tooltip-padding-x;\n .form-control {\n background-color: $partition-selector-search-input-bg;\n }\n }\n}\n"]}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/// <reference types="lodash" />
|
|
2
|
-
import React, { Component } from 'react';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
|
-
import { TableUtils } from '@deephaven/jsapi-utils';
|
|
5
|
-
import type { Column, dh as DhType, Table } from '@deephaven/jsapi-types';
|
|
6
|
-
import { ItemList } from '@deephaven/components';
|
|
7
|
-
import './PartitionSelectorSearch.scss';
|
|
8
|
-
import { ModelIndex } from '@deephaven/grid';
|
|
9
|
-
interface Item {
|
|
10
|
-
value: string;
|
|
11
|
-
displayValue: string;
|
|
12
|
-
}
|
|
13
|
-
interface PartitionSelectorSearchProps<T> {
|
|
14
|
-
column: Column;
|
|
15
|
-
dh: DhType;
|
|
16
|
-
getFormattedString: (value: T, type: string, name: string) => string;
|
|
17
|
-
table: Table;
|
|
18
|
-
initialPageSize: number;
|
|
19
|
-
onSelect: (value: string) => void;
|
|
20
|
-
onListResized: () => void;
|
|
21
|
-
}
|
|
22
|
-
interface PartitionSelectorSearchState {
|
|
23
|
-
offset: number;
|
|
24
|
-
itemCount: number;
|
|
25
|
-
items: Item[];
|
|
26
|
-
text: string;
|
|
27
|
-
isLoading: boolean;
|
|
28
|
-
}
|
|
29
|
-
declare class PartitionSelectorSearch<T> extends Component<PartitionSelectorSearchProps<T>, PartitionSelectorSearchState> {
|
|
30
|
-
static MAX_VISIBLE_ITEMS: number;
|
|
31
|
-
static defaultProps: {
|
|
32
|
-
initialPageSize: number;
|
|
33
|
-
onSelect: () => void;
|
|
34
|
-
onListResized: () => void;
|
|
35
|
-
};
|
|
36
|
-
static propTypes: {
|
|
37
|
-
getFormattedString: PropTypes.Validator<(...args: any[]) => any>;
|
|
38
|
-
table: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
|
|
39
|
-
addEventListener: PropTypes.Validator<(...args: any[]) => any>;
|
|
40
|
-
removeEventListener: PropTypes.Validator<(...args: any[]) => any>;
|
|
41
|
-
columns: PropTypes.Requireable<(PropTypes.InferProps<{
|
|
42
|
-
name: PropTypes.Validator<string>;
|
|
43
|
-
type: PropTypes.Validator<string>;
|
|
44
|
-
filter: PropTypes.Validator<(...args: any[]) => any>;
|
|
45
|
-
}> | null | undefined)[]>;
|
|
46
|
-
size: PropTypes.Validator<number>;
|
|
47
|
-
applyFilter: PropTypes.Validator<(...args: any[]) => any>;
|
|
48
|
-
setViewport: PropTypes.Validator<(...args: any[]) => any>;
|
|
49
|
-
}>>>;
|
|
50
|
-
initialPageSize: PropTypes.Requireable<number>;
|
|
51
|
-
onSelect: PropTypes.Requireable<(...args: any[]) => any>;
|
|
52
|
-
onListResized: PropTypes.Requireable<(...args: any[]) => any>;
|
|
53
|
-
};
|
|
54
|
-
static handleError(error: unknown): void;
|
|
55
|
-
constructor(props: PartitionSelectorSearchProps<T>);
|
|
56
|
-
componentDidMount(): void;
|
|
57
|
-
componentDidUpdate(prevProps: PartitionSelectorSearchProps<T>, prevState: PartitionSelectorSearchState): void;
|
|
58
|
-
componentWillUnmount(): void;
|
|
59
|
-
itemList: ItemList<Item> | null;
|
|
60
|
-
searchInput: HTMLInputElement | null;
|
|
61
|
-
timer: null;
|
|
62
|
-
tableUtils: TableUtils;
|
|
63
|
-
handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): boolean;
|
|
64
|
-
handleListKeydown(event: React.KeyboardEvent<HTMLDivElement>): void;
|
|
65
|
-
handleFilterChange(): void;
|
|
66
|
-
handleSelect(itemIndex: ModelIndex): void;
|
|
67
|
-
handleTableUpdate(event: CustomEvent): void;
|
|
68
|
-
handleTextChange(event: React.ChangeEvent<HTMLInputElement>): void;
|
|
69
|
-
handleViewportChange(topRow: number, bottomRow: number): void;
|
|
70
|
-
debounceUpdateFilter: import("lodash").DebouncedFunc<() => void>;
|
|
71
|
-
focus(): void;
|
|
72
|
-
startListening(): void;
|
|
73
|
-
stopListening(): void;
|
|
74
|
-
updateFilter(): void;
|
|
75
|
-
render(): JSX.Element;
|
|
76
|
-
}
|
|
77
|
-
export default PartitionSelectorSearch;
|
|
78
|
-
//# sourceMappingURL=PartitionSelectorSearch.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PartitionSelectorSearch.d.ts","sourceRoot":"","sources":["../src/PartitionSelectorSearch.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAC;AAGjE,OAAO,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK7C,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,UAAU,4BAA4B,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AACD,UAAU,4BAA4B;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;CACpB;AACD,cAAM,uBAAuB,CAAC,CAAC,CAAE,SAAQ,SAAS,CAChD,4BAA4B,CAAC,CAAC,CAAC,EAC/B,4BAA4B,CAC7B;IACC,MAAM,CAAC,iBAAiB,SAAM;IAE9B,MAAM,CAAC,YAAY;;wBAEH,IAAI;6BACC,IAAI;MACvB;IAEF,MAAM,CAAC,SAAS;;;;;;;;;;;;;;;;;MAmBd;IAEF,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;gBAM5B,KAAK,EAAE,4BAA4B,CAAC,CAAC,CAAC;IA2BlD,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAChB,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC,EAC1C,SAAS,EAAE,4BAA4B,GACtC,IAAI;IAWP,oBAAoB,IAAI,IAAI;IAM5B,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEhC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAErC,KAAK,EAAE,IAAI,CAAC;IAEZ,UAAU,EAAE,UAAU,CAAC;IAEvB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,OAAO;IAqCpE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,IAAI;IAWnE,kBAAkB,IAAI,IAAI;IAQ1B,YAAY,CAAC,SAAS,EAAE,UAAU,GAAG,IAAI;IAezC,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAsB3C,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAelE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAW7D,oBAAoB,uCAAgB,IAAI,EAEb;IAE3B,KAAK,IAAI,IAAI;IAMb,cAAc,IAAI,IAAI;IAUtB,aAAa,IAAI,IAAI;IASrB,YAAY,IAAI,IAAI;IAwBpB,MAAM,IAAI,GAAG,CAAC,OAAO;CA0DtB;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -1,343 +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 React, { Component } from 'react';
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
6
|
-
import debounce from 'lodash.debounce';
|
|
7
|
-
import { TableUtils } from '@deephaven/jsapi-utils';
|
|
8
|
-
import { ItemList, LoadingSpinner } from '@deephaven/components';
|
|
9
|
-
import Log from '@deephaven/log';
|
|
10
|
-
import { CanceledPromiseError } from '@deephaven/utils';
|
|
11
|
-
import "./PartitionSelectorSearch.css";
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
var log = Log.module('PartitionSelectorSearch');
|
|
15
|
-
var DEBOUNCE_UPDATE_FILTER = 150;
|
|
16
|
-
class PartitionSelectorSearch extends Component {
|
|
17
|
-
static handleError(error) {
|
|
18
|
-
if (!(error instanceof CanceledPromiseError)) {
|
|
19
|
-
log.error(error);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
constructor(props) {
|
|
23
|
-
super(props);
|
|
24
|
-
_defineProperty(this, "itemList", void 0);
|
|
25
|
-
_defineProperty(this, "searchInput", void 0);
|
|
26
|
-
_defineProperty(this, "timer", void 0);
|
|
27
|
-
_defineProperty(this, "tableUtils", void 0);
|
|
28
|
-
_defineProperty(this, "debounceUpdateFilter", debounce(() => {
|
|
29
|
-
this.updateFilter();
|
|
30
|
-
}, DEBOUNCE_UPDATE_FILTER));
|
|
31
|
-
this.handleFilterChange = this.handleFilterChange.bind(this);
|
|
32
|
-
this.handleKeyDown = this.handleKeyDown.bind(this);
|
|
33
|
-
this.handleListKeydown = this.handleListKeydown.bind(this);
|
|
34
|
-
this.handleSelect = this.handleSelect.bind(this);
|
|
35
|
-
this.handleTableUpdate = this.handleTableUpdate.bind(this);
|
|
36
|
-
this.handleTextChange = this.handleTextChange.bind(this);
|
|
37
|
-
this.handleViewportChange = this.handleViewportChange.bind(this);
|
|
38
|
-
this.itemList = null;
|
|
39
|
-
this.searchInput = null;
|
|
40
|
-
this.timer = null;
|
|
41
|
-
var {
|
|
42
|
-
dh
|
|
43
|
-
} = props;
|
|
44
|
-
this.tableUtils = new TableUtils(dh);
|
|
45
|
-
this.state = {
|
|
46
|
-
offset: 0,
|
|
47
|
-
itemCount: 0,
|
|
48
|
-
items: [],
|
|
49
|
-
text: '',
|
|
50
|
-
isLoading: true
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
componentDidMount() {
|
|
54
|
-
this.startListening();
|
|
55
|
-
}
|
|
56
|
-
componentDidUpdate(prevProps, prevState) {
|
|
57
|
-
var {
|
|
58
|
-
isLoading,
|
|
59
|
-
itemCount
|
|
60
|
-
} = this.state;
|
|
61
|
-
var {
|
|
62
|
-
onListResized
|
|
63
|
-
} = this.props;
|
|
64
|
-
if (itemCount !== prevState.itemCount || isLoading !== prevState.isLoading) {
|
|
65
|
-
onListResized();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
componentWillUnmount() {
|
|
69
|
-
this.debounceUpdateFilter.cancel();
|
|
70
|
-
this.stopListening();
|
|
71
|
-
}
|
|
72
|
-
handleKeyDown(event) {
|
|
73
|
-
if (this.itemList == null) {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
var {
|
|
77
|
-
items,
|
|
78
|
-
itemCount
|
|
79
|
-
} = this.state;
|
|
80
|
-
switch (event.key) {
|
|
81
|
-
case 'Enter':
|
|
82
|
-
{
|
|
83
|
-
var selectedValue = null;
|
|
84
|
-
if (items.length > 0) {
|
|
85
|
-
selectedValue = items[0].value;
|
|
86
|
-
} else {
|
|
87
|
-
var {
|
|
88
|
-
text
|
|
89
|
-
} = this.state;
|
|
90
|
-
selectedValue = text.trim();
|
|
91
|
-
}
|
|
92
|
-
if (selectedValue.length > 0) {
|
|
93
|
-
var {
|
|
94
|
-
onSelect
|
|
95
|
-
} = this.props;
|
|
96
|
-
onSelect(selectedValue);
|
|
97
|
-
}
|
|
98
|
-
event.stopPropagation();
|
|
99
|
-
event.preventDefault();
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
case 'ArrowDown':
|
|
103
|
-
if (itemCount > 0) {
|
|
104
|
-
this.itemList.focusItem(1);
|
|
105
|
-
}
|
|
106
|
-
event.stopPropagation();
|
|
107
|
-
event.preventDefault();
|
|
108
|
-
return true;
|
|
109
|
-
default:
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
handleListKeydown(event) {
|
|
114
|
-
switch (event.key) {
|
|
115
|
-
case 'Escape':
|
|
116
|
-
// Do nothing
|
|
117
|
-
break;
|
|
118
|
-
default:
|
|
119
|
-
this.focus();
|
|
120
|
-
break;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
handleFilterChange() {
|
|
124
|
-
log.debug2('handleFilterChange');
|
|
125
|
-
var {
|
|
126
|
-
table
|
|
127
|
-
} = this.props;
|
|
128
|
-
var itemCount = table.size;
|
|
129
|
-
this.setState({
|
|
130
|
-
itemCount,
|
|
131
|
-
isLoading: true
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
handleSelect(itemIndex) {
|
|
135
|
-
log.debug2('handleSelect', itemIndex);
|
|
136
|
-
var {
|
|
137
|
-
onSelect
|
|
138
|
-
} = this.props;
|
|
139
|
-
var {
|
|
140
|
-
offset,
|
|
141
|
-
items
|
|
142
|
-
} = this.state;
|
|
143
|
-
var offsetIndex = itemIndex - offset;
|
|
144
|
-
if (offsetIndex < 0 || items.length <= offsetIndex) {
|
|
145
|
-
log.error('No data for item', itemIndex);
|
|
146
|
-
return;
|
|
147
|
-
}
|
|
148
|
-
var {
|
|
149
|
-
value
|
|
150
|
-
} = items[offsetIndex];
|
|
151
|
-
onSelect(value);
|
|
152
|
-
}
|
|
153
|
-
handleTableUpdate(event) {
|
|
154
|
-
var {
|
|
155
|
-
column
|
|
156
|
-
} = this.props;
|
|
157
|
-
var data = event.detail;
|
|
158
|
-
var {
|
|
159
|
-
offset,
|
|
160
|
-
rows
|
|
161
|
-
} = data;
|
|
162
|
-
var items = [];
|
|
163
|
-
var {
|
|
164
|
-
getFormattedString,
|
|
165
|
-
table
|
|
166
|
-
} = this.props;
|
|
167
|
-
for (var r = 0; r < rows.length; r += 1) {
|
|
168
|
-
var row = rows[r];
|
|
169
|
-
var _value = row.get(column);
|
|
170
|
-
var displayValue = getFormattedString(_value, column.type, column.name);
|
|
171
|
-
items.push({
|
|
172
|
-
displayValue,
|
|
173
|
-
value: _value
|
|
174
|
-
});
|
|
175
|
-
}
|
|
176
|
-
var itemCount = table.size;
|
|
177
|
-
log.debug2('handleTableUpdate', itemCount, offset, items.length);
|
|
178
|
-
this.setState({
|
|
179
|
-
itemCount,
|
|
180
|
-
items,
|
|
181
|
-
offset,
|
|
182
|
-
isLoading: false
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
handleTextChange(event) {
|
|
186
|
-
log.debug2('handleTextChange');
|
|
187
|
-
var {
|
|
188
|
-
column
|
|
189
|
-
} = this.props;
|
|
190
|
-
var {
|
|
191
|
-
value: text
|
|
192
|
-
} = event.target;
|
|
193
|
-
if (text !== '' && TableUtils.isIntegerType(column.type)) {
|
|
194
|
-
this.setState({
|
|
195
|
-
text: parseInt(text, 10).toString()
|
|
196
|
-
});
|
|
197
|
-
} else {
|
|
198
|
-
this.setState({
|
|
199
|
-
text
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
this.debounceUpdateFilter();
|
|
203
|
-
}
|
|
204
|
-
handleViewportChange(topRow, bottomRow) {
|
|
205
|
-
log.debug2('handleViewportChange', topRow, bottomRow);
|
|
206
|
-
var delta = Math.max(1, bottomRow - topRow);
|
|
207
|
-
var top = Math.max(0, topRow - delta);
|
|
208
|
-
var bottom = bottomRow + delta;
|
|
209
|
-
var {
|
|
210
|
-
table
|
|
211
|
-
} = this.props;
|
|
212
|
-
table.setViewport(top, bottom);
|
|
213
|
-
}
|
|
214
|
-
focus() {
|
|
215
|
-
if (this.searchInput) {
|
|
216
|
-
this.searchInput.focus();
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
startListening() {
|
|
220
|
-
var {
|
|
221
|
-
dh,
|
|
222
|
-
initialPageSize,
|
|
223
|
-
table
|
|
224
|
-
} = this.props;
|
|
225
|
-
table.addEventListener(dh.Table.EVENT_UPDATED, this.handleTableUpdate);
|
|
226
|
-
table.addEventListener(dh.Table.EVENT_FILTERCHANGED, this.handleFilterChange);
|
|
227
|
-
table.setViewport(0, initialPageSize);
|
|
228
|
-
}
|
|
229
|
-
stopListening() {
|
|
230
|
-
var {
|
|
231
|
-
dh,
|
|
232
|
-
table
|
|
233
|
-
} = this.props;
|
|
234
|
-
table.removeEventListener(dh.Table.EVENT_UPDATED, this.handleTableUpdate);
|
|
235
|
-
table.removeEventListener(dh.Table.EVENT_FILTERCHANGED, this.handleFilterChange);
|
|
236
|
-
}
|
|
237
|
-
updateFilter() {
|
|
238
|
-
var {
|
|
239
|
-
column,
|
|
240
|
-
initialPageSize,
|
|
241
|
-
table
|
|
242
|
-
} = this.props;
|
|
243
|
-
var {
|
|
244
|
-
text
|
|
245
|
-
} = this.state;
|
|
246
|
-
var filterText = text.trim();
|
|
247
|
-
var filters = [];
|
|
248
|
-
if (filterText.length > 0) {
|
|
249
|
-
var filter = this.tableUtils.makeQuickFilterFromComponent(column, TableUtils.isStringType(column.type) ? "~".concat(filterText) : filterText);
|
|
250
|
-
if (!filter) {
|
|
251
|
-
throw new Error('Unable to create column filter for partition selector');
|
|
252
|
-
}
|
|
253
|
-
filters.push(filter);
|
|
254
|
-
}
|
|
255
|
-
log.debug2('updateFilter', filters);
|
|
256
|
-
table.applyFilter(filters);
|
|
257
|
-
table.setViewport(0, initialPageSize);
|
|
258
|
-
}
|
|
259
|
-
render() {
|
|
260
|
-
var {
|
|
261
|
-
column
|
|
262
|
-
} = this.props;
|
|
263
|
-
var {
|
|
264
|
-
isLoading,
|
|
265
|
-
itemCount,
|
|
266
|
-
items,
|
|
267
|
-
offset,
|
|
268
|
-
text
|
|
269
|
-
} = this.state;
|
|
270
|
-
var listHeight = Math.min(itemCount, PartitionSelectorSearch.MAX_VISIBLE_ITEMS) * ItemList.DEFAULT_ROW_HEIGHT +
|
|
271
|
-
// Adjust for ListItem vertical padding - .375rem ~ 5.25px
|
|
272
|
-
11;
|
|
273
|
-
var inputType = TableUtils.isNumberType(column.type) ? 'number' : 'text';
|
|
274
|
-
return /*#__PURE__*/_jsxs("div", {
|
|
275
|
-
className: "iris-grid-partition-selector-search",
|
|
276
|
-
children: [/*#__PURE__*/_jsx("div", {
|
|
277
|
-
className: "search-container",
|
|
278
|
-
children: /*#__PURE__*/_jsx("input", {
|
|
279
|
-
type: inputType,
|
|
280
|
-
ref: searchInput => {
|
|
281
|
-
this.searchInput = searchInput;
|
|
282
|
-
},
|
|
283
|
-
value: text,
|
|
284
|
-
placeholder: "Available Partitions",
|
|
285
|
-
onChange: this.handleTextChange,
|
|
286
|
-
onKeyDown: this.handleKeyDown,
|
|
287
|
-
className: "form-control input-partition"
|
|
288
|
-
})
|
|
289
|
-
}), !isLoading && itemCount > 0 && /*#__PURE__*/_jsx("div", {
|
|
290
|
-
className: "iris-grid-partition-selector-search-list",
|
|
291
|
-
onKeyDown: this.handleListKeydown,
|
|
292
|
-
role: "presentation",
|
|
293
|
-
style: {
|
|
294
|
-
height: listHeight
|
|
295
|
-
},
|
|
296
|
-
children: /*#__PURE__*/_jsx(ItemList, {
|
|
297
|
-
ref: itemList => {
|
|
298
|
-
this.itemList = itemList;
|
|
299
|
-
},
|
|
300
|
-
itemCount: itemCount,
|
|
301
|
-
items: items,
|
|
302
|
-
offset: offset,
|
|
303
|
-
onSelect: this.handleSelect,
|
|
304
|
-
onViewportChange: this.handleViewportChange
|
|
305
|
-
})
|
|
306
|
-
}), !isLoading && itemCount === 0 && /*#__PURE__*/_jsx("div", {
|
|
307
|
-
className: "iris-grid-partition-selector-search-empty",
|
|
308
|
-
children: "No results"
|
|
309
|
-
}), isLoading && /*#__PURE__*/_jsxs("div", {
|
|
310
|
-
className: "iris-grid-partition-selector-loading",
|
|
311
|
-
children: [/*#__PURE__*/_jsx(LoadingSpinner, {
|
|
312
|
-
className: "loading-spinner-vertical-align"
|
|
313
|
-
}), "\xA0Loading..."]
|
|
314
|
-
})]
|
|
315
|
-
});
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
_defineProperty(PartitionSelectorSearch, "MAX_VISIBLE_ITEMS", 12);
|
|
319
|
-
_defineProperty(PartitionSelectorSearch, "defaultProps", {
|
|
320
|
-
initialPageSize: 100,
|
|
321
|
-
onSelect: () => undefined,
|
|
322
|
-
onListResized: () => undefined
|
|
323
|
-
});
|
|
324
|
-
_defineProperty(PartitionSelectorSearch, "propTypes", {
|
|
325
|
-
getFormattedString: PropTypes.func.isRequired,
|
|
326
|
-
table: PropTypes.shape({
|
|
327
|
-
addEventListener: PropTypes.func.isRequired,
|
|
328
|
-
removeEventListener: PropTypes.func.isRequired,
|
|
329
|
-
columns: PropTypes.arrayOf(PropTypes.shape({
|
|
330
|
-
name: PropTypes.string.isRequired,
|
|
331
|
-
type: PropTypes.string.isRequired,
|
|
332
|
-
filter: PropTypes.func.isRequired
|
|
333
|
-
})),
|
|
334
|
-
size: PropTypes.number.isRequired,
|
|
335
|
-
applyFilter: PropTypes.func.isRequired,
|
|
336
|
-
setViewport: PropTypes.func.isRequired
|
|
337
|
-
}).isRequired,
|
|
338
|
-
initialPageSize: PropTypes.number,
|
|
339
|
-
onSelect: PropTypes.func,
|
|
340
|
-
onListResized: PropTypes.func
|
|
341
|
-
});
|
|
342
|
-
export default PartitionSelectorSearch;
|
|
343
|
-
//# sourceMappingURL=PartitionSelectorSearch.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PartitionSelectorSearch.js","names":["React","Component","PropTypes","debounce","TableUtils","ItemList","LoadingSpinner","Log","CanceledPromiseError","jsx","_jsx","jsxs","_jsxs","log","module","DEBOUNCE_UPDATE_FILTER","PartitionSelectorSearch","handleError","error","constructor","props","_defineProperty","updateFilter","handleFilterChange","bind","handleKeyDown","handleListKeydown","handleSelect","handleTableUpdate","handleTextChange","handleViewportChange","itemList","searchInput","timer","dh","tableUtils","state","offset","itemCount","items","text","isLoading","componentDidMount","startListening","componentDidUpdate","prevProps","prevState","onListResized","componentWillUnmount","debounceUpdateFilter","cancel","stopListening","event","key","selectedValue","length","value","trim","onSelect","stopPropagation","preventDefault","focusItem","focus","debug2","table","size","setState","itemIndex","offsetIndex","column","data","detail","rows","getFormattedString","r","row","get","displayValue","type","name","push","target","isIntegerType","parseInt","toString","topRow","bottomRow","delta","Math","max","top","bottom","setViewport","initialPageSize","addEventListener","Table","EVENT_UPDATED","EVENT_FILTERCHANGED","removeEventListener","filterText","filters","filter","makeQuickFilterFromComponent","isStringType","concat","Error","applyFilter","render","listHeight","min","MAX_VISIBLE_ITEMS","DEFAULT_ROW_HEIGHT","inputType","isNumberType","className","children","ref","placeholder","onChange","onKeyDown","role","style","height","onViewportChange","undefined","func","isRequired","shape","columns","arrayOf","string","number"],"sources":["../src/PartitionSelectorSearch.tsx"],"sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash.debounce';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport type { Column, dh as DhType, Table } from '@deephaven/jsapi-types';\nimport { ItemList, LoadingSpinner } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { CanceledPromiseError } from '@deephaven/utils';\nimport './PartitionSelectorSearch.scss';\nimport { ModelIndex } from '@deephaven/grid';\n\nconst log = Log.module('PartitionSelectorSearch');\nconst DEBOUNCE_UPDATE_FILTER = 150;\n\ninterface Item {\n value: string;\n displayValue: string;\n}\n\ninterface PartitionSelectorSearchProps<T> {\n column: Column;\n dh: DhType;\n getFormattedString: (value: T, type: string, name: string) => string;\n table: Table;\n initialPageSize: number;\n onSelect: (value: string) => void;\n onListResized: () => void;\n}\ninterface PartitionSelectorSearchState {\n offset: number;\n itemCount: number;\n items: Item[];\n text: string;\n isLoading: boolean;\n}\nclass PartitionSelectorSearch<T> extends Component<\n PartitionSelectorSearchProps<T>,\n PartitionSelectorSearchState\n> {\n static MAX_VISIBLE_ITEMS = 12;\n\n static defaultProps = {\n initialPageSize: 100,\n onSelect: (): void => undefined,\n onListResized: (): void => undefined,\n };\n\n static propTypes = {\n getFormattedString: PropTypes.func.isRequired,\n table: PropTypes.shape({\n addEventListener: PropTypes.func.isRequired,\n removeEventListener: PropTypes.func.isRequired,\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n filter: PropTypes.func.isRequired,\n })\n ),\n size: PropTypes.number.isRequired,\n applyFilter: PropTypes.func.isRequired,\n setViewport: PropTypes.func.isRequired,\n }).isRequired,\n initialPageSize: PropTypes.number,\n onSelect: PropTypes.func,\n onListResized: PropTypes.func,\n };\n\n static handleError(error: unknown): void {\n if (!(error instanceof CanceledPromiseError)) {\n log.error(error);\n }\n }\n\n constructor(props: PartitionSelectorSearchProps<T>) {\n super(props);\n\n this.handleFilterChange = this.handleFilterChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleListKeydown = this.handleListKeydown.bind(this);\n this.handleSelect = this.handleSelect.bind(this);\n this.handleTableUpdate = this.handleTableUpdate.bind(this);\n this.handleTextChange = this.handleTextChange.bind(this);\n this.handleViewportChange = this.handleViewportChange.bind(this);\n\n this.itemList = null;\n this.searchInput = null;\n this.timer = null;\n\n const { dh } = props;\n this.tableUtils = new TableUtils(dh);\n\n this.state = {\n offset: 0,\n itemCount: 0,\n items: [],\n text: '',\n isLoading: true,\n };\n }\n\n componentDidMount(): void {\n this.startListening();\n }\n\n componentDidUpdate(\n prevProps: PartitionSelectorSearchProps<T>,\n prevState: PartitionSelectorSearchState\n ): void {\n const { isLoading, itemCount } = this.state;\n const { onListResized } = this.props;\n if (\n itemCount !== prevState.itemCount ||\n isLoading !== prevState.isLoading\n ) {\n onListResized();\n }\n }\n\n componentWillUnmount(): void {\n this.debounceUpdateFilter.cancel();\n\n this.stopListening();\n }\n\n itemList: ItemList<Item> | null;\n\n searchInput: HTMLInputElement | null;\n\n timer: null;\n\n tableUtils: TableUtils;\n\n handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): boolean {\n if (this.itemList == null) {\n return false;\n }\n\n const { items, itemCount } = this.state;\n switch (event.key) {\n case 'Enter': {\n let selectedValue = null;\n if (items.length > 0) {\n selectedValue = items[0].value;\n } else {\n const { text } = this.state;\n selectedValue = text.trim();\n }\n\n if (selectedValue.length > 0) {\n const { onSelect } = this.props;\n onSelect(selectedValue);\n }\n\n event.stopPropagation();\n event.preventDefault();\n return true;\n }\n case 'ArrowDown':\n if (itemCount > 0) {\n this.itemList.focusItem(1);\n }\n event.stopPropagation();\n event.preventDefault();\n return true;\n default:\n return false;\n }\n }\n\n handleListKeydown(event: React.KeyboardEvent<HTMLDivElement>): void {\n switch (event.key) {\n case 'Escape':\n // Do nothing\n break;\n default:\n this.focus();\n break;\n }\n }\n\n handleFilterChange(): void {\n log.debug2('handleFilterChange');\n\n const { table } = this.props;\n const itemCount = table.size;\n this.setState({ itemCount, isLoading: true });\n }\n\n handleSelect(itemIndex: ModelIndex): void {\n log.debug2('handleSelect', itemIndex);\n\n const { onSelect } = this.props;\n const { offset, items } = this.state;\n const offsetIndex = itemIndex - offset;\n if (offsetIndex < 0 || items.length <= offsetIndex) {\n log.error('No data for item', itemIndex);\n return;\n }\n\n const { value } = items[offsetIndex];\n onSelect(value);\n }\n\n handleTableUpdate(event: CustomEvent): void {\n const { column } = this.props;\n const data = event.detail;\n const { offset, rows } = data;\n\n const items = [] as Item[];\n const { getFormattedString, table } = this.props;\n for (let r = 0; r < rows.length; r += 1) {\n const row = rows[r];\n const value = row.get(column);\n const displayValue = getFormattedString(value, column.type, column.name);\n items.push({\n displayValue,\n value,\n });\n }\n\n const itemCount = table.size;\n log.debug2('handleTableUpdate', itemCount, offset, items.length);\n this.setState({ itemCount, items, offset, isLoading: false });\n }\n\n handleTextChange(event: React.ChangeEvent<HTMLInputElement>): void {\n log.debug2('handleTextChange');\n\n const { column } = this.props;\n const { value: text } = event.target;\n\n if (text !== '' && TableUtils.isIntegerType(column.type)) {\n this.setState({ text: parseInt(text, 10).toString() });\n } else {\n this.setState({ text });\n }\n\n this.debounceUpdateFilter();\n }\n\n handleViewportChange(topRow: number, bottomRow: number): void {\n log.debug2('handleViewportChange', topRow, bottomRow);\n\n const delta = Math.max(1, bottomRow - topRow);\n const top = Math.max(0, topRow - delta);\n const bottom = bottomRow + delta;\n\n const { table } = this.props;\n table.setViewport(top, bottom);\n }\n\n debounceUpdateFilter = debounce((): void => {\n this.updateFilter();\n }, DEBOUNCE_UPDATE_FILTER);\n\n focus(): void {\n if (this.searchInput) {\n this.searchInput.focus();\n }\n }\n\n startListening(): void {\n const { dh, initialPageSize, table } = this.props;\n table.addEventListener(dh.Table.EVENT_UPDATED, this.handleTableUpdate);\n table.addEventListener(\n dh.Table.EVENT_FILTERCHANGED,\n this.handleFilterChange\n );\n table.setViewport(0, initialPageSize);\n }\n\n stopListening(): void {\n const { dh, table } = this.props;\n table.removeEventListener(dh.Table.EVENT_UPDATED, this.handleTableUpdate);\n table.removeEventListener(\n dh.Table.EVENT_FILTERCHANGED,\n this.handleFilterChange\n );\n }\n\n updateFilter(): void {\n const { column, initialPageSize, table } = this.props;\n const { text } = this.state;\n const filterText = text.trim();\n const filters = [];\n if (filterText.length > 0) {\n const filter = this.tableUtils.makeQuickFilterFromComponent(\n column,\n TableUtils.isStringType(column.type) ? `~${filterText}` : filterText\n );\n if (!filter) {\n throw new Error(\n 'Unable to create column filter for partition selector'\n );\n }\n filters.push(filter);\n }\n\n log.debug2('updateFilter', filters);\n\n table.applyFilter(filters);\n table.setViewport(0, initialPageSize);\n }\n\n render(): JSX.Element {\n const { column } = this.props;\n const { isLoading, itemCount, items, offset, text } = this.state;\n\n const listHeight =\n Math.min(itemCount, PartitionSelectorSearch.MAX_VISIBLE_ITEMS) *\n ItemList.DEFAULT_ROW_HEIGHT +\n // Adjust for ListItem vertical padding - .375rem ~ 5.25px\n 11;\n const inputType = TableUtils.isNumberType(column.type) ? 'number' : 'text';\n return (\n <div className=\"iris-grid-partition-selector-search\">\n <div className=\"search-container\">\n <input\n type={inputType}\n ref={searchInput => {\n this.searchInput = searchInput;\n }}\n value={text}\n placeholder=\"Available Partitions\"\n onChange={this.handleTextChange}\n onKeyDown={this.handleKeyDown}\n className=\"form-control input-partition\"\n />\n </div>\n {!isLoading && itemCount > 0 && (\n <div\n className=\"iris-grid-partition-selector-search-list\"\n onKeyDown={this.handleListKeydown}\n role=\"presentation\"\n style={{ height: listHeight }}\n >\n <ItemList\n ref={itemList => {\n this.itemList = itemList;\n }}\n itemCount={itemCount}\n items={items}\n offset={offset}\n onSelect={this.handleSelect}\n onViewportChange={this.handleViewportChange}\n />\n </div>\n )}\n {!isLoading && itemCount === 0 && (\n <div className=\"iris-grid-partition-selector-search-empty\">\n No results\n </div>\n )}\n {isLoading && (\n <div className=\"iris-grid-partition-selector-loading\">\n <LoadingSpinner className=\"loading-spinner-vertical-align\" />\n Loading...\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default PartitionSelectorSearch;\n"],"mappings":"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"}
|