@deephaven/iris-grid 0.15.2-beta.0 → 0.15.3-beta.0

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.
Files changed (83) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +1 -2
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +20 -17
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
  6. package/dist/AdvancedFilterCreatorFilterItem.js +10 -6
  7. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  8. package/dist/AdvancedFilterCreatorSelectValue.d.ts +1 -2
  9. package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
  10. package/dist/AdvancedFilterCreatorSelectValue.js +1 -2
  11. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  12. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +1 -2
  13. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  14. package/dist/AdvancedFilterCreatorSelectValueList.js +10 -10
  15. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  16. package/dist/ColumnHeaderGroup.d.ts +18 -0
  17. package/dist/ColumnHeaderGroup.d.ts.map +1 -0
  18. package/dist/ColumnHeaderGroup.js +51 -0
  19. package/dist/ColumnHeaderGroup.js.map +1 -0
  20. package/dist/IrisGrid.css +13 -5
  21. package/dist/IrisGrid.css.map +1 -1
  22. package/dist/IrisGrid.d.ts +9 -8
  23. package/dist/IrisGrid.d.ts.map +1 -1
  24. package/dist/IrisGrid.js +30 -21
  25. package/dist/IrisGrid.js.map +1 -1
  26. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  27. package/dist/IrisGridCellOverflowModal.js +29 -5
  28. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  29. package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
  30. package/dist/IrisGridMetricCalculator.js +2 -6
  31. package/dist/IrisGridMetricCalculator.js.map +1 -1
  32. package/dist/IrisGridPartitionSelector.d.ts +0 -1
  33. package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
  34. package/dist/IrisGridProxyModel.d.ts +4 -0
  35. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  36. package/dist/IrisGridProxyModel.js +16 -0
  37. package/dist/IrisGridProxyModel.js.map +1 -1
  38. package/dist/IrisGridRenderer.d.ts +10 -2
  39. package/dist/IrisGridRenderer.d.ts.map +1 -1
  40. package/dist/IrisGridRenderer.js +74 -22
  41. package/dist/IrisGridRenderer.js.map +1 -1
  42. package/dist/IrisGridTableModel.d.ts +1 -5
  43. package/dist/IrisGridTableModel.d.ts.map +1 -1
  44. package/dist/IrisGridTableModel.js +1 -45
  45. package/dist/IrisGridTableModel.js.map +1 -1
  46. package/dist/IrisGridTableModelTemplate.d.ts +25 -6
  47. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  48. package/dist/IrisGridTableModelTemplate.js +318 -7
  49. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  50. package/dist/IrisGridTheme.js +1 -1
  51. package/dist/IrisGridTheme.js.map +1 -1
  52. package/dist/IrisGridTheme.module.css +1 -0
  53. package/dist/IrisGridTheme.module.css.map +1 -1
  54. package/dist/IrisGridUtils.d.ts +2 -2
  55. package/dist/IrisGridUtils.d.ts.map +1 -1
  56. package/dist/IrisGridUtils.js +42 -32
  57. package/dist/IrisGridUtils.js.map +1 -1
  58. package/dist/PartitionSelectorSearch.d.ts +0 -1
  59. package/dist/PartitionSelectorSearch.d.ts.map +1 -1
  60. package/dist/TableViewportUpdater.d.ts +0 -1
  61. package/dist/TableViewportUpdater.d.ts.map +1 -1
  62. package/dist/TreeTableViewportUpdater.d.ts +0 -1
  63. package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
  64. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.d.ts.map +1 -1
  65. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +4 -12
  66. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  67. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +16 -13
  68. package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
  69. package/dist/mousehandlers/IrisGridContextMenuHandler.js +291 -227
  70. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  71. package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
  72. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +14 -4
  73. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  74. package/dist/mousehandlers/IrisGridSortMouseHandler.d.ts.map +1 -1
  75. package/dist/mousehandlers/IrisGridSortMouseHandler.js +4 -8
  76. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  77. package/dist/sidebar/RollupRows.d.ts +0 -1
  78. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  79. package/dist/sidebar/TableSaver.d.ts +0 -1
  80. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  81. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +0 -1
  82. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  83. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridCellOverflowModal.d.ts","sourceRoot":"","sources":["../src/IrisGridCellOverflowModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,OAAO,kCAAkC,CAAC;AAE1C,UAAU,8BAA8B;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,IAAI,EACJ,MAAM,EACN,OAAO,GACR,EAAE,8BAA8B,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAyJ5D"}
1
+ {"version":3,"file":"IrisGridCellOverflowModal.d.ts","sourceRoot":"","sources":["../src/IrisGridCellOverflowModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAW3D,OAAO,kCAAkC,CAAC;AAE1C,UAAU,8BAA8B;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,yBAAyB,CAAC,EAChD,IAAI,EACJ,MAAM,EACN,OAAO,GACR,EAAE,8BAA8B,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAoL5D"}
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useRef, useState } from 'react';
2
2
  import { Editor } from '@deephaven/console';
3
- import { Button, Modal, ModalBody, ModalHeader } from '@deephaven/components';
4
- import { vsJson, vsListOrdered } from '@deephaven/icons';
3
+ import { Button, ContextActionUtils, Modal, ModalBody, ModalHeader } from '@deephaven/components';
4
+ import { vsCopy, vsJson, vsListOrdered, vsPassFilled } from '@deephaven/icons';
5
5
  import "./IrisGridCellOverflowModal.css";
6
6
  export default function IrisGridCellOverflowModal(_ref) {
7
7
  var {
@@ -14,7 +14,9 @@ export default function IrisGridCellOverflowModal(_ref) {
14
14
  var [showLineNumbers, setShowLineNumbers] = useState(false);
15
15
  var [isFormatted, setIsFormatted] = useState(false);
16
16
  var [canFormat, setCanFormat] = useState(false);
17
- var editorRef = useRef(); // Update format button on open
17
+ var editorRef = useRef();
18
+ var copiedTimeout = useRef(null);
19
+ var [copied, setCopied] = useState(false); // Update format button on open
18
20
 
19
21
  useEffect(function enableFormatButtonWhenOpen() {
20
22
  if (!isOpen) {
@@ -44,15 +46,32 @@ export default function IrisGridCellOverflowModal(_ref) {
44
46
  });
45
47
  }
46
48
  }, [showLineNumbers]);
49
+ useEffect(() => {
50
+ if (copiedTimeout.current) clearTimeout(copiedTimeout.current);
51
+ copiedTimeout.current = setTimeout(() => {
52
+ setCopied(false);
53
+ }, 1000);
54
+ return () => {
55
+ if (copiedTimeout.current) clearTimeout(copiedTimeout.current);
56
+ };
57
+ }, [copied]);
58
+
59
+ function copyContents() {
60
+ var _editorRef$current$ge, _editorRef$current;
61
+
62
+ ContextActionUtils.copyToClipboard((_editorRef$current$ge = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.getValue()) !== null && _editorRef$current$ge !== void 0 ? _editorRef$current$ge : text).then(() => {
63
+ setCopied(true);
64
+ });
65
+ }
47
66
 
48
67
  function toggleLineNumbers() {
49
68
  setShowLineNumbers(!showLineNumbers);
50
69
  }
51
70
 
52
71
  function formatAsJSON() {
53
- var _editorRef$current;
72
+ var _editorRef$current2;
54
73
 
55
- var model = (_editorRef$current = editorRef.current) === null || _editorRef$current === void 0 ? void 0 : _editorRef$current.getModel();
74
+ var model = (_editorRef$current2 = editorRef.current) === null || _editorRef$current2 === void 0 ? void 0 : _editorRef$current2.getModel();
56
75
 
57
76
  if (!canFormat || !model) {
58
77
  return;
@@ -119,6 +138,11 @@ export default function IrisGridCellOverflowModal(_ref) {
119
138
  }, /*#__PURE__*/React.createElement("h5", {
120
139
  className: "overflow-modal-title"
121
140
  }, "Cell Contents"), /*#__PURE__*/React.createElement(Button, {
141
+ kind: "inline",
142
+ icon: copied ? vsPassFilled : vsCopy,
143
+ tooltip: copied ? 'Copied contents' : 'Copy contents',
144
+ onClick: copyContents
145
+ }), /*#__PURE__*/React.createElement(Button, {
122
146
  kind: "inline",
123
147
  active: showLineNumbers,
124
148
  icon: vsListOrdered,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/IrisGridCellOverflowModal.tsx"],"names":["React","useEffect","useRef","useState","Editor","Button","Modal","ModalBody","ModalHeader","vsJson","vsListOrdered","IrisGridCellOverflowModal","text","isOpen","onClose","isOpened","setIsOpened","height","setHeight","showLineNumbers","setShowLineNumbers","isFormatted","setIsFormatted","canFormat","setCanFormat","editorRef","enableFormatButtonWhenOpen","JSON","parse","updateLayoutOnHeightChange","current","layout","toggleShowLineNumber","updateOptions","lineNumbers","toggleLineNumbers","formatAsJSON","model","getModel","setValue","stringify","undefined","autoSetLineNumbers","editor","getLineCount","handleToggle","onEditorInitialized","onDidContentSizeChange","contentHeight","value","readOnly","wordWrap","language","folding","padding","bottom","overviewRulerLanes","renderLineHighlight","find","seedSearchStringFromSelection"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Editor } from '@deephaven/console';\nimport * as monaco from 'monaco-editor';\nimport { Button, Modal, ModalBody, ModalHeader } from '@deephaven/components';\nimport { vsJson, vsListOrdered } from '@deephaven/icons';\nimport './IrisGridCellOverflowModal.scss';\n\ninterface IrisGridCellOverflowModalProps {\n text: string;\n isOpen: boolean;\n onClose: () => void;\n}\n\nexport default function IrisGridCellOverflowModal({\n text,\n isOpen,\n onClose,\n}: IrisGridCellOverflowModalProps): React.ReactElement | null {\n const [isOpened, setIsOpened] = useState(false);\n const [height, setHeight] = useState(0);\n const [showLineNumbers, setShowLineNumbers] = useState(false);\n const [isFormatted, setIsFormatted] = useState(false);\n const [canFormat, setCanFormat] = useState(false);\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n\n // Update format button on open\n useEffect(\n function enableFormatButtonWhenOpen() {\n if (!isOpen) {\n return;\n }\n\n try {\n JSON.parse(text);\n setCanFormat(true);\n } catch {\n setCanFormat(false);\n }\n setIsFormatted(false);\n },\n [isOpen, text]\n );\n\n // Re-layout editor on height change\n useEffect(\n function updateLayoutOnHeightChange() {\n if (editorRef.current) {\n editorRef.current.layout();\n }\n },\n [height]\n );\n\n // Update editor options on line number toggle\n useEffect(\n function toggleShowLineNumber() {\n if (editorRef.current) {\n editorRef.current.updateOptions({\n lineNumbers: showLineNumbers ? 'on' : 'off',\n });\n }\n },\n [showLineNumbers]\n );\n\n function toggleLineNumbers() {\n setShowLineNumbers(!showLineNumbers);\n }\n\n function formatAsJSON() {\n const model = editorRef.current?.getModel();\n if (!canFormat || !model) {\n return;\n }\n\n if (!isFormatted) {\n model.setValue(JSON.stringify(JSON.parse(text), undefined, 2));\n setIsFormatted(true);\n } else {\n model.setValue(text);\n setIsFormatted(false);\n }\n autoSetLineNumbers();\n }\n\n function autoSetLineNumbers() {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n\n setShowLineNumbers((editor.getModel()?.getLineCount() ?? 0) > 1);\n }\n\n function handleToggle() {\n if (isOpened) {\n editorRef.current = undefined;\n onClose();\n }\n }\n\n function onEditorInitialized(editor: monaco.editor.IStandaloneCodeEditor) {\n editorRef.current = editor;\n editor.onDidContentSizeChange(({ contentHeight }) =>\n setHeight(contentHeight)\n );\n autoSetLineNumbers();\n }\n\n if (!isOpen && !isOpened) {\n return null;\n }\n\n return (\n <Modal\n isOpen={isOpen}\n centered\n keyboard\n toggle={handleToggle}\n onOpened={() => setIsOpened(true)}\n onClosed={() => {\n setIsOpened(false);\n setHeight(0);\n }}\n className=\"theme-bg-dark cell-overflow-modal\"\n >\n <ModalHeader toggle={onClose}>\n <h5 className=\"overflow-modal-title\">Cell Contents</h5>\n <Button\n kind=\"inline\"\n active={showLineNumbers}\n icon={vsListOrdered}\n tooltip=\"Toggle line numbers\"\n onClick={toggleLineNumbers}\n />\n {canFormat && (\n <Button\n kind=\"inline\"\n icon={vsJson}\n active={isFormatted}\n tooltip=\"Format as JSON\"\n onClick={formatAsJSON}\n />\n )}\n </ModalHeader>\n <ModalBody style={{ height }}>\n <Editor\n onEditorInitialized={onEditorInitialized}\n settings={{\n value: text,\n readOnly: true,\n wordWrap: 'on',\n // Loading json language w/o the monaco workers causes UI freezes and monaco errors. TS colorizes the same\n language: canFormat ? 'typescript' : 'plaintext',\n folding: canFormat,\n padding: { bottom: 16 },\n lineNumbers: showLineNumbers ? 'on' : 'off',\n overviewRulerLanes: 0,\n renderLineHighlight: 'none',\n /*\n The entire string may be 1 giant line\n Monaco by default seeds find w/ that line\n On very long strings this hangs the browser, so never seed the search\n */\n find: { seedSearchStringFromSelection: 'never' },\n }}\n />\n </ModalBody>\n </Modal>\n );\n}\n"],"file":"IrisGridCellOverflowModal.js"}
1
+ {"version":3,"sources":["../src/IrisGridCellOverflowModal.tsx"],"names":["React","useEffect","useRef","useState","Editor","Button","ContextActionUtils","Modal","ModalBody","ModalHeader","vsCopy","vsJson","vsListOrdered","vsPassFilled","IrisGridCellOverflowModal","text","isOpen","onClose","isOpened","setIsOpened","height","setHeight","showLineNumbers","setShowLineNumbers","isFormatted","setIsFormatted","canFormat","setCanFormat","editorRef","copiedTimeout","copied","setCopied","enableFormatButtonWhenOpen","JSON","parse","updateLayoutOnHeightChange","current","layout","toggleShowLineNumber","updateOptions","lineNumbers","clearTimeout","setTimeout","copyContents","copyToClipboard","getValue","then","toggleLineNumbers","formatAsJSON","model","getModel","setValue","stringify","undefined","autoSetLineNumbers","editor","getLineCount","handleToggle","onEditorInitialized","onDidContentSizeChange","contentHeight","value","readOnly","wordWrap","language","folding","padding","bottom","overviewRulerLanes","renderLineHighlight","find","seedSearchStringFromSelection"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Editor } from '@deephaven/console';\nimport * as monaco from 'monaco-editor';\nimport {\n Button,\n ContextActionUtils,\n Modal,\n ModalBody,\n ModalHeader,\n} from '@deephaven/components';\nimport { vsCopy, vsJson, vsListOrdered, vsPassFilled } from '@deephaven/icons';\nimport './IrisGridCellOverflowModal.scss';\n\ninterface IrisGridCellOverflowModalProps {\n text: string;\n isOpen: boolean;\n onClose: () => void;\n}\n\nexport default function IrisGridCellOverflowModal({\n text,\n isOpen,\n onClose,\n}: IrisGridCellOverflowModalProps): React.ReactElement | null {\n const [isOpened, setIsOpened] = useState(false);\n const [height, setHeight] = useState(0);\n const [showLineNumbers, setShowLineNumbers] = useState(false);\n const [isFormatted, setIsFormatted] = useState(false);\n const [canFormat, setCanFormat] = useState(false);\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n\n const copiedTimeout = useRef<ReturnType<typeof setTimeout> | null>(null);\n const [copied, setCopied] = useState(false);\n\n // Update format button on open\n useEffect(\n function enableFormatButtonWhenOpen() {\n if (!isOpen) {\n return;\n }\n\n try {\n JSON.parse(text);\n setCanFormat(true);\n } catch {\n setCanFormat(false);\n }\n setIsFormatted(false);\n },\n [isOpen, text]\n );\n\n // Re-layout editor on height change\n useEffect(\n function updateLayoutOnHeightChange() {\n if (editorRef.current) {\n editorRef.current.layout();\n }\n },\n [height]\n );\n\n // Update editor options on line number toggle\n useEffect(\n function toggleShowLineNumber() {\n if (editorRef.current) {\n editorRef.current.updateOptions({\n lineNumbers: showLineNumbers ? 'on' : 'off',\n });\n }\n },\n [showLineNumbers]\n );\n\n useEffect(() => {\n if (copiedTimeout.current) clearTimeout(copiedTimeout.current);\n copiedTimeout.current = setTimeout(() => {\n setCopied(false);\n }, 1000);\n return () => {\n if (copiedTimeout.current) clearTimeout(copiedTimeout.current);\n };\n }, [copied]);\n\n function copyContents() {\n ContextActionUtils.copyToClipboard(\n editorRef.current?.getValue() ?? text\n ).then(() => {\n setCopied(true);\n });\n }\n\n function toggleLineNumbers() {\n setShowLineNumbers(!showLineNumbers);\n }\n\n function formatAsJSON() {\n const model = editorRef.current?.getModel();\n if (!canFormat || !model) {\n return;\n }\n\n if (!isFormatted) {\n model.setValue(JSON.stringify(JSON.parse(text), undefined, 2));\n setIsFormatted(true);\n } else {\n model.setValue(text);\n setIsFormatted(false);\n }\n autoSetLineNumbers();\n }\n\n function autoSetLineNumbers() {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n\n setShowLineNumbers((editor.getModel()?.getLineCount() ?? 0) > 1);\n }\n\n function handleToggle() {\n if (isOpened) {\n editorRef.current = undefined;\n onClose();\n }\n }\n\n function onEditorInitialized(editor: monaco.editor.IStandaloneCodeEditor) {\n editorRef.current = editor;\n editor.onDidContentSizeChange(({ contentHeight }) =>\n setHeight(contentHeight)\n );\n autoSetLineNumbers();\n }\n\n if (!isOpen && !isOpened) {\n return null;\n }\n\n return (\n <Modal\n isOpen={isOpen}\n centered\n keyboard\n toggle={handleToggle}\n onOpened={() => setIsOpened(true)}\n onClosed={() => {\n setIsOpened(false);\n setHeight(0);\n }}\n className=\"theme-bg-dark cell-overflow-modal\"\n >\n <ModalHeader toggle={onClose}>\n <h5 className=\"overflow-modal-title\">Cell Contents</h5>\n <Button\n kind=\"inline\"\n icon={copied ? vsPassFilled : vsCopy}\n tooltip={copied ? 'Copied contents' : 'Copy contents'}\n onClick={copyContents}\n />\n <Button\n kind=\"inline\"\n active={showLineNumbers}\n icon={vsListOrdered}\n tooltip=\"Toggle line numbers\"\n onClick={toggleLineNumbers}\n />\n {canFormat && (\n <Button\n kind=\"inline\"\n icon={vsJson}\n active={isFormatted}\n tooltip=\"Format as JSON\"\n onClick={formatAsJSON}\n />\n )}\n </ModalHeader>\n <ModalBody style={{ height }}>\n <Editor\n onEditorInitialized={onEditorInitialized}\n settings={{\n value: text,\n readOnly: true,\n wordWrap: 'on',\n // Loading json language w/o the monaco workers causes UI freezes and monaco errors. TS colorizes the same\n language: canFormat ? 'typescript' : 'plaintext',\n folding: canFormat,\n padding: { bottom: 16 },\n lineNumbers: showLineNumbers ? 'on' : 'off',\n overviewRulerLanes: 0,\n renderLineHighlight: 'none',\n /*\n The entire string may be 1 giant line\n Monaco by default seeds find w/ that line\n On very long strings this hangs the browser, so never seed the search\n */\n find: { seedSearchStringFromSelection: 'never' },\n }}\n />\n </ModalBody>\n </Modal>\n );\n}\n"],"file":"IrisGridCellOverflowModal.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridMetricCalculator.d.ts","sourceRoot":"","sources":["../src/IrisGridMetricCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,iBAAiB,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,GAAG,CAClB,MAAM,EACN;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CACrD,CAAC;IACF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAID;;;GAGG;AACH,cAAM,wBAAyB,SAAQ,oBAAoB;IACzD,qBAAqB,CACnB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,mBAAmB,EAC1B,WAAW,GAAE,YAAyC,EACtD,YAAY,SAAoC,GAC/C,MAAM;IAsBT,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM;IA6B5C,mBAAmB,IAAI,YAAY;CAGpC;AAED,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"IrisGridMetricCalculator.d.ts","sourceRoot":"","sources":["../src/IrisGridMetricCalculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,WAAW,mBAAoB,SAAQ,eAAe;IAC1D,KAAK,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,iBAAiB,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,GAAG,CAClB,MAAM,EACN;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CACrD,CAAC;IACF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,eAAe,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;IAC5E,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,cAAM,wBAAyB,SAAQ,oBAAoB;IACzD,qBAAqB,CACnB,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,mBAAmB,EAC1B,WAAW,GAAE,YAAyC,EACtD,YAAY,SAAoC,GAC/C,MAAM;IAsBT,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM;IA6B5C,mBAAmB,IAAI,YAAY;CAGpC;AAED,eAAe,wBAAwB,CAAC"}
@@ -1,17 +1,13 @@
1
1
  import { GridMetricCalculator } from '@deephaven/grid';
2
2
  import { TableUtils } from '@deephaven/jsapi-utils';
3
3
 
4
- /* eslint class-methods-use-this: "off" */
5
-
6
- /* eslint react/destructuring-assignment: "off" */
7
-
8
4
  /**
9
5
  * Class to calculate all the metrics for a grid.
10
6
  * Call getMetrics() with the state to get metrics
11
7
  */
12
8
  class IrisGridMetricCalculator extends GridMetricCalculator {
13
9
  getVisibleColumnWidth(column, state) {
14
- var _model$layoutHints$hi, _model$layoutHints;
10
+ var _model$layoutHints$hi, _model$layoutHints, _model$columns$modelC;
15
11
 
16
12
  var firstColumn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.getFirstColumn(state);
17
13
  var treePaddingX = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : this.calculateTreePaddingX(state);
@@ -24,7 +20,7 @@ class IrisGridMetricCalculator extends GridMetricCalculator {
24
20
  var columnWidth = super.getVisibleColumnWidth(column, state, firstColumn, treePaddingX);
25
21
  var hasUserSetWidth = this.userColumnWidths.has(modelColumn);
26
22
 
27
- if (!hasUserSetWidth && hiddenColumns.includes(model.columns[modelColumn].name)) {
23
+ if (!hasUserSetWidth && hiddenColumns.includes((_model$columns$modelC = model.columns[modelColumn]) === null || _model$columns$modelC === void 0 ? void 0 : _model$columns$modelC.name)) {
28
24
  return 0;
29
25
  }
30
26
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/IrisGridMetricCalculator.ts"],"names":["GridMetricCalculator","TableUtils","IrisGridMetricCalculator","getVisibleColumnWidth","column","state","firstColumn","getFirstColumn","treePaddingX","calculateTreePaddingX","model","hiddenColumns","layoutHints","modelColumn","getModelColumn","columnWidth","hasUserSetWidth","userColumnWidths","has","includes","columns","name","getGridY","gridY","isFilterBarShown","theme","advancedFilters","quickFilters","sorts","reverseType","filterBarHeight","size","filterBarCollapsedHeight","REVERSE_TYPE","NONE","length","reverseHeaderBarHeight","getUserColumnWidths"],"mappings":"AAAA,SAASA,oBAAT,QAAmD,iBAAnD;AAGA,SAASC,UAAT,QAA2B,wBAA3B;;AAiBA;;AACA;;AACA;AACA;AACA;AACA;AACA,MAAMC,wBAAN,SAAuCF,oBAAvC,CAA4D;AAC1DG,EAAAA,qBAAqB,CACnBC,MADmB,EAEnBC,KAFmB,EAKX;AAAA;;AAAA,QAFRC,WAEQ,uEAFoB,KAAKC,cAAL,CAAoBF,KAApB,CAEpB;AAAA,QADRG,YACQ,uEADO,KAAKC,qBAAL,CAA2BJ,KAA3B,CACP;AACR,QAAM;AAAEK,MAAAA;AAAF,QAAYL,KAAlB;AACA,QAAMM,aAAa,kDAAGD,KAAK,CAACE,WAAT,uDAAG,mBAAmBD,aAAtB,yEAAuC,EAA1D;AACA,QAAME,WAAW,GAAG,KAAKC,cAAL,CAAoBV,MAApB,EAA4BC,KAA5B,CAApB,CAHQ,CAKR;;AACA,QAAMU,WAAW,GAAG,MAAMZ,qBAAN,CAClBC,MADkB,EAElBC,KAFkB,EAGlBC,WAHkB,EAIlBE,YAJkB,CAApB;AAMA,QAAMQ,eAAe,GAAG,KAAKC,gBAAL,CAAsBC,GAAtB,CAA0BL,WAA1B,CAAxB;;AACA,QACE,CAACG,eAAD,IACAL,aAAa,CAACQ,QAAd,CAAuBT,KAAK,CAACU,OAAN,CAAcP,WAAd,EAA2BQ,IAAlD,CAFF,EAGE;AACA,aAAO,CAAP;AACD;;AACD,WAAON,WAAP;AACD;;AAEDO,EAAAA,QAAQ,CAACjB,KAAD,EAAqC;AAC3C,QAAIkB,KAAK,GAAG,MAAMD,QAAN,CAAejB,KAAf,CAAZ;AACA,QAAM;AACJmB,MAAAA,gBADI;AAEJC,MAAAA,KAFI;AAGJC,MAAAA,eAHI;AAIJC,MAAAA,YAJI;AAKJC,MAAAA,KALI;AAMJC,MAAAA;AANI,QAOFxB,KAPJ;;AAQA,QAAImB,gBAAJ,EAAsB;AACpBD,MAAAA,KAAK,IAAIE,KAAK,CAACK,eAAf;AACD,KAFD,MAEO,IACJH,YAAY,IAAIA,YAAY,CAACI,IAAb,GAAoB,CAArC,IACCL,eAAe,IAAIA,eAAe,CAACK,IAAhB,GAAuB,CAFtC,EAGL;AACAR,MAAAA,KAAK,IAAIE,KAAK,CAACO,wBAAf;AACD;;AACD,QACEH,WAAW,KAAK5B,UAAU,CAACgC,YAAX,CAAwBC,IAAxC,IACAN,KADA,IAEAA,KAAK,CAACO,MAAN,GAAe,CAHjB,EAIE;AACAZ,MAAAA,KAAK,IAAIE,KAAK,CAACW,sBAAf;AACD;;AAED,WAAOb,KAAP;AACD;;AAEDc,EAAAA,mBAAmB,GAAiB;AAClC,WAAO,KAAKpB,gBAAZ;AACD;;AA3DyD;;AA8D5D,eAAef,wBAAf","sourcesContent":["import { GridMetricCalculator, ModelSizeMap } from '@deephaven/grid';\nimport type { VisibleIndex, GridMetricState } from '@deephaven/grid';\nimport type { FilterCondition, Sort } from '@deephaven/jsapi-shim';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport type IrisGridModel from './IrisGridModel';\nimport { IrisGridThemeType } from './IrisGridTheme';\n\nexport interface IrisGridMetricState extends GridMetricState {\n model: IrisGridModel;\n theme: IrisGridThemeType;\n isFilterBarShown: boolean;\n advancedFilters: Map<\n string,\n { options: unknown; filter: FilterCondition | null }\n >;\n quickFilters: Map<string, { text: string; filter: FilterCondition | null }>;\n sorts: Sort[];\n reverseType: string;\n}\n\n/* eslint class-methods-use-this: \"off\" */\n/* eslint react/destructuring-assignment: \"off\" */\n/**\n * Class to calculate all the metrics for a grid.\n * Call getMetrics() with the state to get metrics\n */\nclass IrisGridMetricCalculator extends GridMetricCalculator {\n getVisibleColumnWidth(\n column: VisibleIndex,\n state: IrisGridMetricState,\n firstColumn: VisibleIndex = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ): number {\n const { model } = state;\n const hiddenColumns = model.layoutHints?.hiddenColumns ?? [];\n const modelColumn = this.getModelColumn(column, state);\n\n // Need to make sure super is called so column width is always re-calculated correctly\n const columnWidth = super.getVisibleColumnWidth(\n column,\n state,\n firstColumn,\n treePaddingX\n );\n const hasUserSetWidth = this.userColumnWidths.has(modelColumn);\n if (\n !hasUserSetWidth &&\n hiddenColumns.includes(model.columns[modelColumn].name)\n ) {\n return 0;\n }\n return columnWidth;\n }\n\n getGridY(state: IrisGridMetricState): number {\n let gridY = super.getGridY(state);\n const {\n isFilterBarShown,\n theme,\n advancedFilters,\n quickFilters,\n sorts,\n reverseType,\n } = state;\n if (isFilterBarShown) {\n gridY += theme.filterBarHeight;\n } else if (\n (quickFilters && quickFilters.size > 0) ||\n (advancedFilters && advancedFilters.size > 0)\n ) {\n gridY += theme.filterBarCollapsedHeight;\n }\n if (\n reverseType !== TableUtils.REVERSE_TYPE.NONE &&\n sorts &&\n sorts.length > 0\n ) {\n gridY += theme.reverseHeaderBarHeight;\n }\n\n return gridY;\n }\n\n getUserColumnWidths(): ModelSizeMap {\n return this.userColumnWidths;\n }\n}\n\nexport default IrisGridMetricCalculator;\n"],"file":"IrisGridMetricCalculator.js"}
1
+ {"version":3,"sources":["../src/IrisGridMetricCalculator.ts"],"names":["GridMetricCalculator","TableUtils","IrisGridMetricCalculator","getVisibleColumnWidth","column","state","firstColumn","getFirstColumn","treePaddingX","calculateTreePaddingX","model","hiddenColumns","layoutHints","modelColumn","getModelColumn","columnWidth","hasUserSetWidth","userColumnWidths","has","includes","columns","name","getGridY","gridY","isFilterBarShown","theme","advancedFilters","quickFilters","sorts","reverseType","filterBarHeight","size","filterBarCollapsedHeight","REVERSE_TYPE","NONE","length","reverseHeaderBarHeight","getUserColumnWidths"],"mappings":"AAAA,SAASA,oBAAT,QAAmD,iBAAnD;AAGA,SAASC,UAAT,QAA2B,wBAA3B;;AAiBA;AACA;AACA;AACA;AACA,MAAMC,wBAAN,SAAuCF,oBAAvC,CAA4D;AAC1DG,EAAAA,qBAAqB,CACnBC,MADmB,EAEnBC,KAFmB,EAKX;AAAA;;AAAA,QAFRC,WAEQ,uEAFoB,KAAKC,cAAL,CAAoBF,KAApB,CAEpB;AAAA,QADRG,YACQ,uEADO,KAAKC,qBAAL,CAA2BJ,KAA3B,CACP;AACR,QAAM;AAAEK,MAAAA;AAAF,QAAYL,KAAlB;AACA,QAAMM,aAAa,kDAAGD,KAAK,CAACE,WAAT,uDAAG,mBAAmBD,aAAtB,yEAAuC,EAA1D;AACA,QAAME,WAAW,GAAG,KAAKC,cAAL,CAAoBV,MAApB,EAA4BC,KAA5B,CAApB,CAHQ,CAKR;;AACA,QAAMU,WAAW,GAAG,MAAMZ,qBAAN,CAClBC,MADkB,EAElBC,KAFkB,EAGlBC,WAHkB,EAIlBE,YAJkB,CAApB;AAMA,QAAMQ,eAAe,GAAG,KAAKC,gBAAL,CAAsBC,GAAtB,CAA0BL,WAA1B,CAAxB;;AACA,QACE,CAACG,eAAD,IACAL,aAAa,CAACQ,QAAd,0BAAuBT,KAAK,CAACU,OAAN,CAAcP,WAAd,CAAvB,0DAAuB,sBAA4BQ,IAAnD,CAFF,EAGE;AACA,aAAO,CAAP;AACD;;AACD,WAAON,WAAP;AACD;;AAEDO,EAAAA,QAAQ,CAACjB,KAAD,EAAqC;AAC3C,QAAIkB,KAAK,GAAG,MAAMD,QAAN,CAAejB,KAAf,CAAZ;AACA,QAAM;AACJmB,MAAAA,gBADI;AAEJC,MAAAA,KAFI;AAGJC,MAAAA,eAHI;AAIJC,MAAAA,YAJI;AAKJC,MAAAA,KALI;AAMJC,MAAAA;AANI,QAOFxB,KAPJ;;AAQA,QAAImB,gBAAJ,EAAsB;AACpBD,MAAAA,KAAK,IAAIE,KAAK,CAACK,eAAf;AACD,KAFD,MAEO,IACJH,YAAY,IAAIA,YAAY,CAACI,IAAb,GAAoB,CAArC,IACCL,eAAe,IAAIA,eAAe,CAACK,IAAhB,GAAuB,CAFtC,EAGL;AACAR,MAAAA,KAAK,IAAIE,KAAK,CAACO,wBAAf;AACD;;AACD,QACEH,WAAW,KAAK5B,UAAU,CAACgC,YAAX,CAAwBC,IAAxC,IACAN,KADA,IAEAA,KAAK,CAACO,MAAN,GAAe,CAHjB,EAIE;AACAZ,MAAAA,KAAK,IAAIE,KAAK,CAACW,sBAAf;AACD;;AAED,WAAOb,KAAP;AACD;;AAEDc,EAAAA,mBAAmB,GAAiB;AAClC,WAAO,KAAKpB,gBAAZ;AACD;;AA3DyD;;AA8D5D,eAAef,wBAAf","sourcesContent":["import { GridMetricCalculator, ModelSizeMap } from '@deephaven/grid';\nimport type { VisibleIndex, GridMetricState } from '@deephaven/grid';\nimport type { FilterCondition, Sort } from '@deephaven/jsapi-shim';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport type IrisGridModel from './IrisGridModel';\nimport { IrisGridThemeType } from './IrisGridTheme';\n\nexport interface IrisGridMetricState extends GridMetricState {\n model: IrisGridModel;\n theme: IrisGridThemeType;\n isFilterBarShown: boolean;\n advancedFilters: Map<\n string,\n { options: unknown; filter: FilterCondition | null }\n >;\n quickFilters: Map<string, { text: string; filter: FilterCondition | null }>;\n sorts: Sort[];\n reverseType: string;\n}\n\n/**\n * Class to calculate all the metrics for a grid.\n * Call getMetrics() with the state to get metrics\n */\nclass IrisGridMetricCalculator extends GridMetricCalculator {\n getVisibleColumnWidth(\n column: VisibleIndex,\n state: IrisGridMetricState,\n firstColumn: VisibleIndex = this.getFirstColumn(state),\n treePaddingX = this.calculateTreePaddingX(state)\n ): number {\n const { model } = state;\n const hiddenColumns = model.layoutHints?.hiddenColumns ?? [];\n const modelColumn = this.getModelColumn(column, state);\n\n // Need to make sure super is called so column width is always re-calculated correctly\n const columnWidth = super.getVisibleColumnWidth(\n column,\n state,\n firstColumn,\n treePaddingX\n );\n const hasUserSetWidth = this.userColumnWidths.has(modelColumn);\n if (\n !hasUserSetWidth &&\n hiddenColumns.includes(model.columns[modelColumn]?.name)\n ) {\n return 0;\n }\n return columnWidth;\n }\n\n getGridY(state: IrisGridMetricState): number {\n let gridY = super.getGridY(state);\n const {\n isFilterBarShown,\n theme,\n advancedFilters,\n quickFilters,\n sorts,\n reverseType,\n } = state;\n if (isFilterBarShown) {\n gridY += theme.filterBarHeight;\n } else if (\n (quickFilters && quickFilters.size > 0) ||\n (advancedFilters && advancedFilters.size > 0)\n ) {\n gridY += theme.filterBarCollapsedHeight;\n }\n if (\n reverseType !== TableUtils.REVERSE_TYPE.NONE &&\n sorts &&\n sorts.length > 0\n ) {\n gridY += theme.reverseHeaderBarHeight;\n }\n\n return gridY;\n }\n\n getUserColumnWidths(): ModelSizeMap {\n return this.userColumnWidths;\n }\n}\n\nexport default IrisGridMetricCalculator;\n"],"file":"IrisGridMetricCalculator.js"}
@@ -1,4 +1,3 @@
1
- /// <reference types="lodash" />
2
1
  import React, { Component } from 'react';
3
2
  import { DropdownMenu } from '@deephaven/components';
4
3
  import { Table } from '@deephaven/jsapi-shim';
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridPartitionSelector.d.ts","sourceRoot":"","sources":["../src/IrisGridPartitionSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAC;AAI9D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,UAAU,8BAA8B,CAAC,CAAC;IACxC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC9D,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AACD,UAAU,8BAA8B;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,cAAM,yBAAyB,CAAC,CAAC,CAAE,SAAQ,SAAS,CAClD,8BAA8B,CAAC,CAAC,CAAC,EACjC,8BAA8B,CAC/B;IACC,MAAM,CAAC,YAAY;wBACH,IAAI;wBACJ,IAAI;0BACF,IAAI;sBACR,IAAI;;MAEhB;gBAEU,KAAK,EAAE,8BAA8B,CAAC,CAAC,CAAC;IAuBpD,oBAAoB,IAAI,IAAI;IAI5B,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAEhC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAElD,iBAAiB,IAAI,IAAI;IAQzB,gBAAgB,IAAI,IAAI;IAMxB,iBAAiB,IAAI,IAAI;IAMzB,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAUvE,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAU9C,0BAA0B,IAAI,IAAI;IAMlC,kBAAkB,IAAI,IAAI;IAM1B,kBAAkB,IAAI,IAAI;IAM1B,cAAc,uCAAgB,IAAI,EAED;IAEjC,QAAQ,IAAI,IAAI;IAOhB,UAAU,IAAI,IAAI;IAQlB,YAAY,IAAI,IAAI;IASpB,MAAM,IAAI,GAAG,CAAC,OAAO;CAmEtB;AAED,eAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"IrisGridPartitionSelector.d.ts","sourceRoot":"","sources":["../src/IrisGridPartitionSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEzC,OAAO,EAAE,YAAY,EAAW,MAAM,uBAAuB,CAAC;AAI9D,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,uBAAuB,MAAM,2BAA2B,CAAC;AAChE,OAAO,kCAAkC,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,UAAU,8BAA8B,CAAC,CAAC;IACxC,kBAAkB,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC9D,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AACD,UAAU,8BAA8B;IACtC,SAAS,EAAE,MAAM,CAAC;CACnB;AACD,cAAM,yBAAyB,CAAC,CAAC,CAAE,SAAQ,SAAS,CAClD,8BAA8B,CAAC,CAAC,CAAC,EACjC,8BAA8B,CAC/B;IACC,MAAM,CAAC,YAAY;wBACH,IAAI;wBACJ,IAAI;0BACF,IAAI;sBACR,IAAI;;MAEhB;gBAEU,KAAK,EAAE,8BAA8B,CAAC,CAAC,CAAC;IAuBpD,oBAAoB,IAAI,IAAI;IAI5B,UAAU,EAAE,YAAY,GAAG,IAAI,CAAC;IAEhC,cAAc,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAElD,iBAAiB,IAAI,IAAI;IAQzB,gBAAgB,IAAI,IAAI;IAMxB,iBAAiB,IAAI,IAAI;IAMzB,qBAAqB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAUvE,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAU9C,0BAA0B,IAAI,IAAI;IAMlC,kBAAkB,IAAI,IAAI;IAM1B,kBAAkB,IAAI,IAAI;IAM1B,cAAc,uCAAgB,IAAI,EAED;IAEjC,QAAQ,IAAI,IAAI;IAOhB,UAAU,IAAI,IAAI;IAQlB,YAAY,IAAI,IAAI;IASpB,MAAM,IAAI,GAAG,CAAC,OAAO;CAmEtB;AAED,eAAe,yBAAyB,CAAC"}
@@ -42,6 +42,7 @@ declare class IrisGridProxyModel extends IrisGridModel {
42
42
  colorForCell: IrisGridModel['colorForCell'];
43
43
  backgroundColorForCell: IrisGridModel['backgroundColorForCell'];
44
44
  textForColumnHeader: IrisGridModel['textForColumnHeader'];
45
+ colorForColumnHeader: IrisGridModel['colorForColumnHeader'];
45
46
  textForRowHeader: IrisGridModel['textForRowHeader'];
46
47
  textForRowFooter: IrisGridModel['textForRowFooter'];
47
48
  isRowMovable: IrisGridModel['isRowMovable'];
@@ -69,6 +70,9 @@ declare class IrisGridProxyModel extends IrisGridModel {
69
70
  get frontColumns(): ColumnName[];
70
71
  get backColumns(): ColumnName[];
71
72
  get frozenColumns(): ColumnName[];
73
+ getColumnHeaderGroup: IrisGridModel['getColumnHeaderGroup'];
74
+ getColumnHeaderParentGroup: IrisGridModel['getColumnHeaderParentGroup'];
75
+ get columnHeaderMaxDepth(): number;
72
76
  updateFrozenColumns(columns: ColumnName[]): void;
73
77
  get originalColumns(): Column[];
74
78
  get groupedColumns(): Column[];
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridProxyModel.d.ts","sourceRoot":"","sources":["../src/IrisGridProxyModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridProxyModel.d.ts","sourceRoot":"","sources":["../src/IrisGridProxyModel.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,10 @@ class IrisGridProxyModel extends IrisGridModel {
73
73
  return _this.model.textForColumnHeader(...arguments);
74
74
  });
75
75
 
76
+ _defineProperty(this, "colorForColumnHeader", function () {
77
+ return _this.model.colorForColumnHeader(...arguments);
78
+ });
79
+
76
80
  _defineProperty(this, "textForRowHeader", function () {
77
81
  return _this.model.textForRowHeader(...arguments);
78
82
  });
@@ -121,6 +125,14 @@ class IrisGridProxyModel extends IrisGridModel {
121
125
  return 0; // throw Error('Function depthForRow does not exist on IrisGridTableModel');
122
126
  });
123
127
 
128
+ _defineProperty(this, "getColumnHeaderGroup", function () {
129
+ return _this.model.getColumnHeaderGroup(...arguments);
130
+ });
131
+
132
+ _defineProperty(this, "getColumnHeaderParentGroup", function () {
133
+ return _this.model.getColumnHeaderParentGroup(...arguments);
134
+ });
135
+
124
136
  _defineProperty(this, "formatForCell", function () {
125
137
  return _this.model.formatForCell(...arguments);
126
138
  });
@@ -428,6 +440,10 @@ class IrisGridProxyModel extends IrisGridModel {
428
440
  return this.model.frozenColumns;
429
441
  }
430
442
 
443
+ get columnHeaderMaxDepth() {
444
+ return this.model.columnHeaderMaxDepth;
445
+ }
446
+
431
447
  updateFrozenColumns(columns) {
432
448
  return this.model.updateFrozenColumns(columns);
433
449
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/IrisGridProxyModel.ts"],"names":["deepEqual","Formatter","TableUtils","Log","EventShimCustomEvent","PromiseUtils","isEditableGridModel","isExpandableGridModel","IrisGridTableModel","IrisGridTreeTableModel","IrisGridModel","isIrisGridTableModelTemplate","log","module","makeModel","table","formatter","inputTable","isTreeTable","IrisGridProxyModel","constructor","model","textForCell","truncationCharForCell","textAlignForCell","colorForCell","backgroundColorForCell","textForColumnHeader","textForRowHeader","textForRowFooter","isRowMovable","isColumnMovable","isRowExpandable","isRowExpanded","setRowExpanded","Error","depthForRow","formatForCell","valueForCell","displayString","isEditableRange","isFilterable","top","bottom","columns","setViewport","snapshot","textSnapshot","valuesTable","editValueForCell","setValueForCell","Promise","resolve","setValueForRanges","setValues","isValidForCell","delete","commitPending","handleModelEvent","bind","originalModel","modelPromise","rollup","selectDistinct","close","cancel","event","debug2","detail","type","dispatchEvent","setModel","debug","oldModel","listenerCount","addListeners","EVENT","COLUMNS_CHANGED","TABLE_CHANGED","setNextModel","removeListeners","makeCancelable","then","catch","err","isCanceled","error","REQUEST_FAILED","startListening","stopListening","events","Object","keys","i","length","addEventListener","removeEventListener","rowCount","columnCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","isColumnFrozen","x","hasExpandableRows","isExportAvailable","isColumnStatisticsAvailable","isValuesTableAvailable","isCustomColumnsAvailable","isSelectDistinctAvailable","selectDistinctColumns","isFormatColumnsAvailable","isChartBuilderAvailable","isRollupAvailable","isTotalsAvailable","isReversible","movedColumns","movedRows","layoutHints","frontColumns","backColumns","frozenColumns","updateFrozenColumns","originalColumns","groupedColumns","description","filter","sort","customColumns","formatColumns","rollupConfig","columnNames","map","name","find","column","totalsConfig","isFilterRequired","isEditable","export","columnStatistics","pendingDataMap","pendingRowCount","count","pendingDataErrors","getColumnIndexByName"],"mappings":"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","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport deepEqual from 'deep-equal';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport {\n CancelablePromise,\n EventShimCustomEvent,\n PromiseUtils,\n} from '@deephaven/utils';\nimport {\n Column,\n ColumnStatistics,\n CustomColumn,\n FilterCondition,\n InputTable,\n LayoutHints,\n RollupConfig,\n Sort,\n Table,\n TreeTable,\n} from '@deephaven/jsapi-shim';\nimport {\n EditableGridModel,\n isEditableGridModel,\n isExpandableGridModel,\n ModelIndex,\n MoveOperation,\n} from '@deephaven/grid';\nimport IrisGridTableModel from './IrisGridTableModel';\nimport IrisGridTreeTableModel from './IrisGridTreeTableModel';\nimport IrisGridModel from './IrisGridModel';\nimport {\n ColumnName,\n UITotalsTableConfig,\n PendingDataMap,\n UIRow,\n} from './CommonTypes';\nimport { isIrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\n\nconst log = Log.module('IrisGridProxyModel');\n\nfunction makeModel(\n table: Table | TreeTable,\n formatter?: Formatter,\n inputTable?: InputTable | null\n): IrisGridModel {\n if (TableUtils.isTreeTable(table)) {\n return new IrisGridTreeTableModel(table, formatter);\n }\n return new IrisGridTableModel(table, formatter, inputTable);\n}\n\n/**\n * Model which proxies calls to other IrisGridModels.\n * This allows for operations that generate new tables, like rollups.\n */\nclass IrisGridProxyModel extends IrisGridModel {\n /**\n * @param table Iris data table to be used in the model\n * @param formatter The formatter to use when getting formats\n * @param inputTable Iris input table associated with this table\n */\n\n originalModel: IrisGridModel;\n\n model: IrisGridModel;\n\n modelPromise: CancelablePromise<IrisGridModel> | null;\n\n rollup: RollupConfig | null;\n\n selectDistinct: ColumnName[];\n\n constructor(\n table: Table | TreeTable,\n formatter = new Formatter(),\n inputTable: InputTable | null = null\n ) {\n super();\n\n this.handleModelEvent = this.handleModelEvent.bind(this);\n\n const model = makeModel(table, formatter, inputTable);\n this.originalModel = model;\n this.model = model;\n this.modelPromise = null;\n this.rollup = null;\n this.selectDistinct = [];\n }\n\n close(): void {\n this.originalModel.close();\n if (this.model !== this.originalModel) {\n this.model.close();\n }\n if (this.modelPromise != null) {\n this.modelPromise.cancel();\n }\n }\n\n handleModelEvent(event: CustomEvent): void {\n log.debug2('handleModelEvent', event);\n\n const { detail, type } = event;\n this.dispatchEvent(new EventShimCustomEvent(type, { detail }));\n }\n\n setModel(model: IrisGridModel): void {\n log.debug('setModel', model);\n\n const oldModel = this.model;\n\n if (oldModel !== this.originalModel) {\n oldModel.close();\n }\n\n this.model = model;\n\n if (this.listenerCount > 0) {\n this.addListeners(model);\n }\n\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.COLUMNS_CHANGED, {\n detail: model.columns,\n })\n );\n\n if (isIrisGridTableModelTemplate(model)) {\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.TABLE_CHANGED, {\n detail: model.table,\n })\n );\n }\n }\n\n setNextModel(modelPromise: Promise<IrisGridModel>): void {\n log.debug2('setNextModel');\n\n if (this.modelPromise) {\n this.modelPromise.cancel();\n }\n\n if (this.listenerCount > 0) {\n this.removeListeners(this.model);\n }\n\n this.modelPromise = PromiseUtils.makeCancelable(\n modelPromise,\n (model: IrisGridModel) => model.close()\n );\n this.modelPromise\n .then(model => {\n this.modelPromise = null;\n this.setModel(model);\n })\n .catch((err: unknown) => {\n if (PromiseUtils.isCanceled(err)) {\n log.debug2('setNextModel cancelled');\n return;\n }\n\n log.error('Unable to set next model', err);\n this.modelPromise = null;\n\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.REQUEST_FAILED, {\n detail: err,\n })\n );\n });\n }\n\n startListening(): void {\n super.startListening();\n\n this.addListeners(this.model);\n }\n\n stopListening(): void {\n super.stopListening();\n\n this.removeListeners(this.model);\n }\n\n addListeners(model: IrisGridModel): void {\n const events = Object.keys(IrisGridModel.EVENT);\n for (let i = 0; i < events.length; i += 1) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n model.addEventListener(events[i], this.handleModelEvent);\n }\n }\n\n removeListeners(model: IrisGridModel): void {\n const events = Object.keys(IrisGridModel.EVENT);\n for (let i = 0; i < events.length; i += 1) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n model.removeEventListener(events[i], this.handleModelEvent);\n }\n }\n\n get rowCount(): number {\n return this.model.rowCount;\n }\n\n get columnCount(): number {\n return this.model.columnCount;\n }\n\n get floatingTopRowCount(): number {\n return this.model.floatingTopRowCount;\n }\n\n get floatingBottomRowCount(): number {\n return this.model.floatingBottomRowCount;\n }\n\n get floatingLeftColumnCount(): number {\n return this.model.floatingLeftColumnCount;\n }\n\n get floatingRightColumnCount(): number {\n return this.model.floatingRightColumnCount;\n }\n\n textForCell: IrisGridModel['textForCell'] = (...args) =>\n this.model.textForCell(...args);\n\n truncationCharForCell: IrisGridModel['truncationCharForCell'] = (...args) =>\n this.model.truncationCharForCell(...args);\n\n textAlignForCell: IrisGridModel['textAlignForCell'] = (...args) =>\n this.model.textAlignForCell(...args);\n\n colorForCell: IrisGridModel['colorForCell'] = (...args) =>\n this.model.colorForCell(...args);\n\n backgroundColorForCell: IrisGridModel['backgroundColorForCell'] = (...args) =>\n this.model.backgroundColorForCell(...args);\n\n textForColumnHeader: IrisGridModel['textForColumnHeader'] = (...args) =>\n this.model.textForColumnHeader(...args);\n\n textForRowHeader: IrisGridModel['textForRowHeader'] = (...args) =>\n this.model.textForRowHeader(...args);\n\n textForRowFooter: IrisGridModel['textForRowFooter'] = (...args) =>\n this.model.textForRowFooter(...args);\n\n isRowMovable: IrisGridModel['isRowMovable'] = (...args) =>\n this.model.isRowMovable(...args);\n\n isColumnMovable: IrisGridModel['isColumnMovable'] = (...args) =>\n this.model.isColumnMovable(...args);\n\n isColumnFrozen(x: ModelIndex): boolean {\n return this.model.isColumnFrozen(x);\n }\n\n get hasExpandableRows(): boolean {\n if (isExpandableGridModel(this.model)) {\n return this.model.hasExpandableRows;\n }\n return false;\n }\n\n isRowExpandable: IrisGridTreeTableModel['isRowExpandable'] = (...args) => {\n if (isExpandableGridModel(this.model)) {\n return this.model.isRowExpandable(...args);\n }\n return false;\n };\n\n isRowExpanded: IrisGridTreeTableModel['isRowExpanded'] = (...args) => {\n if (isExpandableGridModel(this.model)) {\n return this.model.isRowExpanded(...args);\n }\n return false;\n };\n\n setRowExpanded: IrisGridTreeTableModel['setRowExpanded'] = (...args) => {\n if (isExpandableGridModel(this.model)) {\n return this.model.setRowExpanded(...args);\n }\n throw Error('Function setRowExpanded does not exist on IrisGridTableModel');\n };\n\n depthForRow: IrisGridTreeTableModel['depthForRow'] = (...args) => {\n if (isExpandableGridModel(this.model)) {\n return this.model.depthForRow(...args);\n }\n return 0;\n // throw Error('Function depthForRow does not exist on IrisGridTableModel');\n };\n\n get isExportAvailable(): boolean {\n return this.model.isExportAvailable;\n }\n\n get isColumnStatisticsAvailable(): boolean {\n return this.model.isColumnStatisticsAvailable;\n }\n\n get isValuesTableAvailable(): boolean {\n return this.model.isValuesTableAvailable;\n }\n\n get isCustomColumnsAvailable(): boolean {\n return (\n this.model.isCustomColumnsAvailable &&\n // Disable for selectDistinct tables\n !(this.isSelectDistinctAvailable && this.selectDistinctColumns.length > 0)\n );\n }\n\n get isFormatColumnsAvailable(): boolean {\n return this.model.isFormatColumnsAvailable;\n }\n\n get isChartBuilderAvailable(): boolean {\n return this.model.isChartBuilderAvailable;\n }\n\n get isRollupAvailable(): boolean {\n return (\n (this.originalModel.isRollupAvailable || this.rollup != null) &&\n this.selectDistinct.length === 0\n );\n }\n\n get isSelectDistinctAvailable(): boolean {\n return (\n (this.originalModel.isSelectDistinctAvailable ||\n this.selectDistinct.length > 0) &&\n this.rollup == null\n );\n }\n\n get isTotalsAvailable(): boolean {\n return this.model.isTotalsAvailable;\n }\n\n get isReversible(): boolean {\n return this.model.isReversible;\n }\n\n get columns(): Column[] {\n return this.model.columns;\n }\n\n get movedColumns(): MoveOperation[] {\n return this.model.movedColumns;\n }\n\n get movedRows(): MoveOperation[] {\n return this.model.movedRows;\n }\n\n get layoutHints(): LayoutHints | null {\n return this.model.layoutHints;\n }\n\n get frontColumns(): ColumnName[] {\n return this.model.frontColumns;\n }\n\n get backColumns(): ColumnName[] {\n return this.model.backColumns;\n }\n\n get frozenColumns(): ColumnName[] {\n return this.model.frozenColumns;\n }\n\n updateFrozenColumns(columns: ColumnName[]): void {\n return this.model.updateFrozenColumns(columns);\n }\n\n get originalColumns(): Column[] {\n return this.originalModel.columns;\n }\n\n get groupedColumns(): Column[] {\n return this.model.groupedColumns;\n }\n\n get description(): string {\n return this.model.description;\n }\n\n formatForCell: IrisGridModel['formatForCell'] = (...args) =>\n this.model.formatForCell(...args);\n\n valueForCell: IrisGridModel['valueForCell'] = (...args) =>\n this.model.valueForCell(...args);\n\n get filter(): FilterCondition[] {\n return this.model.filter;\n }\n\n set filter(filter: FilterCondition[]) {\n this.model.filter = filter;\n }\n\n get formatter(): Formatter {\n return this.model.formatter;\n }\n\n set formatter(formatter: Formatter) {\n this.model.formatter = formatter;\n }\n\n displayString: IrisGridModel['displayString'] = (...args) =>\n this.model.displayString(...args);\n\n get sort(): Sort[] {\n return this.model.sort;\n }\n\n set sort(sort: Sort[]) {\n this.model.sort = sort;\n }\n\n get customColumns(): ColumnName[] {\n return this.model.customColumns;\n }\n\n set customColumns(customColumns: ColumnName[]) {\n this.model.customColumns = customColumns;\n }\n\n get formatColumns(): CustomColumn[] {\n return this.model.formatColumns;\n }\n\n set formatColumns(formatColumns: CustomColumn[]) {\n this.model.formatColumns = formatColumns;\n }\n\n get rollupConfig(): RollupConfig | null {\n return this.rollup;\n }\n\n set rollupConfig(rollupConfig: RollupConfig | null) {\n log.debug('set rollupConfig', rollupConfig);\n\n if (!this.isRollupAvailable) {\n throw new Error('Rollup Rows are not available');\n }\n\n // Prevent model update when IrisGridModelUpdater is mounted\n // if rollup is already initialized in IrisGridPanel\n if (deepEqual(rollupConfig, this.rollup)) {\n return;\n }\n\n this.rollup = rollupConfig;\n\n let modelPromise = Promise.resolve(this.originalModel);\n\n if (\n isIrisGridTableModelTemplate(this.originalModel) &&\n rollupConfig != null\n ) {\n modelPromise = this.originalModel.table\n .rollup(rollupConfig)\n .then(table => makeModel(table, this.formatter));\n }\n this.setNextModel(modelPromise);\n }\n\n get selectDistinctColumns(): ColumnName[] {\n return this.selectDistinct;\n }\n\n set selectDistinctColumns(columnNames: string[]) {\n log.debug('set selectDistinctColumns', columnNames);\n\n if (!this.isSelectDistinctAvailable) {\n throw new Error('Select distinct is not available');\n }\n\n if (\n columnNames === this.selectDistinctColumns ||\n (columnNames.length === 0 && this.selectDistinctColumns.length === 0)\n ) {\n log.debug('Ignore same selectDistinctColumns', columnNames);\n return;\n }\n\n this.selectDistinct = columnNames;\n\n const selectDistinctColumns = columnNames\n .map(name => this.originalColumns.find(column => column.name === name))\n .filter(column => column != null) as Column[];\n\n let modelPromise = Promise.resolve(this.originalModel);\n\n if (\n isIrisGridTableModelTemplate(this.originalModel) &&\n selectDistinctColumns.length > 0\n ) {\n modelPromise = this.originalModel.table\n .selectDistinct(selectDistinctColumns)\n .then(table => makeModel(table, this.formatter));\n }\n this.setNextModel(modelPromise);\n }\n\n get totalsConfig(): UITotalsTableConfig | null {\n return this.model.totalsConfig;\n }\n\n set totalsConfig(totalsConfig: UITotalsTableConfig | null) {\n this.model.totalsConfig = totalsConfig;\n }\n\n get isFilterRequired(): boolean {\n return this.model.isFilterRequired;\n }\n\n get isEditable(): boolean {\n return isEditableGridModel(this.model) && this.model.isEditable;\n }\n\n isEditableRange: IrisGridTableModel['isEditableRange'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n this.model.isEditableRange(...args);\n }\n return false;\n };\n\n isFilterable: IrisGridTableModel['isFilterable'] = (...args) =>\n this.model.isFilterable(...args);\n\n setViewport = (top: number, bottom: number, columns: Column[]): void =>\n this.model.setViewport(top, bottom, columns);\n\n snapshot: IrisGridModel['snapshot'] = (...args) =>\n this.model.snapshot(...args);\n\n textSnapshot: IrisGridTableModel['textSnapshot'] = (...args) =>\n this.model.textSnapshot(...args);\n\n export(): Promise<Table> {\n if (TableUtils.isTreeTable(this.model)) {\n throw new Error(\"TreeTable has no 'export' property\");\n }\n return (this.model as IrisGridTableModel).export();\n }\n\n valuesTable: IrisGridTableModel['valuesTable'] = (...args) =>\n this.model.valuesTable(...args);\n\n columnStatistics(column: Column): Promise<ColumnStatistics> {\n if (TableUtils.isTreeTable(this.model)) {\n throw new Error(\"TreeTable has no 'columnStatistics' function\");\n }\n return (this.model as IrisGridTableModel).columnStatistics(column);\n }\n\n editValueForCell: IrisGridTableModel['editValueForCell'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n this.model.editValueForCell(...args);\n }\n return '';\n };\n\n setValueForCell: IrisGridTableModel['setValueForCell'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n this.model.setValueForCell(...args);\n }\n return Promise.resolve();\n };\n\n setValueForRanges: IrisGridTableModel['setValueForRanges'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n this.model.setValueForRanges(...args);\n }\n return Promise.resolve();\n };\n\n setValues: EditableGridModel['setValues'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n return this.model.setValues(...args);\n }\n return Promise.resolve();\n };\n\n isValidForCell: IrisGridTableModel['isValidForCell'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n return this.model.isValidForCell(...args);\n }\n return false;\n };\n\n delete: IrisGridTableModel['delete'] = (...args) =>\n this.model.delete(...args);\n\n get pendingDataMap(): PendingDataMap<UIRow> {\n return this.model.pendingDataMap;\n }\n\n set pendingDataMap(map: PendingDataMap<UIRow>) {\n this.model.pendingDataMap = map;\n }\n\n get pendingRowCount(): number {\n return this.model.pendingRowCount;\n }\n\n set pendingRowCount(count: number) {\n this.model.pendingRowCount = count;\n }\n\n get pendingDataErrors(): Map<number, Error[]> {\n return this.model.pendingDataErrors;\n }\n\n commitPending: IrisGridTableModel['commitPending'] = (...args) =>\n this.model.commitPending(...args);\n\n getColumnIndexByName(name: ColumnName): number | undefined {\n return this.model.getColumnIndexByName(name);\n }\n}\n\nexport default IrisGridProxyModel;\n"],"file":"IrisGridProxyModel.js"}
1
+ {"version":3,"sources":["../src/IrisGridProxyModel.ts"],"names":["deepEqual","Formatter","TableUtils","Log","EventShimCustomEvent","PromiseUtils","isEditableGridModel","isExpandableGridModel","IrisGridTableModel","IrisGridTreeTableModel","IrisGridModel","isIrisGridTableModelTemplate","log","module","makeModel","table","formatter","inputTable","isTreeTable","IrisGridProxyModel","constructor","model","textForCell","truncationCharForCell","textAlignForCell","colorForCell","backgroundColorForCell","textForColumnHeader","colorForColumnHeader","textForRowHeader","textForRowFooter","isRowMovable","isColumnMovable","isRowExpandable","isRowExpanded","setRowExpanded","Error","depthForRow","getColumnHeaderGroup","getColumnHeaderParentGroup","formatForCell","valueForCell","displayString","isEditableRange","isFilterable","top","bottom","columns","setViewport","snapshot","textSnapshot","valuesTable","editValueForCell","setValueForCell","Promise","resolve","setValueForRanges","setValues","isValidForCell","delete","commitPending","handleModelEvent","bind","originalModel","modelPromise","rollup","selectDistinct","close","cancel","event","debug2","detail","type","dispatchEvent","setModel","debug","oldModel","listenerCount","addListeners","EVENT","COLUMNS_CHANGED","TABLE_CHANGED","setNextModel","removeListeners","makeCancelable","then","catch","err","isCanceled","error","REQUEST_FAILED","startListening","stopListening","events","Object","keys","i","length","addEventListener","removeEventListener","rowCount","columnCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","isColumnFrozen","x","hasExpandableRows","isExportAvailable","isColumnStatisticsAvailable","isValuesTableAvailable","isCustomColumnsAvailable","isSelectDistinctAvailable","selectDistinctColumns","isFormatColumnsAvailable","isChartBuilderAvailable","isRollupAvailable","isTotalsAvailable","isReversible","movedColumns","movedRows","layoutHints","frontColumns","backColumns","frozenColumns","columnHeaderMaxDepth","updateFrozenColumns","originalColumns","groupedColumns","description","filter","sort","customColumns","formatColumns","rollupConfig","columnNames","map","name","find","column","totalsConfig","isFilterRequired","isEditable","export","columnStatistics","pendingDataMap","pendingRowCount","count","pendingDataErrors","getColumnIndexByName"],"mappings":";;AAAA;AACA,OAAOA,SAAP,MAAsB,YAAtB;AACA,SAASC,SAAT,EAAoBC,UAApB,QAAsC,wBAAtC;AACA,OAAOC,GAAP,MAAgB,gBAAhB;AACA,SAEEC,oBAFF,EAGEC,YAHF,QAIO,kBAJP;AAiBA,SAEEC,mBAFF,EAGEC,qBAHF,QAMO,iBANP;OAOOC,kB;OACAC,sB;OACAC,a;SAOEC,4B;AAET,IAAMC,GAAG,GAAGT,GAAG,CAACU,MAAJ,CAAW,oBAAX,CAAZ;;AAEA,SAASC,SAAT,CACEC,KADF,EAEEC,SAFF,EAGEC,UAHF,EAIiB;AACf,MAAIf,UAAU,CAACgB,WAAX,CAAuBH,KAAvB,CAAJ,EAAmC;AACjC,WAAO,IAAIN,sBAAJ,CAA2BM,KAA3B,EAAkCC,SAAlC,CAAP;AACD;;AACD,SAAO,IAAIR,kBAAJ,CAAuBO,KAAvB,EAA8BC,SAA9B,EAAyCC,UAAzC,CAAP;AACD;AAED;AACA;AACA;AACA;;;AACA,MAAME,kBAAN,SAAiCT,aAAjC,CAA+C;AAC7C;AACF;AACA;AACA;AACA;AAYEU,EAAAA,WAAW,CACTL,KADS,EAIT;AAAA;;AAAA,QAFAC,SAEA,uEAFY,IAAIf,SAAJ,EAEZ;AAAA,QADAgB,UACA,uEADgC,IAChC;AACA,WADA;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,yCAuJ0C;AAAA,aAC1C,KAAI,CAACI,KAAL,CAAWC,WAAX,CAAuB,YAAvB,CAD0C;AAAA,KAvJ1C;;AAAA,mDA0J8D;AAAA,aAC9D,KAAI,CAACD,KAAL,CAAWE,qBAAX,CAAiC,YAAjC,CAD8D;AAAA,KA1J9D;;AAAA,8CA6JoD;AAAA,aACpD,KAAI,CAACF,KAAL,CAAWG,gBAAX,CAA4B,YAA5B,CADoD;AAAA,KA7JpD;;AAAA,0CAgK4C;AAAA,aAC5C,KAAI,CAACH,KAAL,CAAWI,YAAX,CAAwB,YAAxB,CAD4C;AAAA,KAhK5C;;AAAA,oDAmKgE;AAAA,aAChE,KAAI,CAACJ,KAAL,CAAWK,sBAAX,CAAkC,YAAlC,CADgE;AAAA,KAnKhE;;AAAA,iDAsK0D;AAAA,aAC1D,KAAI,CAACL,KAAL,CAAWM,mBAAX,CAA+B,YAA/B,CAD0D;AAAA,KAtK1D;;AAAA,kDAyK4D;AAAA,aAC5D,KAAI,CAACN,KAAL,CAAWO,oBAAX,CAAgC,YAAhC,CAD4D;AAAA,KAzK5D;;AAAA,8CA4KoD;AAAA,aACpD,KAAI,CAACP,KAAL,CAAWQ,gBAAX,CAA4B,YAA5B,CADoD;AAAA,KA5KpD;;AAAA,8CA+KoD;AAAA,aACpD,KAAI,CAACR,KAAL,CAAWS,gBAAX,CAA4B,YAA5B,CADoD;AAAA,KA/KpD;;AAAA,0CAkL4C;AAAA,aAC5C,KAAI,CAACT,KAAL,CAAWU,YAAX,CAAwB,YAAxB,CAD4C;AAAA,KAlL5C;;AAAA,6CAqLkD;AAAA,aAClD,KAAI,CAACV,KAAL,CAAWW,eAAX,CAA2B,YAA3B,CADkD;AAAA,KArLlD;;AAAA,6CAmM2D,YAAa;AACxE,UAAIzB,qBAAqB,CAAC,KAAI,CAACc,KAAN,CAAzB,EAAuC;AACrC,eAAO,KAAI,CAACA,KAAL,CAAWY,eAAX,CAA2B,YAA3B,CAAP;AACD;;AACD,aAAO,KAAP;AACD,KAxMC;;AAAA,2CA0MuD,YAAa;AACpE,UAAI1B,qBAAqB,CAAC,KAAI,CAACc,KAAN,CAAzB,EAAuC;AACrC,eAAO,KAAI,CAACA,KAAL,CAAWa,aAAX,CAAyB,YAAzB,CAAP;AACD;;AACD,aAAO,KAAP;AACD,KA/MC;;AAAA,4CAiNyD,YAAa;AACtE,UAAI3B,qBAAqB,CAAC,KAAI,CAACc,KAAN,CAAzB,EAAuC;AACrC,eAAO,KAAI,CAACA,KAAL,CAAWc,cAAX,CAA0B,YAA1B,CAAP;AACD;;AACD,YAAMC,KAAK,CAAC,8DAAD,CAAX;AACD,KAtNC;;AAAA,yCAwNmD,YAAa;AAChE,UAAI7B,qBAAqB,CAAC,KAAI,CAACc,KAAN,CAAzB,EAAuC;AACrC,eAAO,KAAI,CAACA,KAAL,CAAWgB,WAAX,CAAuB,YAAvB,CAAP;AACD;;AACD,aAAO,CAAP,CAJgE,CAKhE;AACD,KA9NC;;AAAA,kDA+S4D;AAAA,aAC5D,KAAI,CAAChB,KAAL,CAAWiB,oBAAX,CAAgC,YAAhC,CAD4D;AAAA,KA/S5D;;AAAA,wDAkTwE;AAAA,aAErE,KAAI,CAACjB,KAAL,CAAWkB,0BAAX,CAAsC,YAAtC,CAFqE;AAAA,KAlTxE;;AAAA,2CA0U8C;AAAA,aAC9C,KAAI,CAAClB,KAAL,CAAWmB,aAAX,CAAyB,YAAzB,CAD8C;AAAA,KA1U9C;;AAAA,0CA6U4C;AAAA,aAC5C,KAAI,CAACnB,KAAL,CAAWoB,YAAX,CAAwB,YAAxB,CAD4C;AAAA,KA7U5C;;AAAA,2CAgW8C;AAAA,aAC9C,KAAI,CAACpB,KAAL,CAAWqB,aAAX,CAAyB,YAAzB,CAD8C;AAAA,KAhW9C;;AAAA,6CAiduD,YAAa;AACpE,UAAIpC,mBAAmB,CAAC,KAAI,CAACe,KAAN,CAAvB,EAAqC;AACnC,QAAA,KAAI,CAACA,KAAL,CAAWsB,eAAX,CAA2B,YAA3B;AACD;;AACD,aAAO,KAAP;AACD,KAtdC;;AAAA,0CAwdiD;AAAA,aACjD,KAAI,CAACtB,KAAL,CAAWuB,YAAX,CAAwB,YAAxB,CADiD;AAAA,KAxdjD;;AAAA,yCA2dY,CAACC,GAAD,EAAcC,MAAd,EAA8BC,OAA9B,KACZ,KAAK1B,KAAL,CAAW2B,WAAX,CAAuBH,GAAvB,EAA4BC,MAA5B,EAAoCC,OAApC,CA5dA;;AAAA,sCA8doC;AAAA,aACpC,KAAI,CAAC1B,KAAL,CAAW4B,QAAX,CAAoB,YAApB,CADoC;AAAA,KA9dpC;;AAAA,0CAieiD;AAAA,aACjD,KAAI,CAAC5B,KAAL,CAAW6B,YAAX,CAAwB,YAAxB,CADiD;AAAA,KAjejD;;AAAA,yCA2e+C;AAAA,aAC/C,KAAI,CAAC7B,KAAL,CAAW8B,WAAX,CAAuB,YAAvB,CAD+C;AAAA,KA3e/C;;AAAA,8CAqfyD,YAAa;AACtE,UAAI7C,mBAAmB,CAAC,KAAI,CAACe,KAAN,CAAvB,EAAqC;AACnC,QAAA,KAAI,CAACA,KAAL,CAAW+B,gBAAX,CAA4B,YAA5B;AACD;;AACD,aAAO,EAAP;AACD,KA1fC;;AAAA,6CA4fuD,YAAa;AACpE,UAAI9C,mBAAmB,CAAC,KAAI,CAACe,KAAN,CAAvB,EAAqC;AACnC,QAAA,KAAI,CAACA,KAAL,CAAWgC,eAAX,CAA2B,YAA3B;AACD;;AACD,aAAOC,OAAO,CAACC,OAAR,EAAP;AACD,KAjgBC;;AAAA,+CAmgB2D,YAAa;AACxE,UAAIjD,mBAAmB,CAAC,KAAI,CAACe,KAAN,CAAvB,EAAqC;AACnC,QAAA,KAAI,CAACA,KAAL,CAAWmC,iBAAX,CAA6B,YAA7B;AACD;;AACD,aAAOF,OAAO,CAACC,OAAR,EAAP;AACD,KAxgBC;;AAAA,uCA0gB0C,YAAa;AACvD,UAAIjD,mBAAmB,CAAC,KAAI,CAACe,KAAN,CAAvB,EAAqC;AACnC,eAAO,KAAI,CAACA,KAAL,CAAWoC,SAAX,CAAqB,YAArB,CAAP;AACD;;AACD,aAAOH,OAAO,CAACC,OAAR,EAAP;AACD,KA/gBC;;AAAA,4CAihBqD,YAAa;AAClE,UAAIjD,mBAAmB,CAAC,KAAI,CAACe,KAAN,CAAvB,EAAqC;AACnC,eAAO,KAAI,CAACA,KAAL,CAAWqC,cAAX,CAA0B,YAA1B,CAAP;AACD;;AACD,aAAO,KAAP;AACD,KAthBC;;AAAA,oCAwhBqC;AAAA,aACrC,KAAI,CAACrC,KAAL,CAAWsC,MAAX,CAAkB,YAAlB,CADqC;AAAA,KAxhBrC;;AAAA,2CA+iBmD;AAAA,aACnD,KAAI,CAACtC,KAAL,CAAWuC,aAAX,CAAyB,YAAzB,CADmD;AAAA,KA/iBnD;;AAGA,SAAKC,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBC,IAAtB,CAA2B,IAA3B,CAAxB;AAEA,QAAMzC,KAAK,GAAGP,SAAS,CAACC,KAAD,EAAQC,SAAR,EAAmBC,UAAnB,CAAvB;AACA,SAAK8C,aAAL,GAAqB1C,KAArB;AACA,SAAKA,KAAL,GAAaA,KAAb;AACA,SAAK2C,YAAL,GAAoB,IAApB;AACA,SAAKC,MAAL,GAAc,IAAd;AACA,SAAKC,cAAL,GAAsB,EAAtB;AACD;;AAEDC,EAAAA,KAAK,GAAS;AACZ,SAAKJ,aAAL,CAAmBI,KAAnB;;AACA,QAAI,KAAK9C,KAAL,KAAe,KAAK0C,aAAxB,EAAuC;AACrC,WAAK1C,KAAL,CAAW8C,KAAX;AACD;;AACD,QAAI,KAAKH,YAAL,IAAqB,IAAzB,EAA+B;AAC7B,WAAKA,YAAL,CAAkBI,MAAlB;AACD;AACF;;AAEDP,EAAAA,gBAAgB,CAACQ,KAAD,EAA2B;AACzCzD,IAAAA,GAAG,CAAC0D,MAAJ,CAAW,kBAAX,EAA+BD,KAA/B;AAEA,QAAM;AAAEE,MAAAA,MAAF;AAAUC,MAAAA;AAAV,QAAmBH,KAAzB;AACA,SAAKI,aAAL,CAAmB,IAAIrE,oBAAJ,CAAyBoE,IAAzB,EAA+B;AAAED,MAAAA;AAAF,KAA/B,CAAnB;AACD;;AAEDG,EAAAA,QAAQ,CAACrD,KAAD,EAA6B;AACnCT,IAAAA,GAAG,CAAC+D,KAAJ,CAAU,UAAV,EAAsBtD,KAAtB;AAEA,QAAMuD,QAAQ,GAAG,KAAKvD,KAAtB;;AAEA,QAAIuD,QAAQ,KAAK,KAAKb,aAAtB,EAAqC;AACnCa,MAAAA,QAAQ,CAACT,KAAT;AACD;;AAED,SAAK9C,KAAL,GAAaA,KAAb;;AAEA,QAAI,KAAKwD,aAAL,GAAqB,CAAzB,EAA4B;AAC1B,WAAKC,YAAL,CAAkBzD,KAAlB;AACD;;AAED,SAAKoD,aAAL,CACE,IAAIrE,oBAAJ,CAAyBM,aAAa,CAACqE,KAAd,CAAoBC,eAA7C,EAA8D;AAC5DT,MAAAA,MAAM,EAAElD,KAAK,CAAC0B;AAD8C,KAA9D,CADF;;AAMA,QAAIpC,4BAA4B,CAACU,KAAD,CAAhC,EAAyC;AACvC,WAAKoD,aAAL,CACE,IAAIrE,oBAAJ,CAAyBM,aAAa,CAACqE,KAAd,CAAoBE,aAA7C,EAA4D;AAC1DV,QAAAA,MAAM,EAAElD,KAAK,CAACN;AAD4C,OAA5D,CADF;AAKD;AACF;;AAEDmE,EAAAA,YAAY,CAAClB,YAAD,EAA6C;AACvDpD,IAAAA,GAAG,CAAC0D,MAAJ,CAAW,cAAX;;AAEA,QAAI,KAAKN,YAAT,EAAuB;AACrB,WAAKA,YAAL,CAAkBI,MAAlB;AACD;;AAED,QAAI,KAAKS,aAAL,GAAqB,CAAzB,EAA4B;AAC1B,WAAKM,eAAL,CAAqB,KAAK9D,KAA1B;AACD;;AAED,SAAK2C,YAAL,GAAoB3D,YAAY,CAAC+E,cAAb,CAClBpB,YADkB,EAEjB3C,KAAD,IAA0BA,KAAK,CAAC8C,KAAN,EAFR,CAApB;AAIA,SAAKH,YAAL,CACGqB,IADH,CACQhE,KAAK,IAAI;AACb,WAAK2C,YAAL,GAAoB,IAApB;AACA,WAAKU,QAAL,CAAcrD,KAAd;AACD,KAJH,EAKGiE,KALH,CAKUC,GAAD,IAAkB;AACvB,UAAIlF,YAAY,CAACmF,UAAb,CAAwBD,GAAxB,CAAJ,EAAkC;AAChC3E,QAAAA,GAAG,CAAC0D,MAAJ,CAAW,wBAAX;AACA;AACD;;AAED1D,MAAAA,GAAG,CAAC6E,KAAJ,CAAU,0BAAV,EAAsCF,GAAtC;AACA,WAAKvB,YAAL,GAAoB,IAApB;AAEA,WAAKS,aAAL,CACE,IAAIrE,oBAAJ,CAAyBM,aAAa,CAACqE,KAAd,CAAoBW,cAA7C,EAA6D;AAC3DnB,QAAAA,MAAM,EAAEgB;AADmD,OAA7D,CADF;AAKD,KAnBH;AAoBD;;AAEDI,EAAAA,cAAc,GAAS;AACrB,UAAMA,cAAN;AAEA,SAAKb,YAAL,CAAkB,KAAKzD,KAAvB;AACD;;AAEDuE,EAAAA,aAAa,GAAS;AACpB,UAAMA,aAAN;AAEA,SAAKT,eAAL,CAAqB,KAAK9D,KAA1B;AACD;;AAEDyD,EAAAA,YAAY,CAACzD,KAAD,EAA6B;AACvC,QAAMwE,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYrF,aAAa,CAACqE,KAA1B,CAAf;;AACA,SAAK,IAAIiB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,MAAM,CAACI,MAA3B,EAAmCD,CAAC,IAAI,CAAxC,EAA2C;AACzC;AACA;AACA3E,MAAAA,KAAK,CAAC6E,gBAAN,CAAuBL,MAAM,CAACG,CAAD,CAA7B,EAAkC,KAAKnC,gBAAvC;AACD;AACF;;AAEDsB,EAAAA,eAAe,CAAC9D,KAAD,EAA6B;AAC1C,QAAMwE,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYrF,aAAa,CAACqE,KAA1B,CAAf;;AACA,SAAK,IAAIiB,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGH,MAAM,CAACI,MAA3B,EAAmCD,CAAC,IAAI,CAAxC,EAA2C;AACzC;AACA;AACA3E,MAAAA,KAAK,CAAC8E,mBAAN,CAA0BN,MAAM,CAACG,CAAD,CAAhC,EAAqC,KAAKnC,gBAA1C;AACD;AACF;;AAEW,MAARuC,QAAQ,GAAW;AACrB,WAAO,KAAK/E,KAAL,CAAW+E,QAAlB;AACD;;AAEc,MAAXC,WAAW,GAAW;AACxB,WAAO,KAAKhF,KAAL,CAAWgF,WAAlB;AACD;;AAEsB,MAAnBC,mBAAmB,GAAW;AAChC,WAAO,KAAKjF,KAAL,CAAWiF,mBAAlB;AACD;;AAEyB,MAAtBC,sBAAsB,GAAW;AACnC,WAAO,KAAKlF,KAAL,CAAWkF,sBAAlB;AACD;;AAE0B,MAAvBC,uBAAuB,GAAW;AACpC,WAAO,KAAKnF,KAAL,CAAWmF,uBAAlB;AACD;;AAE2B,MAAxBC,wBAAwB,GAAW;AACrC,WAAO,KAAKpF,KAAL,CAAWoF,wBAAlB;AACD;;AAmCDC,EAAAA,cAAc,CAACC,CAAD,EAAyB;AACrC,WAAO,KAAKtF,KAAL,CAAWqF,cAAX,CAA0BC,CAA1B,CAAP;AACD;;AAEoB,MAAjBC,iBAAiB,GAAY;AAC/B,QAAIrG,qBAAqB,CAAC,KAAKc,KAAN,CAAzB,EAAuC;AACrC,aAAO,KAAKA,KAAL,CAAWuF,iBAAlB;AACD;;AACD,WAAO,KAAP;AACD;;AA+BoB,MAAjBC,iBAAiB,GAAY;AAC/B,WAAO,KAAKxF,KAAL,CAAWwF,iBAAlB;AACD;;AAE8B,MAA3BC,2BAA2B,GAAY;AACzC,WAAO,KAAKzF,KAAL,CAAWyF,2BAAlB;AACD;;AAEyB,MAAtBC,sBAAsB,GAAY;AACpC,WAAO,KAAK1F,KAAL,CAAW0F,sBAAlB;AACD;;AAE2B,MAAxBC,wBAAwB,GAAY;AACtC,WACE,KAAK3F,KAAL,CAAW2F,wBAAX,IACA;AACA,MAAE,KAAKC,yBAAL,IAAkC,KAAKC,qBAAL,CAA2BjB,MAA3B,GAAoC,CAAxE,CAHF;AAKD;;AAE2B,MAAxBkB,wBAAwB,GAAY;AACtC,WAAO,KAAK9F,KAAL,CAAW8F,wBAAlB;AACD;;AAE0B,MAAvBC,uBAAuB,GAAY;AACrC,WAAO,KAAK/F,KAAL,CAAW+F,uBAAlB;AACD;;AAEoB,MAAjBC,iBAAiB,GAAY;AAC/B,WACE,CAAC,KAAKtD,aAAL,CAAmBsD,iBAAnB,IAAwC,KAAKpD,MAAL,IAAe,IAAxD,KACA,KAAKC,cAAL,CAAoB+B,MAApB,KAA+B,CAFjC;AAID;;AAE4B,MAAzBgB,yBAAyB,GAAY;AACvC,WACE,CAAC,KAAKlD,aAAL,CAAmBkD,yBAAnB,IACC,KAAK/C,cAAL,CAAoB+B,MAApB,GAA6B,CAD/B,KAEA,KAAKhC,MAAL,IAAe,IAHjB;AAKD;;AAEoB,MAAjBqD,iBAAiB,GAAY;AAC/B,WAAO,KAAKjG,KAAL,CAAWiG,iBAAlB;AACD;;AAEe,MAAZC,YAAY,GAAY;AAC1B,WAAO,KAAKlG,KAAL,CAAWkG,YAAlB;AACD;;AAEU,MAAPxE,OAAO,GAAa;AACtB,WAAO,KAAK1B,KAAL,CAAW0B,OAAlB;AACD;;AAEe,MAAZyE,YAAY,GAAoB;AAClC,WAAO,KAAKnG,KAAL,CAAWmG,YAAlB;AACD;;AAEY,MAATC,SAAS,GAAoB;AAC/B,WAAO,KAAKpG,KAAL,CAAWoG,SAAlB;AACD;;AAEc,MAAXC,WAAW,GAAuB;AACpC,WAAO,KAAKrG,KAAL,CAAWqG,WAAlB;AACD;;AAEe,MAAZC,YAAY,GAAiB;AAC/B,WAAO,KAAKtG,KAAL,CAAWsG,YAAlB;AACD;;AAEc,MAAXC,WAAW,GAAiB;AAC9B,WAAO,KAAKvG,KAAL,CAAWuG,WAAlB;AACD;;AAEgB,MAAbC,aAAa,GAAiB;AAChC,WAAO,KAAKxG,KAAL,CAAWwG,aAAlB;AACD;;AASuB,MAApBC,oBAAoB,GAAW;AACjC,WAAO,KAAKzG,KAAL,CAAWyG,oBAAlB;AACD;;AAEDC,EAAAA,mBAAmB,CAAChF,OAAD,EAA8B;AAC/C,WAAO,KAAK1B,KAAL,CAAW0G,mBAAX,CAA+BhF,OAA/B,CAAP;AACD;;AAEkB,MAAfiF,eAAe,GAAa;AAC9B,WAAO,KAAKjE,aAAL,CAAmBhB,OAA1B;AACD;;AAEiB,MAAdkF,cAAc,GAAa;AAC7B,WAAO,KAAK5G,KAAL,CAAW4G,cAAlB;AACD;;AAEc,MAAXC,WAAW,GAAW;AACxB,WAAO,KAAK7G,KAAL,CAAW6G,WAAlB;AACD;;AAQS,MAANC,MAAM,GAAsB;AAC9B,WAAO,KAAK9G,KAAL,CAAW8G,MAAlB;AACD;;AAES,MAANA,MAAM,CAACA,MAAD,EAA4B;AACpC,SAAK9G,KAAL,CAAW8G,MAAX,GAAoBA,MAApB;AACD;;AAEY,MAATnH,SAAS,GAAc;AACzB,WAAO,KAAKK,KAAL,CAAWL,SAAlB;AACD;;AAEY,MAATA,SAAS,CAACA,SAAD,EAAuB;AAClC,SAAKK,KAAL,CAAWL,SAAX,GAAuBA,SAAvB;AACD;;AAKO,MAAJoH,IAAI,GAAW;AACjB,WAAO,KAAK/G,KAAL,CAAW+G,IAAlB;AACD;;AAEO,MAAJA,IAAI,CAACA,IAAD,EAAe;AACrB,SAAK/G,KAAL,CAAW+G,IAAX,GAAkBA,IAAlB;AACD;;AAEgB,MAAbC,aAAa,GAAiB;AAChC,WAAO,KAAKhH,KAAL,CAAWgH,aAAlB;AACD;;AAEgB,MAAbA,aAAa,CAACA,aAAD,EAA8B;AAC7C,SAAKhH,KAAL,CAAWgH,aAAX,GAA2BA,aAA3B;AACD;;AAEgB,MAAbC,aAAa,GAAmB;AAClC,WAAO,KAAKjH,KAAL,CAAWiH,aAAlB;AACD;;AAEgB,MAAbA,aAAa,CAACA,aAAD,EAAgC;AAC/C,SAAKjH,KAAL,CAAWiH,aAAX,GAA2BA,aAA3B;AACD;;AAEe,MAAZC,YAAY,GAAwB;AACtC,WAAO,KAAKtE,MAAZ;AACD;;AAEe,MAAZsE,YAAY,CAACA,YAAD,EAAoC;AAClD3H,IAAAA,GAAG,CAAC+D,KAAJ,CAAU,kBAAV,EAA8B4D,YAA9B;;AAEA,QAAI,CAAC,KAAKlB,iBAAV,EAA6B;AAC3B,YAAM,IAAIjF,KAAJ,CAAU,+BAAV,CAAN;AACD,KALiD,CAOlD;AACA;;;AACA,QAAIpC,SAAS,CAACuI,YAAD,EAAe,KAAKtE,MAApB,CAAb,EAA0C;AACxC;AACD;;AAED,SAAKA,MAAL,GAAcsE,YAAd;AAEA,QAAIvE,YAAY,GAAGV,OAAO,CAACC,OAAR,CAAgB,KAAKQ,aAArB,CAAnB;;AAEA,QACEpD,4BAA4B,CAAC,KAAKoD,aAAN,CAA5B,IACAwE,YAAY,IAAI,IAFlB,EAGE;AACAvE,MAAAA,YAAY,GAAG,KAAKD,aAAL,CAAmBhD,KAAnB,CACZkD,MADY,CACLsE,YADK,EAEZlD,IAFY,CAEPtE,KAAK,IAAID,SAAS,CAACC,KAAD,EAAQ,KAAKC,SAAb,CAFX,CAAf;AAGD;;AACD,SAAKkE,YAAL,CAAkBlB,YAAlB;AACD;;AAEwB,MAArBkD,qBAAqB,GAAiB;AACxC,WAAO,KAAKhD,cAAZ;AACD;;AAEwB,MAArBgD,qBAAqB,CAACsB,WAAD,EAAwB;AAC/C5H,IAAAA,GAAG,CAAC+D,KAAJ,CAAU,2BAAV,EAAuC6D,WAAvC;;AAEA,QAAI,CAAC,KAAKvB,yBAAV,EAAqC;AACnC,YAAM,IAAI7E,KAAJ,CAAU,kCAAV,CAAN;AACD;;AAED,QACEoG,WAAW,KAAK,KAAKtB,qBAArB,IACCsB,WAAW,CAACvC,MAAZ,KAAuB,CAAvB,IAA4B,KAAKiB,qBAAL,CAA2BjB,MAA3B,KAAsC,CAFrE,EAGE;AACArF,MAAAA,GAAG,CAAC+D,KAAJ,CAAU,mCAAV,EAA+C6D,WAA/C;AACA;AACD;;AAED,SAAKtE,cAAL,GAAsBsE,WAAtB;AAEA,QAAMtB,qBAAqB,GAAGsB,WAAW,CACtCC,GAD2B,CACvBC,IAAI,IAAI,KAAKV,eAAL,CAAqBW,IAArB,CAA0BC,MAAM,IAAIA,MAAM,CAACF,IAAP,KAAgBA,IAApD,CADe,EAE3BP,MAF2B,CAEpBS,MAAM,IAAIA,MAAM,IAAI,IAFA,CAA9B;AAIA,QAAI5E,YAAY,GAAGV,OAAO,CAACC,OAAR,CAAgB,KAAKQ,aAArB,CAAnB;;AAEA,QACEpD,4BAA4B,CAAC,KAAKoD,aAAN,CAA5B,IACAmD,qBAAqB,CAACjB,MAAtB,GAA+B,CAFjC,EAGE;AACAjC,MAAAA,YAAY,GAAG,KAAKD,aAAL,CAAmBhD,KAAnB,CACZmD,cADY,CACGgD,qBADH,EAEZ7B,IAFY,CAEPtE,KAAK,IAAID,SAAS,CAACC,KAAD,EAAQ,KAAKC,SAAb,CAFX,CAAf;AAGD;;AACD,SAAKkE,YAAL,CAAkBlB,YAAlB;AACD;;AAEe,MAAZ6E,YAAY,GAA+B;AAC7C,WAAO,KAAKxH,KAAL,CAAWwH,YAAlB;AACD;;AAEe,MAAZA,YAAY,CAACA,YAAD,EAA2C;AACzD,SAAKxH,KAAL,CAAWwH,YAAX,GAA0BA,YAA1B;AACD;;AAEmB,MAAhBC,gBAAgB,GAAY;AAC9B,WAAO,KAAKzH,KAAL,CAAWyH,gBAAlB;AACD;;AAEa,MAAVC,UAAU,GAAY;AACxB,WAAOzI,mBAAmB,CAAC,KAAKe,KAAN,CAAnB,IAAmC,KAAKA,KAAL,CAAW0H,UAArD;AACD;;AAqBDC,EAAAA,MAAM,GAAmB;AACvB,QAAI9I,UAAU,CAACgB,WAAX,CAAuB,KAAKG,KAA5B,CAAJ,EAAwC;AACtC,YAAM,IAAIe,KAAJ,CAAU,oCAAV,CAAN;AACD;;AACD,WAAQ,KAAKf,KAAN,CAAmC2H,MAAnC,EAAP;AACD;;AAKDC,EAAAA,gBAAgB,CAACL,MAAD,EAA4C;AAC1D,QAAI1I,UAAU,CAACgB,WAAX,CAAuB,KAAKG,KAA5B,CAAJ,EAAwC;AACtC,YAAM,IAAIe,KAAJ,CAAU,8CAAV,CAAN;AACD;;AACD,WAAQ,KAAKf,KAAN,CAAmC4H,gBAAnC,CAAoDL,MAApD,CAAP;AACD;;AAwCiB,MAAdM,cAAc,GAA0B;AAC1C,WAAO,KAAK7H,KAAL,CAAW6H,cAAlB;AACD;;AAEiB,MAAdA,cAAc,CAACT,GAAD,EAA6B;AAC7C,SAAKpH,KAAL,CAAW6H,cAAX,GAA4BT,GAA5B;AACD;;AAEkB,MAAfU,eAAe,GAAW;AAC5B,WAAO,KAAK9H,KAAL,CAAW8H,eAAlB;AACD;;AAEkB,MAAfA,eAAe,CAACC,KAAD,EAAgB;AACjC,SAAK/H,KAAL,CAAW8H,eAAX,GAA6BC,KAA7B;AACD;;AAEoB,MAAjBC,iBAAiB,GAAyB;AAC5C,WAAO,KAAKhI,KAAL,CAAWgI,iBAAlB;AACD;;AAKDC,EAAAA,oBAAoB,CAACZ,IAAD,EAAuC;AACzD,WAAO,KAAKrH,KAAL,CAAWiI,oBAAX,CAAgCZ,IAAhC,CAAP;AACD;;AAzkB4C;;AA4kB/C,eAAevH,kBAAf","sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport deepEqual from 'deep-equal';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport {\n CancelablePromise,\n EventShimCustomEvent,\n PromiseUtils,\n} from '@deephaven/utils';\nimport {\n Column,\n ColumnStatistics,\n CustomColumn,\n FilterCondition,\n InputTable,\n LayoutHints,\n RollupConfig,\n Sort,\n Table,\n TreeTable,\n} from '@deephaven/jsapi-shim';\nimport {\n EditableGridModel,\n isEditableGridModel,\n isExpandableGridModel,\n ModelIndex,\n MoveOperation,\n} from '@deephaven/grid';\nimport IrisGridTableModel from './IrisGridTableModel';\nimport IrisGridTreeTableModel from './IrisGridTreeTableModel';\nimport IrisGridModel from './IrisGridModel';\nimport {\n ColumnName,\n UITotalsTableConfig,\n PendingDataMap,\n UIRow,\n} from './CommonTypes';\nimport { isIrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\n\nconst log = Log.module('IrisGridProxyModel');\n\nfunction makeModel(\n table: Table | TreeTable,\n formatter?: Formatter,\n inputTable?: InputTable | null\n): IrisGridModel {\n if (TableUtils.isTreeTable(table)) {\n return new IrisGridTreeTableModel(table, formatter);\n }\n return new IrisGridTableModel(table, formatter, inputTable);\n}\n\n/**\n * Model which proxies calls to other IrisGridModels.\n * This allows for operations that generate new tables, like rollups.\n */\nclass IrisGridProxyModel extends IrisGridModel {\n /**\n * @param table Iris data table to be used in the model\n * @param formatter The formatter to use when getting formats\n * @param inputTable Iris input table associated with this table\n */\n\n originalModel: IrisGridModel;\n\n model: IrisGridModel;\n\n modelPromise: CancelablePromise<IrisGridModel> | null;\n\n rollup: RollupConfig | null;\n\n selectDistinct: ColumnName[];\n\n constructor(\n table: Table | TreeTable,\n formatter = new Formatter(),\n inputTable: InputTable | null = null\n ) {\n super();\n\n this.handleModelEvent = this.handleModelEvent.bind(this);\n\n const model = makeModel(table, formatter, inputTable);\n this.originalModel = model;\n this.model = model;\n this.modelPromise = null;\n this.rollup = null;\n this.selectDistinct = [];\n }\n\n close(): void {\n this.originalModel.close();\n if (this.model !== this.originalModel) {\n this.model.close();\n }\n if (this.modelPromise != null) {\n this.modelPromise.cancel();\n }\n }\n\n handleModelEvent(event: CustomEvent): void {\n log.debug2('handleModelEvent', event);\n\n const { detail, type } = event;\n this.dispatchEvent(new EventShimCustomEvent(type, { detail }));\n }\n\n setModel(model: IrisGridModel): void {\n log.debug('setModel', model);\n\n const oldModel = this.model;\n\n if (oldModel !== this.originalModel) {\n oldModel.close();\n }\n\n this.model = model;\n\n if (this.listenerCount > 0) {\n this.addListeners(model);\n }\n\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.COLUMNS_CHANGED, {\n detail: model.columns,\n })\n );\n\n if (isIrisGridTableModelTemplate(model)) {\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.TABLE_CHANGED, {\n detail: model.table,\n })\n );\n }\n }\n\n setNextModel(modelPromise: Promise<IrisGridModel>): void {\n log.debug2('setNextModel');\n\n if (this.modelPromise) {\n this.modelPromise.cancel();\n }\n\n if (this.listenerCount > 0) {\n this.removeListeners(this.model);\n }\n\n this.modelPromise = PromiseUtils.makeCancelable(\n modelPromise,\n (model: IrisGridModel) => model.close()\n );\n this.modelPromise\n .then(model => {\n this.modelPromise = null;\n this.setModel(model);\n })\n .catch((err: unknown) => {\n if (PromiseUtils.isCanceled(err)) {\n log.debug2('setNextModel cancelled');\n return;\n }\n\n log.error('Unable to set next model', err);\n this.modelPromise = null;\n\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.REQUEST_FAILED, {\n detail: err,\n })\n );\n });\n }\n\n startListening(): void {\n super.startListening();\n\n this.addListeners(this.model);\n }\n\n stopListening(): void {\n super.stopListening();\n\n this.removeListeners(this.model);\n }\n\n addListeners(model: IrisGridModel): void {\n const events = Object.keys(IrisGridModel.EVENT);\n for (let i = 0; i < events.length; i += 1) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n model.addEventListener(events[i], this.handleModelEvent);\n }\n }\n\n removeListeners(model: IrisGridModel): void {\n const events = Object.keys(IrisGridModel.EVENT);\n for (let i = 0; i < events.length; i += 1) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n model.removeEventListener(events[i], this.handleModelEvent);\n }\n }\n\n get rowCount(): number {\n return this.model.rowCount;\n }\n\n get columnCount(): number {\n return this.model.columnCount;\n }\n\n get floatingTopRowCount(): number {\n return this.model.floatingTopRowCount;\n }\n\n get floatingBottomRowCount(): number {\n return this.model.floatingBottomRowCount;\n }\n\n get floatingLeftColumnCount(): number {\n return this.model.floatingLeftColumnCount;\n }\n\n get floatingRightColumnCount(): number {\n return this.model.floatingRightColumnCount;\n }\n\n textForCell: IrisGridModel['textForCell'] = (...args) =>\n this.model.textForCell(...args);\n\n truncationCharForCell: IrisGridModel['truncationCharForCell'] = (...args) =>\n this.model.truncationCharForCell(...args);\n\n textAlignForCell: IrisGridModel['textAlignForCell'] = (...args) =>\n this.model.textAlignForCell(...args);\n\n colorForCell: IrisGridModel['colorForCell'] = (...args) =>\n this.model.colorForCell(...args);\n\n backgroundColorForCell: IrisGridModel['backgroundColorForCell'] = (...args) =>\n this.model.backgroundColorForCell(...args);\n\n textForColumnHeader: IrisGridModel['textForColumnHeader'] = (...args) =>\n this.model.textForColumnHeader(...args);\n\n colorForColumnHeader: IrisGridModel['colorForColumnHeader'] = (...args) =>\n this.model.colorForColumnHeader(...args);\n\n textForRowHeader: IrisGridModel['textForRowHeader'] = (...args) =>\n this.model.textForRowHeader(...args);\n\n textForRowFooter: IrisGridModel['textForRowFooter'] = (...args) =>\n this.model.textForRowFooter(...args);\n\n isRowMovable: IrisGridModel['isRowMovable'] = (...args) =>\n this.model.isRowMovable(...args);\n\n isColumnMovable: IrisGridModel['isColumnMovable'] = (...args) =>\n this.model.isColumnMovable(...args);\n\n isColumnFrozen(x: ModelIndex): boolean {\n return this.model.isColumnFrozen(x);\n }\n\n get hasExpandableRows(): boolean {\n if (isExpandableGridModel(this.model)) {\n return this.model.hasExpandableRows;\n }\n return false;\n }\n\n isRowExpandable: IrisGridTreeTableModel['isRowExpandable'] = (...args) => {\n if (isExpandableGridModel(this.model)) {\n return this.model.isRowExpandable(...args);\n }\n return false;\n };\n\n isRowExpanded: IrisGridTreeTableModel['isRowExpanded'] = (...args) => {\n if (isExpandableGridModel(this.model)) {\n return this.model.isRowExpanded(...args);\n }\n return false;\n };\n\n setRowExpanded: IrisGridTreeTableModel['setRowExpanded'] = (...args) => {\n if (isExpandableGridModel(this.model)) {\n return this.model.setRowExpanded(...args);\n }\n throw Error('Function setRowExpanded does not exist on IrisGridTableModel');\n };\n\n depthForRow: IrisGridTreeTableModel['depthForRow'] = (...args) => {\n if (isExpandableGridModel(this.model)) {\n return this.model.depthForRow(...args);\n }\n return 0;\n // throw Error('Function depthForRow does not exist on IrisGridTableModel');\n };\n\n get isExportAvailable(): boolean {\n return this.model.isExportAvailable;\n }\n\n get isColumnStatisticsAvailable(): boolean {\n return this.model.isColumnStatisticsAvailable;\n }\n\n get isValuesTableAvailable(): boolean {\n return this.model.isValuesTableAvailable;\n }\n\n get isCustomColumnsAvailable(): boolean {\n return (\n this.model.isCustomColumnsAvailable &&\n // Disable for selectDistinct tables\n !(this.isSelectDistinctAvailable && this.selectDistinctColumns.length > 0)\n );\n }\n\n get isFormatColumnsAvailable(): boolean {\n return this.model.isFormatColumnsAvailable;\n }\n\n get isChartBuilderAvailable(): boolean {\n return this.model.isChartBuilderAvailable;\n }\n\n get isRollupAvailable(): boolean {\n return (\n (this.originalModel.isRollupAvailable || this.rollup != null) &&\n this.selectDistinct.length === 0\n );\n }\n\n get isSelectDistinctAvailable(): boolean {\n return (\n (this.originalModel.isSelectDistinctAvailable ||\n this.selectDistinct.length > 0) &&\n this.rollup == null\n );\n }\n\n get isTotalsAvailable(): boolean {\n return this.model.isTotalsAvailable;\n }\n\n get isReversible(): boolean {\n return this.model.isReversible;\n }\n\n get columns(): Column[] {\n return this.model.columns;\n }\n\n get movedColumns(): MoveOperation[] {\n return this.model.movedColumns;\n }\n\n get movedRows(): MoveOperation[] {\n return this.model.movedRows;\n }\n\n get layoutHints(): LayoutHints | null {\n return this.model.layoutHints;\n }\n\n get frontColumns(): ColumnName[] {\n return this.model.frontColumns;\n }\n\n get backColumns(): ColumnName[] {\n return this.model.backColumns;\n }\n\n get frozenColumns(): ColumnName[] {\n return this.model.frozenColumns;\n }\n\n getColumnHeaderGroup: IrisGridModel['getColumnHeaderGroup'] = (...args) =>\n this.model.getColumnHeaderGroup(...args);\n\n getColumnHeaderParentGroup: IrisGridModel['getColumnHeaderParentGroup'] = (\n ...args\n ) => this.model.getColumnHeaderParentGroup(...args);\n\n get columnHeaderMaxDepth(): number {\n return this.model.columnHeaderMaxDepth;\n }\n\n updateFrozenColumns(columns: ColumnName[]): void {\n return this.model.updateFrozenColumns(columns);\n }\n\n get originalColumns(): Column[] {\n return this.originalModel.columns;\n }\n\n get groupedColumns(): Column[] {\n return this.model.groupedColumns;\n }\n\n get description(): string {\n return this.model.description;\n }\n\n formatForCell: IrisGridModel['formatForCell'] = (...args) =>\n this.model.formatForCell(...args);\n\n valueForCell: IrisGridModel['valueForCell'] = (...args) =>\n this.model.valueForCell(...args);\n\n get filter(): FilterCondition[] {\n return this.model.filter;\n }\n\n set filter(filter: FilterCondition[]) {\n this.model.filter = filter;\n }\n\n get formatter(): Formatter {\n return this.model.formatter;\n }\n\n set formatter(formatter: Formatter) {\n this.model.formatter = formatter;\n }\n\n displayString: IrisGridModel['displayString'] = (...args) =>\n this.model.displayString(...args);\n\n get sort(): Sort[] {\n return this.model.sort;\n }\n\n set sort(sort: Sort[]) {\n this.model.sort = sort;\n }\n\n get customColumns(): ColumnName[] {\n return this.model.customColumns;\n }\n\n set customColumns(customColumns: ColumnName[]) {\n this.model.customColumns = customColumns;\n }\n\n get formatColumns(): CustomColumn[] {\n return this.model.formatColumns;\n }\n\n set formatColumns(formatColumns: CustomColumn[]) {\n this.model.formatColumns = formatColumns;\n }\n\n get rollupConfig(): RollupConfig | null {\n return this.rollup;\n }\n\n set rollupConfig(rollupConfig: RollupConfig | null) {\n log.debug('set rollupConfig', rollupConfig);\n\n if (!this.isRollupAvailable) {\n throw new Error('Rollup Rows are not available');\n }\n\n // Prevent model update when IrisGridModelUpdater is mounted\n // if rollup is already initialized in IrisGridPanel\n if (deepEqual(rollupConfig, this.rollup)) {\n return;\n }\n\n this.rollup = rollupConfig;\n\n let modelPromise = Promise.resolve(this.originalModel);\n\n if (\n isIrisGridTableModelTemplate(this.originalModel) &&\n rollupConfig != null\n ) {\n modelPromise = this.originalModel.table\n .rollup(rollupConfig)\n .then(table => makeModel(table, this.formatter));\n }\n this.setNextModel(modelPromise);\n }\n\n get selectDistinctColumns(): ColumnName[] {\n return this.selectDistinct;\n }\n\n set selectDistinctColumns(columnNames: string[]) {\n log.debug('set selectDistinctColumns', columnNames);\n\n if (!this.isSelectDistinctAvailable) {\n throw new Error('Select distinct is not available');\n }\n\n if (\n columnNames === this.selectDistinctColumns ||\n (columnNames.length === 0 && this.selectDistinctColumns.length === 0)\n ) {\n log.debug('Ignore same selectDistinctColumns', columnNames);\n return;\n }\n\n this.selectDistinct = columnNames;\n\n const selectDistinctColumns = columnNames\n .map(name => this.originalColumns.find(column => column.name === name))\n .filter(column => column != null) as Column[];\n\n let modelPromise = Promise.resolve(this.originalModel);\n\n if (\n isIrisGridTableModelTemplate(this.originalModel) &&\n selectDistinctColumns.length > 0\n ) {\n modelPromise = this.originalModel.table\n .selectDistinct(selectDistinctColumns)\n .then(table => makeModel(table, this.formatter));\n }\n this.setNextModel(modelPromise);\n }\n\n get totalsConfig(): UITotalsTableConfig | null {\n return this.model.totalsConfig;\n }\n\n set totalsConfig(totalsConfig: UITotalsTableConfig | null) {\n this.model.totalsConfig = totalsConfig;\n }\n\n get isFilterRequired(): boolean {\n return this.model.isFilterRequired;\n }\n\n get isEditable(): boolean {\n return isEditableGridModel(this.model) && this.model.isEditable;\n }\n\n isEditableRange: IrisGridTableModel['isEditableRange'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n this.model.isEditableRange(...args);\n }\n return false;\n };\n\n isFilterable: IrisGridTableModel['isFilterable'] = (...args) =>\n this.model.isFilterable(...args);\n\n setViewport = (top: number, bottom: number, columns: Column[]): void =>\n this.model.setViewport(top, bottom, columns);\n\n snapshot: IrisGridModel['snapshot'] = (...args) =>\n this.model.snapshot(...args);\n\n textSnapshot: IrisGridTableModel['textSnapshot'] = (...args) =>\n this.model.textSnapshot(...args);\n\n export(): Promise<Table> {\n if (TableUtils.isTreeTable(this.model)) {\n throw new Error(\"TreeTable has no 'export' property\");\n }\n return (this.model as IrisGridTableModel).export();\n }\n\n valuesTable: IrisGridTableModel['valuesTable'] = (...args) =>\n this.model.valuesTable(...args);\n\n columnStatistics(column: Column): Promise<ColumnStatistics> {\n if (TableUtils.isTreeTable(this.model)) {\n throw new Error(\"TreeTable has no 'columnStatistics' function\");\n }\n return (this.model as IrisGridTableModel).columnStatistics(column);\n }\n\n editValueForCell: IrisGridTableModel['editValueForCell'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n this.model.editValueForCell(...args);\n }\n return '';\n };\n\n setValueForCell: IrisGridTableModel['setValueForCell'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n this.model.setValueForCell(...args);\n }\n return Promise.resolve();\n };\n\n setValueForRanges: IrisGridTableModel['setValueForRanges'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n this.model.setValueForRanges(...args);\n }\n return Promise.resolve();\n };\n\n setValues: EditableGridModel['setValues'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n return this.model.setValues(...args);\n }\n return Promise.resolve();\n };\n\n isValidForCell: IrisGridTableModel['isValidForCell'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n return this.model.isValidForCell(...args);\n }\n return false;\n };\n\n delete: IrisGridTableModel['delete'] = (...args) =>\n this.model.delete(...args);\n\n get pendingDataMap(): PendingDataMap<UIRow> {\n return this.model.pendingDataMap;\n }\n\n set pendingDataMap(map: PendingDataMap<UIRow>) {\n this.model.pendingDataMap = map;\n }\n\n get pendingRowCount(): number {\n return this.model.pendingRowCount;\n }\n\n set pendingRowCount(count: number) {\n this.model.pendingRowCount = count;\n }\n\n get pendingDataErrors(): Map<number, Error[]> {\n return this.model.pendingDataErrors;\n }\n\n commitPending: IrisGridTableModel['commitPending'] = (...args) =>\n this.model.commitPending(...args);\n\n getColumnIndexByName(name: ColumnName): number | undefined {\n return this.model.getColumnIndexByName(name);\n }\n}\n\nexport default IrisGridProxyModel;\n"],"file":"IrisGridProxyModel.js"}
@@ -1,5 +1,5 @@
1
1
  import { IconDefinition } from '@deephaven/icons';
2
- import { BoxCoordinates, Coordinate, GridMetrics, GridRangeIndex, GridRenderer, GridRenderState, GridThemeType, VisibleIndex } from '@deephaven/grid';
2
+ import { BoundedAxisRange, BoxCoordinates, Coordinate, GridMetrics, GridRangeIndex, GridRenderer, GridRenderState, GridThemeType, VisibleIndex } from '@deephaven/grid';
3
3
  import { Sort } from '@deephaven/jsapi-shim';
4
4
  import { ReverseType } from '@deephaven/jsapi-utils';
5
5
  import { AdvancedFilterMap, QuickFilterMap, AdvancedFilter, QuickFilter } from './CommonTypes';
@@ -15,6 +15,7 @@ export declare type IrisGridRenderState = GridRenderState & {
15
15
  isFilterBarShown: boolean;
16
16
  advancedFilters: AdvancedFilterMap;
17
17
  quickFilters: QuickFilterMap;
18
+ isMenuShown: boolean;
18
19
  };
19
20
  /**
20
21
  * Handles rendering some of the Iris specific features, such as sorting icons, sort bar display
@@ -38,7 +39,14 @@ declare class IrisGridRenderer extends GridRenderer {
38
39
  drawScrim(state: IrisGridRenderState): void;
39
40
  drawColumnHeaders(context: CanvasRenderingContext2D, state: IrisGridRenderState): void;
40
41
  drawHeaderBar(context: CanvasRenderingContext2D, state: IrisGridRenderState, color: string | CanvasGradient | CanvasPattern, barHeight: number, interior?: boolean): void;
41
- drawColumnHeader(context: CanvasRenderingContext2D, state: IrisGridRenderState, column: VisibleIndex, columnX: Coordinate, columnWidth: number): void;
42
+ drawColumnHeadersAtDepth(context: CanvasRenderingContext2D, state: IrisGridRenderState, range: BoundedAxisRange, boundsProp: {
43
+ minX: number;
44
+ maxX: number;
45
+ }, depth: number): void;
46
+ drawColumnHeaderAtIndex(context: CanvasRenderingContext2D, state: IrisGridRenderState, index: VisibleIndex, bounds: {
47
+ minX: number;
48
+ maxX: number;
49
+ }): void;
42
50
  drawFilterHeaders(context: CanvasRenderingContext2D, state: IrisGridRenderState): void;
43
51
  drawExpandedFilterHeaders(context: CanvasRenderingContext2D, state: IrisGridRenderState): void;
44
52
  drawExpandedFilterHeader(context: CanvasRenderingContext2D, state: IrisGridRenderState, column: VisibleIndex, columnX: Coordinate, columnWidth: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridRenderer.d.ts","sourceRoot":"","sources":["../src/IrisGridRenderer.ts"],"names":[],"mappings":"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"}