@deephaven/iris-grid 0.84.0 → 0.84.1-picker-ref.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"GotoRow.d.ts","sourceRoot":"","sources":["../src/GotoRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EACZ,WAAW,EASZ,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,SAAS,IAAI,eAAe,EAC7B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,gBAAgB,CAAC;AAExB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,2BAA2B,EAAE,UAAU,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,oCAAoC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACvE,gCAAgC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACpE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAEnD,QAAA,MAAM,OAAO,qFAmWZ,CAAC;AAGF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"GotoRow.d.ts","sourceRoot":"","sources":["../src/GotoRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,EACZ,WAAW,EASZ,MAAM,OAAO,CAAC;AAEf,OAAO,EAEL,SAAS,IAAI,eAAe,EAC7B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,gBAAgB,CAAC;AAExB,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAK3C,UAAU,YAAY;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,KAAK,EAAE,aAAa,CAAC;IACrB,sBAAsB,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;IAErB,2BAA2B,EAAE,UAAU,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,oCAAoC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IACvE,gCAAgC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACpE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,iBAAiB,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAAC;AAEnD,QAAA,MAAM,OAAO,qFAmWZ,CAAC;AAGF,eAAe,OAAO,CAAC"}
package/dist/GotoRow.js CHANGED
@@ -8,12 +8,10 @@ import classNames from 'classnames';
8
8
  import "./GotoRow.css";
9
9
  import { nanoid } from 'nanoid';
10
10
  import IrisGridBottomBar from "./IrisGridBottomBar.js";
11
+ import { isIrisGridTableModelTemplate } from "./IrisGridTableModelTemplate.js";
11
12
  import { jsx as _jsx } from "react/jsx-runtime";
12
13
  import { jsxs as _jsxs } from "react/jsx-runtime";
13
14
  import { Fragment as _Fragment } from "react/jsx-runtime";
14
- function isIrisGridProxyModel(model) {
15
- return model.model !== undefined;
16
- }
17
15
  var DEFAULT_FORMAT_STRING = '###,##0';
18
16
  var GotoRow = /*#__PURE__*/forwardRef((_ref, ref) => {
19
17
  var {
@@ -41,7 +39,7 @@ var GotoRow = /*#__PURE__*/forwardRef((_ref, ref) => {
41
39
  var gotoValueInputRef = useRef(null);
42
40
  var [isGotoRowActive, setIsGotoRowActive] = useState(false);
43
41
  var columns = [];
44
- if (isIrisGridProxyModel(model) && model.table !== undefined) {
42
+ if (isIrisGridTableModelTemplate(model)) {
45
43
  ({
46
44
  columns
47
45
  } = model.table);
@@ -1 +1 @@
1
- {"version":3,"file":"GotoRow.js","names":["FontAwesomeIcon","vsClose","vsArrowUp","vsArrowDown","React","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","Type","FilterType","Button","DateTimeInput","Select","TableUtils","classNames","nanoid","IrisGridBottomBar","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","isIrisGridProxyModel","model","undefined","DEFAULT_FORMAT_STRING","GotoRow","_ref","ref","gotoRow","gotoRowError","gotoValueError","onGotoRowSubmit","isShown","onEntering","onEntered","onExiting","onExited","onGotoRowNumberChanged","onClose","gotoValueSelectedColumnName","gotoValue","gotoValueFilter","onGotoValueSelectedColumnNameChanged","onGotoValueSelectedFilterChanged","onGotoValueChanged","onGotoValueSubmit","gotoRowInputRef","gotoValueInputRef","isGotoRowActive","setIsGotoRowActive","columns","table","dh","rowCount","gotoRowInputId","concat","handleGotoValueNumberKeyDown","e","key","stopPropagation","preventDefault","Number","POSITIVE_INFINITY","NEGATIVE_INFINITY","onGotoValueInputChanged","handleGotoValueKeySubmit","shiftKey","index","getColumnIndexByName","selectedColumn","columnType","type","normalizedType","getNormalizedType","value","focus","_gotoRowInputRef$curr","current","select","selectInput","document","activeElement","_gotoRowInputRef$curr2","_gotoValueInputRef$cu","renderValueInput","dataType","DECIMAL","INT","className","children","onKeyDown","placeholder","onChange","target","toLowerCase","test","DATETIME","defaultValue","onSubmit","STRING","eventTargetValue","eqIgnoreCase","containsIgnoreCase","eq","contains","BOOLEAN","onClick","onFocus","role","htmlFor","event","id","i18n","NumberFormat","format","kind","icon","style","marginRight","isSeekRowAvailable","columnName","map","column","name","tooltip","disabled","displayName"],"sources":["../src/GotoRow.tsx"],"sourcesContent":["import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsClose, vsArrowUp, vsArrowDown } from '@deephaven/icons';\nimport React, {\n ChangeEvent,\n KeyboardEvent,\n ReactElement,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { dh } from '@deephaven/jsapi-types';\nimport {\n Type as FilterType,\n TypeValue as FilterTypeValue,\n} from '@deephaven/filters';\nimport { Button, DateTimeInput, Select } from '@deephaven/components';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport classNames from 'classnames';\nimport './GotoRow.scss';\nimport { nanoid } from 'nanoid';\nimport IrisGridModel from './IrisGridModel';\nimport IrisGridProxyModel from './IrisGridProxyModel';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport { ColumnName } from './CommonTypes';\n\nfunction isIrisGridProxyModel(\n model: IrisGridModel\n): model is IrisGridProxyModel {\n return (model as IrisGridProxyModel).model !== undefined;\n}\n\nconst DEFAULT_FORMAT_STRING = '###,##0';\n\ninterface GotoRowProps {\n gotoRow: string;\n gotoRowError: string;\n gotoValueError: string;\n onGotoRowSubmit: () => void;\n model: IrisGridModel;\n onGotoRowNumberChanged: (event: ChangeEvent<HTMLInputElement>) => void;\n onClose: () => void;\n isShown: boolean;\n onEntering: () => void;\n onEntered: () => void;\n onExiting: () => void;\n onExited: () => void;\n\n gotoValueSelectedColumnName: ColumnName;\n gotoValue: string;\n gotoValueFilter: FilterTypeValue;\n onGotoValueSelectedColumnNameChanged: (columnName: ColumnName) => void;\n onGotoValueSelectedFilterChanged: (filter: FilterTypeValue) => void;\n onGotoValueChanged: (input: string) => void;\n onGotoValueSubmit: (isBackward?: boolean) => void;\n}\n\nexport type GotoRowElement = { focus: () => void };\n\nconst GotoRow = forwardRef<GotoRowElement, GotoRowProps>(\n (\n {\n gotoRow,\n gotoRowError,\n gotoValueError,\n onGotoRowSubmit,\n isShown,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n model,\n onGotoRowNumberChanged,\n onClose,\n gotoValueSelectedColumnName,\n gotoValue,\n gotoValueFilter,\n onGotoValueSelectedColumnNameChanged,\n onGotoValueSelectedFilterChanged,\n onGotoValueChanged,\n onGotoValueSubmit,\n }: GotoRowProps,\n ref\n ): ReactElement => {\n const gotoRowInputRef = useRef<HTMLInputElement>(null);\n const gotoValueInputRef = useRef<HTMLInputElement>(null);\n\n const [isGotoRowActive, setIsGotoRowActive] = useState(false);\n let columns: dh.Column[] = [];\n\n if (isIrisGridProxyModel(model) && model.table !== undefined) {\n ({ columns } = model.table);\n }\n\n const { dh, rowCount } = model;\n\n const gotoRowInputId = useMemo(() => `goto-row-input-${nanoid()}`, []);\n\n const handleGotoValueNumberKeyDown = (\n e: KeyboardEvent<HTMLInputElement>\n ): void => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoValueSubmit();\n } else if (\n (e.key === 'Backspace' || e.key === 'Delete') &&\n (gotoValue === `${Number.POSITIVE_INFINITY}` ||\n gotoValue === `${Number.NEGATIVE_INFINITY}`)\n ) {\n onGotoValueInputChanged('');\n }\n };\n\n const handleGotoValueKeySubmit = (\n e: KeyboardEvent<HTMLInputElement>\n ): void => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoValueSubmit(e.shiftKey);\n }\n };\n\n const index = model.getColumnIndexByName(gotoValueSelectedColumnName);\n\n const selectedColumn = columns[index ?? 0];\n\n const columnType = selectedColumn?.type;\n\n const normalizedType = TableUtils.getNormalizedType(columnType);\n const onGotoValueInputChanged = (value?: string): void => {\n onGotoValueChanged(value ?? '');\n };\n useImperativeHandle(ref, () => ({\n focus(): void {\n setIsGotoRowActive(true);\n gotoRowInputRef.current?.select();\n },\n }));\n const selectInput = (): void => {\n // when row changes without focus (i.e. via context menu), re-select input\n if (\n isGotoRowActive &&\n document.activeElement !== gotoRowInputRef.current\n ) {\n gotoRowInputRef.current?.select();\n } else if (\n !isGotoRowActive &&\n document.activeElement !== gotoValueInputRef.current\n ) {\n gotoValueInputRef.current?.select();\n }\n };\n useEffect(selectInput, [isGotoRowActive]);\n\n const renderValueInput = (): JSX.Element => {\n switch (normalizedType) {\n case TableUtils.dataType.DECIMAL:\n case TableUtils.dataType.INT:\n return (\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className={classNames('form-control', {\n 'is-invalid': gotoValueError !== '',\n })}\n onKeyDown={handleGotoValueNumberKeyDown}\n placeholder=\"value\"\n onChange={e => {\n const value = e.target.value.toLowerCase();\n // regex tests for\n if (/^-?[0-9]*\\.?[0-9]*$/.test(e.target.value)) {\n onGotoValueInputChanged(e.target.value);\n } else if (value === '-i' || value === '-infinity') {\n onGotoValueInputChanged(`${Number.NEGATIVE_INFINITY}`);\n } else if (value === 'i' || value === 'infinity') {\n onGotoValueInputChanged(`${Number.POSITIVE_INFINITY}`);\n }\n }}\n value={gotoValue}\n aria-label=\"Value Input\"\n />\n </div>\n );\n case TableUtils.dataType.DATETIME:\n return (\n <div className=\"goto-value-date-time-input\">\n <DateTimeInput\n ref={gotoValueInputRef}\n className={classNames(\n 'form-control',\n 'goto-value-date-time-input',\n {\n 'is-invalid': gotoValueError !== '',\n }\n )}\n defaultValue={gotoValue}\n onChange={onGotoValueInputChanged}\n onSubmit={handleGotoValueKeySubmit}\n aria-label=\"Value Input\"\n />\n </div>\n );\n case TableUtils.dataType.STRING:\n return (\n <>\n <div className=\"goto-row-input\">\n <Select\n className=\"custom-select\"\n onChange={eventTargetValue => {\n onGotoValueSelectedFilterChanged(\n eventTargetValue as FilterTypeValue\n );\n }}\n value={gotoValueFilter}\n aria-label=\"filter-type-select\"\n >\n <option\n key={FilterType.eqIgnoreCase}\n value={FilterType.eqIgnoreCase}\n >\n Equals (case-insensitive)\n </option>\n <option\n key={FilterType.containsIgnoreCase}\n value={FilterType.containsIgnoreCase}\n >\n Contains (case-insensitive)\n </option>\n <option key={FilterType.eq} value={FilterType.eq}>\n Equals\n </option>\n <option key={FilterType.contains} value={FilterType.contains}>\n Contains\n </option>\n </Select>\n </div>\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className={classNames('form-control', {\n 'is-invalid': gotoValueError !== '',\n })}\n onKeyDown={handleGotoValueKeySubmit}\n placeholder=\"value\"\n onChange={e => onGotoValueInputChanged(e.target.value)}\n value={gotoValue}\n aria-label=\"Value Input\"\n />\n </div>\n </>\n );\n case TableUtils.dataType.BOOLEAN:\n return (\n <div className=\"goto-row-input\">\n <Select\n className=\"custom-select\"\n onChange={eventTargetValue => {\n onGotoValueInputChanged(eventTargetValue);\n }}\n value={gotoValue}\n aria-label=\"Value Input\"\n >\n <option aria-label=\"null value\" key=\"null\" value=\"\" />\n <option key=\"true\" value=\"true\">\n true\n </option>\n <option key=\"false\" value=\"false\">\n false\n </option>\n </Select>\n </div>\n );\n default:\n return (\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className=\"form-control\"\n onKeyDown={handleGotoValueKeySubmit}\n placeholder=\"value\"\n onChange={e => onGotoValueInputChanged(e.target.value)}\n value={gotoValue}\n aria-label=\"Value Input\"\n />\n </div>\n );\n }\n };\n return (\n <IrisGridBottomBar\n isShown={isShown}\n className={classNames('goto-row')}\n onEntering={onEntering}\n onEntered={() => {\n onEntered();\n selectInput();\n }}\n onExiting={onExiting}\n onExited={onExited}\n >\n <>\n <div className=\"goto-row-row\">\n <div\n className={classNames('goto-row-wrapper', {\n 'is-inactive': !isGotoRowActive,\n })}\n onClick={() => setIsGotoRowActive(true)}\n onFocus={() => setIsGotoRowActive(true)}\n role=\"group\"\n >\n <label className=\"goto-row-text\" htmlFor={gotoRowInputId}>\n Go to row\n </label>\n <div className=\"goto-row-input\">\n <input\n ref={gotoRowInputRef}\n data-testid=\"goto-row-input\"\n type=\"number\"\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoRowSubmit();\n }\n }}\n className={classNames('form-control', {\n 'is-invalid': gotoRowError !== '',\n })}\n placeholder=\"Row number\"\n onChange={event => {\n onGotoRowNumberChanged(event);\n }}\n value={gotoRow}\n id={gotoRowInputId}\n />\n </div>\n <div className=\"goto-row-text\">\n of{' '}\n {dh.i18n.NumberFormat.format(DEFAULT_FORMAT_STRING, rowCount)}\n </div>\n {gotoRowError && (\n <div className=\"text-danger\">{gotoRowError}</div>\n )}\n </div>\n <div className=\"goto-row-close\">\n <Button kind=\"ghost\" onClick={onClose}>\n <FontAwesomeIcon icon={vsClose} style={{ marginRight: '0' }} />\n </Button>\n </div>\n </div>\n {model.isSeekRowAvailable && (\n <div className=\"goto-row-row\">\n <div\n className={classNames('goto-row-wrapper', {\n 'is-inactive': isGotoRowActive,\n })}\n onClick={() => setIsGotoRowActive(false)}\n onFocus={() => setIsGotoRowActive(false)}\n role=\"group\"\n >\n <div className=\"goto-row-text\">Go to value</div>\n <div className=\"goto-row-input\">\n <Select\n className=\"custom-select\"\n onChange={eventTargetValue => {\n const columnName = eventTargetValue;\n onGotoValueSelectedColumnNameChanged(columnName);\n }}\n value={gotoValueSelectedColumnName}\n aria-label=\"column-name-select\"\n id=\"column-name-select\"\n >\n {columns.map(column => (\n <option key={column.name} value={column.name}>\n {column.name}\n </option>\n ))}\n </Select>\n </div>\n\n {renderValueInput()}\n\n <div>\n <Button\n tooltip=\"Previous match\"\n icon={vsArrowUp}\n kind=\"ghost\"\n disabled={gotoValue === ''}\n onClick={() => {\n onGotoValueSubmit(true);\n }}\n />\n <Button\n tooltip=\"Next match\"\n icon={vsArrowDown}\n kind=\"ghost\"\n disabled={gotoValue === ''}\n onClick={() => {\n onGotoValueSubmit(false);\n }}\n />\n </div>\n {gotoValueError && (\n <div className=\"text-danger\">{gotoValueError}</div>\n )}\n </div>\n </div>\n )}\n </>\n </IrisGridBottomBar>\n );\n }\n);\nGotoRow.displayName = 'GotoRow';\n\nexport default GotoRow;\n"],"mappings":"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"}
1
+ {"version":3,"file":"GotoRow.js","names":["FontAwesomeIcon","vsClose","vsArrowUp","vsArrowDown","React","forwardRef","useEffect","useImperativeHandle","useMemo","useRef","useState","Type","FilterType","Button","DateTimeInput","Select","TableUtils","classNames","nanoid","IrisGridBottomBar","isIrisGridTableModelTemplate","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_FORMAT_STRING","GotoRow","_ref","ref","gotoRow","gotoRowError","gotoValueError","onGotoRowSubmit","isShown","onEntering","onEntered","onExiting","onExited","model","onGotoRowNumberChanged","onClose","gotoValueSelectedColumnName","gotoValue","gotoValueFilter","onGotoValueSelectedColumnNameChanged","onGotoValueSelectedFilterChanged","onGotoValueChanged","onGotoValueSubmit","gotoRowInputRef","gotoValueInputRef","isGotoRowActive","setIsGotoRowActive","columns","table","dh","rowCount","gotoRowInputId","concat","handleGotoValueNumberKeyDown","e","key","stopPropagation","preventDefault","Number","POSITIVE_INFINITY","NEGATIVE_INFINITY","onGotoValueInputChanged","handleGotoValueKeySubmit","shiftKey","index","getColumnIndexByName","selectedColumn","columnType","type","normalizedType","getNormalizedType","value","focus","_gotoRowInputRef$curr","current","select","selectInput","document","activeElement","_gotoRowInputRef$curr2","_gotoValueInputRef$cu","renderValueInput","dataType","DECIMAL","INT","className","children","onKeyDown","placeholder","onChange","target","toLowerCase","test","DATETIME","defaultValue","onSubmit","STRING","eventTargetValue","eqIgnoreCase","containsIgnoreCase","eq","contains","BOOLEAN","onClick","onFocus","role","htmlFor","event","id","i18n","NumberFormat","format","kind","icon","style","marginRight","isSeekRowAvailable","columnName","map","column","name","tooltip","disabled","displayName"],"sources":["../src/GotoRow.tsx"],"sourcesContent":["import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsClose, vsArrowUp, vsArrowDown } from '@deephaven/icons';\nimport React, {\n ChangeEvent,\n KeyboardEvent,\n ReactElement,\n forwardRef,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport type { dh } from '@deephaven/jsapi-types';\nimport {\n Type as FilterType,\n TypeValue as FilterTypeValue,\n} from '@deephaven/filters';\nimport { Button, DateTimeInput, Select } from '@deephaven/components';\nimport { TableUtils } from '@deephaven/jsapi-utils';\nimport classNames from 'classnames';\nimport './GotoRow.scss';\nimport { nanoid } from 'nanoid';\nimport IrisGridModel from './IrisGridModel';\nimport IrisGridBottomBar from './IrisGridBottomBar';\nimport { ColumnName } from './CommonTypes';\nimport { isIrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\n\nconst DEFAULT_FORMAT_STRING = '###,##0';\n\ninterface GotoRowProps {\n gotoRow: string;\n gotoRowError: string;\n gotoValueError: string;\n onGotoRowSubmit: () => void;\n model: IrisGridModel;\n onGotoRowNumberChanged: (event: ChangeEvent<HTMLInputElement>) => void;\n onClose: () => void;\n isShown: boolean;\n onEntering: () => void;\n onEntered: () => void;\n onExiting: () => void;\n onExited: () => void;\n\n gotoValueSelectedColumnName: ColumnName;\n gotoValue: string;\n gotoValueFilter: FilterTypeValue;\n onGotoValueSelectedColumnNameChanged: (columnName: ColumnName) => void;\n onGotoValueSelectedFilterChanged: (filter: FilterTypeValue) => void;\n onGotoValueChanged: (input: string) => void;\n onGotoValueSubmit: (isBackward?: boolean) => void;\n}\n\nexport type GotoRowElement = { focus: () => void };\n\nconst GotoRow = forwardRef<GotoRowElement, GotoRowProps>(\n (\n {\n gotoRow,\n gotoRowError,\n gotoValueError,\n onGotoRowSubmit,\n isShown,\n onEntering,\n onEntered,\n onExiting,\n onExited,\n model,\n onGotoRowNumberChanged,\n onClose,\n gotoValueSelectedColumnName,\n gotoValue,\n gotoValueFilter,\n onGotoValueSelectedColumnNameChanged,\n onGotoValueSelectedFilterChanged,\n onGotoValueChanged,\n onGotoValueSubmit,\n }: GotoRowProps,\n ref\n ): ReactElement => {\n const gotoRowInputRef = useRef<HTMLInputElement>(null);\n const gotoValueInputRef = useRef<HTMLInputElement>(null);\n\n const [isGotoRowActive, setIsGotoRowActive] = useState(false);\n let columns: dh.Column[] = [];\n\n if (isIrisGridTableModelTemplate(model)) {\n ({ columns } = model.table);\n }\n\n const { dh, rowCount } = model;\n\n const gotoRowInputId = useMemo(() => `goto-row-input-${nanoid()}`, []);\n\n const handleGotoValueNumberKeyDown = (\n e: KeyboardEvent<HTMLInputElement>\n ): void => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoValueSubmit();\n } else if (\n (e.key === 'Backspace' || e.key === 'Delete') &&\n (gotoValue === `${Number.POSITIVE_INFINITY}` ||\n gotoValue === `${Number.NEGATIVE_INFINITY}`)\n ) {\n onGotoValueInputChanged('');\n }\n };\n\n const handleGotoValueKeySubmit = (\n e: KeyboardEvent<HTMLInputElement>\n ): void => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoValueSubmit(e.shiftKey);\n }\n };\n\n const index = model.getColumnIndexByName(gotoValueSelectedColumnName);\n\n const selectedColumn = columns[index ?? 0];\n\n const columnType = selectedColumn?.type;\n\n const normalizedType = TableUtils.getNormalizedType(columnType);\n const onGotoValueInputChanged = (value?: string): void => {\n onGotoValueChanged(value ?? '');\n };\n useImperativeHandle(ref, () => ({\n focus(): void {\n setIsGotoRowActive(true);\n gotoRowInputRef.current?.select();\n },\n }));\n const selectInput = (): void => {\n // when row changes without focus (i.e. via context menu), re-select input\n if (\n isGotoRowActive &&\n document.activeElement !== gotoRowInputRef.current\n ) {\n gotoRowInputRef.current?.select();\n } else if (\n !isGotoRowActive &&\n document.activeElement !== gotoValueInputRef.current\n ) {\n gotoValueInputRef.current?.select();\n }\n };\n useEffect(selectInput, [isGotoRowActive]);\n\n const renderValueInput = (): JSX.Element => {\n switch (normalizedType) {\n case TableUtils.dataType.DECIMAL:\n case TableUtils.dataType.INT:\n return (\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className={classNames('form-control', {\n 'is-invalid': gotoValueError !== '',\n })}\n onKeyDown={handleGotoValueNumberKeyDown}\n placeholder=\"value\"\n onChange={e => {\n const value = e.target.value.toLowerCase();\n // regex tests for\n if (/^-?[0-9]*\\.?[0-9]*$/.test(e.target.value)) {\n onGotoValueInputChanged(e.target.value);\n } else if (value === '-i' || value === '-infinity') {\n onGotoValueInputChanged(`${Number.NEGATIVE_INFINITY}`);\n } else if (value === 'i' || value === 'infinity') {\n onGotoValueInputChanged(`${Number.POSITIVE_INFINITY}`);\n }\n }}\n value={gotoValue}\n aria-label=\"Value Input\"\n />\n </div>\n );\n case TableUtils.dataType.DATETIME:\n return (\n <div className=\"goto-value-date-time-input\">\n <DateTimeInput\n ref={gotoValueInputRef}\n className={classNames(\n 'form-control',\n 'goto-value-date-time-input',\n {\n 'is-invalid': gotoValueError !== '',\n }\n )}\n defaultValue={gotoValue}\n onChange={onGotoValueInputChanged}\n onSubmit={handleGotoValueKeySubmit}\n aria-label=\"Value Input\"\n />\n </div>\n );\n case TableUtils.dataType.STRING:\n return (\n <>\n <div className=\"goto-row-input\">\n <Select\n className=\"custom-select\"\n onChange={eventTargetValue => {\n onGotoValueSelectedFilterChanged(\n eventTargetValue as FilterTypeValue\n );\n }}\n value={gotoValueFilter}\n aria-label=\"filter-type-select\"\n >\n <option\n key={FilterType.eqIgnoreCase}\n value={FilterType.eqIgnoreCase}\n >\n Equals (case-insensitive)\n </option>\n <option\n key={FilterType.containsIgnoreCase}\n value={FilterType.containsIgnoreCase}\n >\n Contains (case-insensitive)\n </option>\n <option key={FilterType.eq} value={FilterType.eq}>\n Equals\n </option>\n <option key={FilterType.contains} value={FilterType.contains}>\n Contains\n </option>\n </Select>\n </div>\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className={classNames('form-control', {\n 'is-invalid': gotoValueError !== '',\n })}\n onKeyDown={handleGotoValueKeySubmit}\n placeholder=\"value\"\n onChange={e => onGotoValueInputChanged(e.target.value)}\n value={gotoValue}\n aria-label=\"Value Input\"\n />\n </div>\n </>\n );\n case TableUtils.dataType.BOOLEAN:\n return (\n <div className=\"goto-row-input\">\n <Select\n className=\"custom-select\"\n onChange={eventTargetValue => {\n onGotoValueInputChanged(eventTargetValue);\n }}\n value={gotoValue}\n aria-label=\"Value Input\"\n >\n <option aria-label=\"null value\" key=\"null\" value=\"\" />\n <option key=\"true\" value=\"true\">\n true\n </option>\n <option key=\"false\" value=\"false\">\n false\n </option>\n </Select>\n </div>\n );\n default:\n return (\n <div className=\"goto-row-input\">\n <input\n ref={gotoValueInputRef}\n className=\"form-control\"\n onKeyDown={handleGotoValueKeySubmit}\n placeholder=\"value\"\n onChange={e => onGotoValueInputChanged(e.target.value)}\n value={gotoValue}\n aria-label=\"Value Input\"\n />\n </div>\n );\n }\n };\n return (\n <IrisGridBottomBar\n isShown={isShown}\n className={classNames('goto-row')}\n onEntering={onEntering}\n onEntered={() => {\n onEntered();\n selectInput();\n }}\n onExiting={onExiting}\n onExited={onExited}\n >\n <>\n <div className=\"goto-row-row\">\n <div\n className={classNames('goto-row-wrapper', {\n 'is-inactive': !isGotoRowActive,\n })}\n onClick={() => setIsGotoRowActive(true)}\n onFocus={() => setIsGotoRowActive(true)}\n role=\"group\"\n >\n <label className=\"goto-row-text\" htmlFor={gotoRowInputId}>\n Go to row\n </label>\n <div className=\"goto-row-input\">\n <input\n ref={gotoRowInputRef}\n data-testid=\"goto-row-input\"\n type=\"number\"\n onKeyDown={e => {\n if (e.key === 'Enter') {\n e.stopPropagation();\n e.preventDefault();\n onGotoRowSubmit();\n }\n }}\n className={classNames('form-control', {\n 'is-invalid': gotoRowError !== '',\n })}\n placeholder=\"Row number\"\n onChange={event => {\n onGotoRowNumberChanged(event);\n }}\n value={gotoRow}\n id={gotoRowInputId}\n />\n </div>\n <div className=\"goto-row-text\">\n of{' '}\n {dh.i18n.NumberFormat.format(DEFAULT_FORMAT_STRING, rowCount)}\n </div>\n {gotoRowError && (\n <div className=\"text-danger\">{gotoRowError}</div>\n )}\n </div>\n <div className=\"goto-row-close\">\n <Button kind=\"ghost\" onClick={onClose}>\n <FontAwesomeIcon icon={vsClose} style={{ marginRight: '0' }} />\n </Button>\n </div>\n </div>\n {model.isSeekRowAvailable && (\n <div className=\"goto-row-row\">\n <div\n className={classNames('goto-row-wrapper', {\n 'is-inactive': isGotoRowActive,\n })}\n onClick={() => setIsGotoRowActive(false)}\n onFocus={() => setIsGotoRowActive(false)}\n role=\"group\"\n >\n <div className=\"goto-row-text\">Go to value</div>\n <div className=\"goto-row-input\">\n <Select\n className=\"custom-select\"\n onChange={eventTargetValue => {\n const columnName = eventTargetValue;\n onGotoValueSelectedColumnNameChanged(columnName);\n }}\n value={gotoValueSelectedColumnName}\n aria-label=\"column-name-select\"\n id=\"column-name-select\"\n >\n {columns.map(column => (\n <option key={column.name} value={column.name}>\n {column.name}\n </option>\n ))}\n </Select>\n </div>\n\n {renderValueInput()}\n\n <div>\n <Button\n tooltip=\"Previous match\"\n icon={vsArrowUp}\n kind=\"ghost\"\n disabled={gotoValue === ''}\n onClick={() => {\n onGotoValueSubmit(true);\n }}\n />\n <Button\n tooltip=\"Next match\"\n icon={vsArrowDown}\n kind=\"ghost\"\n disabled={gotoValue === ''}\n onClick={() => {\n onGotoValueSubmit(false);\n }}\n />\n </div>\n {gotoValueError && (\n <div className=\"text-danger\">{gotoValueError}</div>\n )}\n </div>\n </div>\n )}\n </>\n </IrisGridBottomBar>\n );\n }\n);\nGotoRow.displayName = 'GotoRow';\n\nexport default GotoRow;\n"],"mappings":"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"}
@@ -1,16 +1,13 @@
1
1
  import { Formatter } from '@deephaven/jsapi-utils';
2
- import { CancelablePromise } from '@deephaven/utils';
3
2
  import type { dh as DhType } from '@deephaven/jsapi-types';
4
- import { EditableGridModel, ModelIndex, MoveOperation } from '@deephaven/grid';
5
- import IrisGridTableModel from './IrisGridTableModel';
6
- import IrisGridTreeTableModel from './IrisGridTreeTableModel';
7
3
  import IrisGridModel from './IrisGridModel';
8
- import { ColumnName, UITotalsTableConfig, PendingDataMap, UIRow, PendingDataErrorMap } from './CommonTypes';
9
- import type ColumnHeaderGroup from './ColumnHeaderGroup';
4
+ import { ColumnName } from './CommonTypes';
10
5
  import { PartitionConfig, PartitionedGridModel } from './PartitionedGridModel';
11
6
  /**
12
7
  * Model which proxies calls to other IrisGridModels.
13
8
  * This allows for operations that generate new tables, like rollups.
9
+ * The proxy model will call any methods it has implemented and delegate any
10
+ * it does not implement to the underlying model.
14
11
  */
15
12
  declare class IrisGridProxyModel extends IrisGridModel implements PartitionedGridModel {
16
13
  /**
@@ -19,18 +16,14 @@ declare class IrisGridProxyModel extends IrisGridModel implements PartitionedGri
19
16
  * @param formatter The formatter to use when getting formats
20
17
  * @param inputTable Iris input table associated with this table
21
18
  */
22
- dh: typeof DhType;
23
- originalModel: IrisGridModel;
24
19
  model: IrisGridModel;
25
- modelPromise: CancelablePromise<IrisGridModel> | null;
26
- rollup: DhType.RollupConfig | null;
27
- partition: PartitionConfig | null;
28
- selectDistinct: ColumnName[];
29
- currentViewport?: {
30
- top: number;
31
- bottom: number;
32
- columns?: DhType.Column[];
33
- };
20
+ dh: typeof DhType;
21
+ private originalModel;
22
+ private modelPromise;
23
+ private rollup;
24
+ private partition;
25
+ private selectDistinct;
26
+ private currentViewport?;
34
27
  constructor(dh: typeof DhType, table: DhType.Table | DhType.TreeTable | DhType.PartitionedTable, formatter?: Formatter, inputTable?: DhType.InputTable | null);
35
28
  close(): void;
36
29
  handleModelEvent(event: CustomEvent): void;
@@ -40,122 +33,23 @@ declare class IrisGridProxyModel extends IrisGridModel implements PartitionedGri
40
33
  stopListening(): void;
41
34
  addListeners(model: IrisGridModel): void;
42
35
  removeListeners(model: IrisGridModel): void;
43
- get rowCount(): number;
44
- get columnCount(): number;
45
- get floatingTopRowCount(): number;
46
- get floatingBottomRowCount(): number;
47
- get floatingLeftColumnCount(): number;
48
- get floatingRightColumnCount(): number;
49
- textForCell: IrisGridModel['textForCell'];
50
- truncationCharForCell: IrisGridModel['truncationCharForCell'];
51
- textAlignForCell: IrisGridModel['textAlignForCell'];
52
- colorForCell: IrisGridModel['colorForCell'];
53
- backgroundColorForCell: IrisGridModel['backgroundColorForCell'];
54
- textForColumnHeader: IrisGridModel['textForColumnHeader'];
55
- colorForColumnHeader: IrisGridModel['colorForColumnHeader'];
56
- textForRowHeader: IrisGridModel['textForRowHeader'];
57
- textForRowFooter: IrisGridModel['textForRowFooter'];
58
- isRowMovable: IrisGridModel['isRowMovable'];
59
- isColumnMovable: IrisGridModel['isColumnMovable'];
60
- isColumnFrozen(x: ModelIndex): boolean;
61
- isColumnSortable(index: number): boolean;
62
- get hasExpandableRows(): boolean;
63
- get isExpandAllAvailable(): boolean;
64
- isRowExpandable: IrisGridTreeTableModel['isRowExpandable'];
65
- isRowExpanded: IrisGridTreeTableModel['isRowExpanded'];
66
- setRowExpanded: IrisGridTreeTableModel['setRowExpanded'];
67
- expandAll: IrisGridTreeTableModel['expandAll'];
68
- collapseAll: IrisGridTreeTableModel['collapseAll'];
69
- depthForRow: IrisGridTreeTableModel['depthForRow'];
70
- get isExportAvailable(): boolean;
71
- get isColumnStatisticsAvailable(): boolean;
72
- get isValuesTableAvailable(): boolean;
73
36
  get isCustomColumnsAvailable(): boolean;
74
- get isFormatColumnsAvailable(): boolean;
75
- get isChartBuilderAvailable(): boolean;
76
37
  get isRollupAvailable(): boolean;
77
38
  get isSelectDistinctAvailable(): boolean;
78
- get isTotalsAvailable(): boolean;
79
- get isReversible(): boolean;
80
- get columns(): readonly DhType.Column[];
81
- get initialMovedColumns(): readonly MoveOperation[];
82
- get initialMovedRows(): readonly MoveOperation[];
83
- get layoutHints(): DhType.LayoutHints | null | undefined;
84
- get frontColumns(): readonly ColumnName[];
85
- get backColumns(): readonly ColumnName[];
86
- get frozenColumns(): readonly ColumnName[];
87
- get keyColumnSet(): Set<ColumnName>;
88
- getColumnHeaderGroup: IrisGridModel['getColumnHeaderGroup'];
89
- get columnHeaderGroups(): readonly ColumnHeaderGroup[];
90
- set columnHeaderGroups(groups: readonly ColumnHeaderGroup[]);
91
- get initialColumnHeaderGroups(): readonly ColumnHeaderGroup[];
92
- getColumnHeaderParentGroup: IrisGridModel['getColumnHeaderParentGroup'];
93
- get columnHeaderGroupMap(): ReadonlyMap<string, ColumnHeaderGroup>;
94
- get columnHeaderMaxDepth(): number;
95
- updateFrozenColumns(columns: readonly ColumnName[]): void;
96
39
  get originalColumns(): readonly DhType.Column[];
97
- get groupedColumns(): readonly DhType.Column[];
98
40
  get partitionColumns(): readonly DhType.Column[];
99
- sourceForCell: IrisGridModel['sourceForCell'];
100
- getClearFilterRange: IrisGridModel['getClearFilterRange'];
101
- get description(): string;
102
- formatForCell: IrisGridModel['formatForCell'];
103
- valueForCell: IrisGridModel['valueForCell'];
104
- renderTypeForCell: IrisGridModel['renderTypeForCell'];
105
- dataBarOptionsForCell: IrisGridModel['dataBarOptionsForCell'];
106
- get filter(): readonly DhType.FilterCondition[];
107
- set filter(filter: readonly DhType.FilterCondition[]);
108
41
  get partitionConfig(): PartitionConfig | null;
109
42
  set partitionConfig(partitionConfig: PartitionConfig | null);
110
43
  partitionKeysTable(): Promise<DhType.Table>;
111
44
  partitionMergedTable(): Promise<DhType.Table>;
112
45
  partitionTable(partitions: unknown[]): Promise<DhType.Table>;
113
- get formatter(): Formatter;
114
- set formatter(formatter: Formatter);
115
- displayString: IrisGridModel['displayString'];
116
- get sort(): readonly DhType.Sort[];
117
- set sort(sort: readonly DhType.Sort[]);
118
- get customColumns(): readonly ColumnName[];
119
- set customColumns(customColumns: readonly ColumnName[]);
120
- get formatColumns(): readonly DhType.CustomColumn[];
121
- set formatColumns(formatColumns: readonly DhType.CustomColumn[]);
122
46
  get rollupConfig(): DhType.RollupConfig | null;
123
47
  set rollupConfig(rollupConfig: DhType.RollupConfig | null);
124
48
  get selectDistinctColumns(): ColumnName[];
125
49
  set selectDistinctColumns(columnNames: string[]);
126
- get table(): DhType.Table | DhType.TreeTable | undefined;
127
- get totalsConfig(): UITotalsTableConfig | null;
128
- set totalsConfig(totalsConfig: UITotalsTableConfig | null);
129
50
  get isFilterRequired(): boolean;
130
51
  get isPartitionRequired(): boolean;
131
- get isEditable(): boolean;
132
- get isDeletable(): boolean;
133
- get isViewportPending(): boolean;
134
- isEditableRange: IrisGridTableModel['isEditableRange'];
135
- isDeletableRange: IrisGridTableModel['isDeletableRange'];
136
- isDeletableRanges: IrisGridTableModel['isDeletableRanges'];
137
- isFilterable: IrisGridTableModel['isFilterable'];
138
52
  setViewport: (top: number, bottom: number, columns?: DhType.Column[]) => void;
139
- snapshot: IrisGridModel['snapshot'];
140
- textSnapshot: IrisGridTableModel['textSnapshot'];
141
- export(): Promise<DhType.Table>;
142
- valuesTable: IrisGridTableModel['valuesTable'];
143
- columnStatistics(column: DhType.Column): Promise<DhType.ColumnStatistics>;
144
- editValueForCell: IrisGridTableModel['editValueForCell'];
145
- setValueForCell: IrisGridTableModel['setValueForCell'];
146
- setValueForRanges: IrisGridTableModel['setValueForRanges'];
147
- setValues: EditableGridModel['setValues'];
148
- isValidForCell: IrisGridTableModel['isValidForCell'];
149
- delete: IrisGridTableModel['delete'];
150
- get pendingDataMap(): PendingDataMap<UIRow>;
151
- set pendingDataMap(map: PendingDataMap<UIRow>);
152
- get pendingRowCount(): number;
153
- set pendingRowCount(count: number);
154
- get pendingDataErrors(): PendingDataErrorMap;
155
- commitPending: IrisGridTableModel['commitPending'];
156
- getColumnIndexByName(name: ColumnName): number | undefined;
157
- seekRow(startRow: number, column: DhType.Column, valueType: DhType.ValueTypeType, value: unknown, insensitive?: boolean, contains?: boolean, isBackwards?: boolean): Promise<number>;
158
- get isSeekRowAvailable(): boolean;
159
53
  }
160
54
  export default IrisGridProxyModel;
161
55
  //# sourceMappingURL=IrisGridProxyModel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridProxyModel.d.ts","sourceRoot":"","sources":["../src/IrisGridProxyModel.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EACL,iBAAiB,EAGlB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EAGjB,UAAU,EACV,aAAa,EAEd,MAAM,iBAAiB,CAAC;AACzB,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,KAAK,EACL,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,eAAe,EACf,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAmBhC;;;GAGG;AACH,cAAM,kBAAmB,SAAQ,aAAc,YAAW,oBAAoB;IAC5E;;;;;OAKG;IAEH,EAAE,EAAE,OAAO,MAAM,CAAC;IAElB,aAAa,EAAE,aAAa,CAAC;IAE7B,KAAK,EAAE,aAAa,CAAC;IAErB,YAAY,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IAEtD,MAAM,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;IAEnC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;IAElC,cAAc,EAAE,UAAU,EAAE,CAAC;IAE7B,eAAe,CAAC,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;KAC3B,CAAC;gBAGA,EAAE,EAAE,OAAO,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,EAChE,SAAS,YAAoB,EAC7B,UAAU,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW;IAgB7C,KAAK,IAAI,IAAI;IAUb,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAO1C,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqCpC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAqCxD,cAAc,IAAI,IAAI;IAMtB,aAAa,IAAI,IAAI;IAMrB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IASxC,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAS3C,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,IAAI,mBAAmB,IAAI,MAAM,CAEhC;IAED,IAAI,sBAAsB,IAAI,MAAM,CAEnC;IAED,IAAI,uBAAuB,IAAI,MAAM,CAEpC;IAED,IAAI,wBAAwB,IAAI,MAAM,CAErC;IAED,WAAW,EAAE,aAAa,CAAC,aAAa,CAAC,CACP;IAElC,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CACjB;IAE5C,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CACZ;IAEvC,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CACR;IAEnC,sBAAsB,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAClB;IAE7C,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CACf;IAE1C,oBAAoB,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAChB;IAE3C,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CACZ;IAEvC,gBAAgB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CACZ;IAEvC,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CACR;IAEnC,eAAe,EAAE,aAAa,CAAC,iBAAiB,CAAC,CACX;IAEtC,cAAc,CAAC,CAAC,EAAE,UAAU,GAAG,OAAO;IAItC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIxC,IAAI,iBAAiB,IAAI,OAAO,CAK/B;IAED,IAAI,oBAAoB,IAAI,OAAO,CAKlC;IAED,eAAe,EAAE,sBAAsB,CAAC,iBAAiB,CAAC,CAKxD;IAEF,aAAa,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAKpD;IAEF,cAAc,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAKtD;IAEF,SAAS,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAK5C;IAEF,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAKhD;IAEF,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,CAMhD;IAEF,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,2BAA2B,IAAI,OAAO,CAEzC;IAED,IAAI,sBAAsB,IAAI,OAAO,CAEpC;IAED,IAAI,wBAAwB,IAAI,OAAO,CAMtC;IAED,IAAI,wBAAwB,IAAI,OAAO,CAEtC;IAED,IAAI,uBAAuB,IAAI,OAAO,CAErC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAK/B;IAED,IAAI,yBAAyB,IAAI,OAAO,CAMvC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,IAAI,YAAY,IAAI,OAAO,CAE1B;IAED,IAAI,OAAO,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAEtC;IAED,IAAI,mBAAmB,IAAI,SAAS,aAAa,EAAE,CAElD;IAED,IAAI,gBAAgB,IAAI,SAAS,aAAa,EAAE,CAE/C;IAED,IAAI,WAAW,IAAI,MAAM,CAAC,WAAW,GAAG,IAAI,GAAG,SAAS,CAEvD;IAED,IAAI,YAAY,IAAI,SAAS,UAAU,EAAE,CAExC;IAED,IAAI,WAAW,IAAI,SAAS,UAAU,EAAE,CAEvC;IAED,IAAI,aAAa,IAAI,SAAS,UAAU,EAAE,CAEzC;IAED,IAAI,YAAY,IAAI,GAAG,CAAC,UAAU,CAAC,CAElC;IAED,oBAAoB,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAChB;IAE3C,IAAI,kBAAkB,IAAI,SAAS,iBAAiB,EAAE,CAErD;IAED,IAAI,kBAAkB,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,EAE1D;IAED,IAAI,yBAAyB,IAAI,SAAS,iBAAiB,EAAE,CAE5D;IAED,0BAA0B,EAAE,aAAa,CAAC,4BAA4B,CAAC,CAEnB;IAEpD,IAAI,oBAAoB,IAAI,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAEjE;IAED,IAAI,oBAAoB,IAAI,MAAM,CAEjC;IAED,mBAAmB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI;IAIzD,IAAI,eAAe,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAE9C;IAED,IAAI,cAAc,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAE7C;IAED,IAAI,gBAAgB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAK/C;IAED,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CACT;IAEpC,mBAAmB,EAAE,aAAa,CAAC,qBAAqB,CAAC,CACf;IAE1C,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CACT;IAEpC,YAAY,EAAE,aAAa,CAAC,cAAc,CAAC,CACR;IAEnC,iBAAiB,EAAE,aAAa,CAAC,mBAAmB,CAAC,CACb;IAExC,qBAAqB,EAAE,aAAa,CAAC,uBAAuB,CAAC,CACjB;IAE5C,IAAI,MAAM,IAAI,SAAS,MAAM,CAAC,eAAe,EAAE,CAE9C;IAED,IAAI,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,CAAC,eAAe,EAAE,EAEnD;IAED,IAAI,eAAe,IAAI,eAAe,GAAG,IAAI,CAQ5C;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,EA4B1D;IAED,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAO3C,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAO7C,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAO5D,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED,IAAI,SAAS,CAAC,SAAS,EAAE,SAAS,EAEjC;IAED,aAAa,EAAE,aAAa,CAAC,eAAe,CAAC,CACT;IAEpC,IAAI,IAAI,IAAI,SAAS,MAAM,CAAC,IAAI,EAAE,CAEjC;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,EAEpC;IAED,IAAI,aAAa,IAAI,SAAS,UAAU,EAAE,CAEzC;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,SAAS,UAAU,EAAE,EAErD;IAED,IAAI,aAAa,IAAI,SAAS,MAAM,CAAC,YAAY,EAAE,CAElD;IAED,IAAI,aAAa,CAAC,aAAa,EAAE,SAAS,MAAM,CAAC,YAAY,EAAE,EAE9D;IAED,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,GAAG,IAAI,CAE7C;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,EA0BxD;IAED,IAAI,qBAAqB,IAAI,UAAU,EAAE,CAExC;IAED,IAAI,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,EAgC9C;IAED,IAAI,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,GAAG,SAAS,CAMvD;IAED,IAAI,YAAY,IAAI,mBAAmB,GAAG,IAAI,CAE7C;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,EAExD;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,mBAAmB,IAAI,OAAO,CAIjC;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,IAAI,iBAAiB,IAAI,OAAO,CAE/B;IAED,eAAe,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAOpD;IAEF,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAOtD;IAEF,iBAAiB,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAOxD;IAEF,YAAY,EAAE,kBAAkB,CAAC,cAAc,CAAC,CACb;IAEnC,WAAW,QACJ,MAAM,UACH,MAAM,YACJ,OAAO,MAAM,EAAE,KACxB,IAAI,CAGL;IAEF,QAAQ,EAAE,aAAa,CAAC,UAAU,CAAC,CACJ;IAE/B,YAAY,EAAE,kBAAkB,CAAC,cAAc,CAAC,CACb;IAEnC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAO/B,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CACZ;IAElC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;IAOzE,gBAAgB,EAAE,kBAAkB,CAAC,kBAAkB,CAAC,CAKtD;IAEF,eAAe,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAKpD;IAEF,iBAAiB,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAKxD;IAEF,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAKvC;IAEF,cAAc,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAKlD;IAEF,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAKlC;IAEF,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,CAAC,CAE1C;IAED,IAAI,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,EAE5C;IAED,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,EAEhC;IAED,IAAI,iBAAiB,IAAI,mBAAmB,CAE3C;IAED,aAAa,EAAE,kBAAkB,CAAC,eAAe,CAAC,CACd;IAEpC,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS;IAIpD,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,SAAS,EAAE,MAAM,CAAC,aAAa,EAC/B,KAAK,EAAE,OAAO,EACd,WAAW,CAAC,EAAE,OAAO,EACrB,QAAQ,CAAC,EAAE,OAAO,EAClB,WAAW,CAAC,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,CAAC;IAYlB,IAAI,kBAAkB,IAAI,OAAO,CAEhC;CACF;AAED,eAAe,kBAAkB,CAAC"}
1
+ {"version":3,"file":"IrisGridProxyModel.d.ts","sourceRoot":"","sources":["../src/IrisGridProxyModel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAc,MAAM,wBAAwB,CAAC;AAO/D,OAAO,KAAK,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAI3D,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EACL,eAAe,EACf,oBAAoB,EAErB,MAAM,wBAAwB,CAAC;AAmBhC;;;;;GAKG;AAGH,cAAM,kBAAmB,SAAQ,aAAc,YAAW,oBAAoB;IAC5E;;;;;OAKG;IAEH,KAAK,EAAE,aAAa,CAAC;IAErB,EAAE,EAAE,OAAO,MAAM,CAAC;IAElB,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,YAAY,CAA0C;IAE9D,OAAO,CAAC,MAAM,CAA6B;IAE3C,OAAO,CAAC,SAAS,CAAyB;IAE1C,OAAO,CAAC,cAAc,CAAe;IAErC,OAAO,CAAC,eAAe,CAAC,CAItB;gBAGA,EAAE,EAAE,OAAO,MAAM,EACjB,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,gBAAgB,EAChE,SAAS,YAAoB,EAC7B,UAAU,GAAE,MAAM,CAAC,UAAU,GAAG,IAAW;IA8D7C,KAAK,IAAI,IAAI;IAUb,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAO1C,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAqCpC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI;IAqCxD,cAAc,IAAI,IAAI;IAMtB,aAAa,IAAI,IAAI;IAMrB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IASxC,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAS3C,IAAI,wBAAwB,IAAI,OAAO,CAMtC;IAED,IAAI,iBAAiB,IAAI,OAAO,CAK/B;IAED,IAAI,yBAAyB,IAAI,OAAO,CAMvC;IAED,IAAI,eAAe,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAE9C;IAED,IAAI,gBAAgB,IAAI,SAAS,MAAM,CAAC,MAAM,EAAE,CAK/C;IAED,IAAI,eAAe,IAAI,eAAe,GAAG,IAAI,CAQ5C;IAED,IAAI,eAAe,CAAC,eAAe,EAAE,eAAe,GAAG,IAAI,EA4B1D;IAED,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAO3C,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAO7C,cAAc,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;IAO5D,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,GAAG,IAAI,CAE7C;IAED,IAAI,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,GAAG,IAAI,EA0BxD;IAED,IAAI,qBAAqB,IAAI,UAAU,EAAE,CAExC;IAED,IAAI,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,EAgC9C;IAED,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,IAAI,mBAAmB,IAAI,OAAO,CAIjC;IAED,WAAW,QACJ,MAAM,UACH,MAAM,YACJ,OAAO,MAAM,EAAE,KACxB,IAAI,CAGL;CACH;AAED,eAAe,kBAAkB,CAAC"}
@@ -1,14 +1,10 @@
1
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
- function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
3
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; }
4
2
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
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); }
6
- /* eslint class-methods-use-this: "off" */
7
4
  import deepEqual from 'fast-deep-equal';
8
5
  import { Formatter, TableUtils } from '@deephaven/jsapi-utils';
9
6
  import Log from '@deephaven/log';
10
7
  import { EventShimCustomEvent, PromiseUtils } from '@deephaven/utils';
11
- import { isEditableGridModel, isExpandableGridModel, isDeletableGridModel } from '@deephaven/grid';
12
8
  import IrisGridTableModel from "./IrisGridTableModel.js";
13
9
  import IrisGridPartitionedTableModel from "./IrisGridPartitionedTableModel.js";
14
10
  import IrisGridTreeTableModel from "./IrisGridTreeTableModel.js";
@@ -29,7 +25,11 @@ function makeModel(dh, table, formatter, inputTable) {
29
25
  /**
30
26
  * Model which proxies calls to other IrisGridModels.
31
27
  * This allows for operations that generate new tables, like rollups.
28
+ * The proxy model will call any methods it has implemented and delegate any
29
+ * it does not implement to the underlying model.
32
30
  */
31
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
32
+ // @ts-ignore
33
33
  class IrisGridProxyModel extends IrisGridModel {
34
34
  /**
35
35
  * @param dh JSAPI instance
@@ -39,137 +39,20 @@ class IrisGridProxyModel extends IrisGridModel {
39
39
  */
40
40
 
41
41
  constructor(dh, table) {
42
- var _this;
43
42
  var formatter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new Formatter(dh);
44
43
  var inputTable = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
45
44
  super(dh);
46
- _this = this;
45
+
46
+ // The EventTarget methods must be bound to this instance
47
+ // Otherwise they throw errors because of the Proxy
48
+ _defineProperty(this, "model", void 0);
47
49
  _defineProperty(this, "dh", void 0);
48
50
  _defineProperty(this, "originalModel", void 0);
49
- _defineProperty(this, "model", void 0);
50
51
  _defineProperty(this, "modelPromise", void 0);
51
52
  _defineProperty(this, "rollup", void 0);
52
53
  _defineProperty(this, "partition", void 0);
53
54
  _defineProperty(this, "selectDistinct", void 0);
54
55
  _defineProperty(this, "currentViewport", void 0);
55
- _defineProperty(this, "textForCell", function () {
56
- return _this.model.textForCell(...arguments);
57
- });
58
- _defineProperty(this, "truncationCharForCell", function () {
59
- return _this.model.truncationCharForCell(...arguments);
60
- });
61
- _defineProperty(this, "textAlignForCell", function () {
62
- return _this.model.textAlignForCell(...arguments);
63
- });
64
- _defineProperty(this, "colorForCell", function () {
65
- return _this.model.colorForCell(...arguments);
66
- });
67
- _defineProperty(this, "backgroundColorForCell", function () {
68
- return _this.model.backgroundColorForCell(...arguments);
69
- });
70
- _defineProperty(this, "textForColumnHeader", function () {
71
- return _this.model.textForColumnHeader(...arguments);
72
- });
73
- _defineProperty(this, "colorForColumnHeader", function () {
74
- return _this.model.colorForColumnHeader(...arguments);
75
- });
76
- _defineProperty(this, "textForRowHeader", function () {
77
- return _this.model.textForRowHeader(...arguments);
78
- });
79
- _defineProperty(this, "textForRowFooter", function () {
80
- return _this.model.textForRowFooter(...arguments);
81
- });
82
- _defineProperty(this, "isRowMovable", function () {
83
- return _this.model.isRowMovable(...arguments);
84
- });
85
- _defineProperty(this, "isColumnMovable", function () {
86
- return _this.model.isColumnMovable(...arguments);
87
- });
88
- _defineProperty(this, "isRowExpandable", function () {
89
- if (isExpandableGridModel(_this.model)) {
90
- return _this.model.isRowExpandable(...arguments);
91
- }
92
- return false;
93
- });
94
- _defineProperty(this, "isRowExpanded", function () {
95
- if (isExpandableGridModel(_this.model)) {
96
- return _this.model.isRowExpanded(...arguments);
97
- }
98
- return false;
99
- });
100
- _defineProperty(this, "setRowExpanded", function () {
101
- if (isExpandableGridModel(_this.model)) {
102
- return _this.model.setRowExpanded(...arguments);
103
- }
104
- throw Error('Function setRowExpanded does not exist on IrisGridTableModel');
105
- });
106
- _defineProperty(this, "expandAll", () => {
107
- if (isExpandableGridModel(this.model)) {
108
- return this.model.expandAll();
109
- }
110
- throw Error('Function expandAll does not exist on IrisGridTableModel');
111
- });
112
- _defineProperty(this, "collapseAll", () => {
113
- if (isExpandableGridModel(this.model)) {
114
- return this.model.collapseAll();
115
- }
116
- throw Error('Function collapseAll does not exist on IrisGridTableModel');
117
- });
118
- _defineProperty(this, "depthForRow", function () {
119
- if (isExpandableGridModel(_this.model)) {
120
- return _this.model.depthForRow(...arguments);
121
- }
122
- return 0;
123
- // throw Error('Function depthForRow does not exist on IrisGridTableModel');
124
- });
125
- _defineProperty(this, "getColumnHeaderGroup", function () {
126
- return _this.model.getColumnHeaderGroup(...arguments);
127
- });
128
- _defineProperty(this, "getColumnHeaderParentGroup", function () {
129
- return _this.model.getColumnHeaderParentGroup(...arguments);
130
- });
131
- _defineProperty(this, "sourceForCell", function () {
132
- return _this.model.sourceForCell(...arguments);
133
- });
134
- _defineProperty(this, "getClearFilterRange", function () {
135
- return _this.model.getClearFilterRange(...arguments);
136
- });
137
- _defineProperty(this, "formatForCell", function () {
138
- return _this.model.formatForCell(...arguments);
139
- });
140
- _defineProperty(this, "valueForCell", function () {
141
- return _this.model.valueForCell(...arguments);
142
- });
143
- _defineProperty(this, "renderTypeForCell", function () {
144
- return _this.model.renderTypeForCell(...arguments);
145
- });
146
- _defineProperty(this, "dataBarOptionsForCell", function () {
147
- return _this.model.dataBarOptionsForCell(...arguments);
148
- });
149
- _defineProperty(this, "displayString", function () {
150
- return _this.model.displayString(...arguments);
151
- });
152
- _defineProperty(this, "isEditableRange", function () {
153
- if (isEditableGridModel(_this.model)) {
154
- return _this.model.isEditableRange(...arguments);
155
- }
156
- return false;
157
- });
158
- _defineProperty(this, "isDeletableRange", function () {
159
- if (isDeletableGridModel(_this.model)) {
160
- return _this.model.isDeletableRange(...arguments);
161
- }
162
- return false;
163
- });
164
- _defineProperty(this, "isDeletableRanges", function () {
165
- if (isDeletableGridModel(_this.model)) {
166
- return _this.model.isDeletableRanges(...arguments);
167
- }
168
- return false;
169
- });
170
- _defineProperty(this, "isFilterable", function () {
171
- return _this.model.isFilterable(...arguments);
172
- });
173
56
  _defineProperty(this, "setViewport", (top, bottom, columns) => {
174
57
  this.currentViewport = {
175
58
  top,
@@ -178,54 +61,9 @@ class IrisGridProxyModel extends IrisGridModel {
178
61
  };
179
62
  this.model.setViewport(top, bottom, columns);
180
63
  });
181
- _defineProperty(this, "snapshot", function () {
182
- return _this.model.snapshot(...arguments);
183
- });
184
- _defineProperty(this, "textSnapshot", function () {
185
- return _this.model.textSnapshot(...arguments);
186
- });
187
- _defineProperty(this, "valuesTable", function () {
188
- return _this.model.valuesTable(...arguments);
189
- });
190
- _defineProperty(this, "editValueForCell", function () {
191
- if (isEditableGridModel(_this.model)) {
192
- return _this.model.editValueForCell(...arguments);
193
- }
194
- return '';
195
- });
196
- _defineProperty(this, "setValueForCell", function () {
197
- if (isEditableGridModel(_this.model)) {
198
- return _this.model.setValueForCell(...arguments);
199
- }
200
- return Promise.reject(new Error('Model is not editable'));
201
- });
202
- _defineProperty(this, "setValueForRanges", function () {
203
- if (isEditableGridModel(_this.model)) {
204
- return _this.model.setValueForRanges(...arguments);
205
- }
206
- return Promise.reject(new Error('Model is not editable'));
207
- });
208
- _defineProperty(this, "setValues", function () {
209
- if (isEditableGridModel(_this.model)) {
210
- return _this.model.setValues(...arguments);
211
- }
212
- return Promise.resolve();
213
- });
214
- _defineProperty(this, "isValidForCell", function () {
215
- if (isEditableGridModel(_this.model)) {
216
- return _this.model.isValidForCell(...arguments);
217
- }
218
- return false;
219
- });
220
- _defineProperty(this, "delete", function () {
221
- if (isDeletableGridModel(_this.model)) {
222
- return _this.model.delete(...arguments);
223
- }
224
- return Promise.reject(new Error('Model is not deletable'));
225
- });
226
- _defineProperty(this, "commitPending", function () {
227
- return _this.model.commitPending(...arguments);
228
- });
64
+ this.addEventListener = this.addEventListener.bind(this);
65
+ this.removeEventListener = this.removeEventListener.bind(this);
66
+ this.dispatchEvent = this.dispatchEvent.bind(this);
229
67
  this.handleModelEvent = this.handleModelEvent.bind(this);
230
68
  var model = makeModel(dh, table, formatter, inputTable);
231
69
  this.dh = dh;
@@ -235,6 +73,37 @@ class IrisGridProxyModel extends IrisGridModel {
235
73
  this.rollup = null;
236
74
  this.partition = null;
237
75
  this.selectDistinct = [];
76
+
77
+ // eslint-disable-next-line no-constructor-return
78
+ return new Proxy(this, {
79
+ // We want to use any properties on the proxy model if defined
80
+ // If not, then proxy to the underlying model
81
+ get(target, prop, receiver) {
82
+ var _Object$getOwnPropert;
83
+ // Does this class have a getter for the prop
84
+ // Getter functions are on the prototype
85
+ var proxyHasGetter = ((_Object$getOwnPropert = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), prop)) === null || _Object$getOwnPropert === void 0 ? void 0 : _Object$getOwnPropert.get) != null;
86
+ if (proxyHasGetter) {
87
+ return Reflect.get(target, prop, receiver);
88
+ }
89
+
90
+ // Does this class implement the property
91
+ var proxyHasProp = Object.prototype.hasOwnProperty.call(target, prop);
92
+
93
+ // Does the class implement a function for the property
94
+ var proxyHasFn = Object.prototype.hasOwnProperty.call(Object.getPrototypeOf(target), prop);
95
+ var trueTarget = proxyHasProp || proxyHasFn ? target : target.model;
96
+ return Reflect.get(trueTarget, prop);
97
+ },
98
+ set(target, prop, value) {
99
+ var _Object$getOwnPropert2;
100
+ var proxyHasSetter = ((_Object$getOwnPropert2 = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), prop)) === null || _Object$getOwnPropert2 === void 0 ? void 0 : _Object$getOwnPropert2.set) != null;
101
+ if (proxyHasSetter) {
102
+ return Reflect.set(target, prop, value, target);
103
+ }
104
+ return Reflect.set(target.model, prop, value, target.model);
105
+ }
106
+ });
238
107
  }
239
108
  close() {
240
109
  this.originalModel.close();
@@ -335,138 +204,26 @@ class IrisGridProxyModel extends IrisGridModel {
335
204
  model.removeEventListener(events[i], this.handleModelEvent);
336
205
  }
337
206
  }
338
- get rowCount() {
339
- return this.model.rowCount;
340
- }
341
- get columnCount() {
342
- return this.model.columnCount;
343
- }
344
- get floatingTopRowCount() {
345
- return this.model.floatingTopRowCount;
346
- }
347
- get floatingBottomRowCount() {
348
- return this.model.floatingBottomRowCount;
349
- }
350
- get floatingLeftColumnCount() {
351
- return this.model.floatingLeftColumnCount;
352
- }
353
- get floatingRightColumnCount() {
354
- return this.model.floatingRightColumnCount;
355
- }
356
- isColumnFrozen(x) {
357
- return this.model.isColumnFrozen(x);
358
- }
359
- isColumnSortable(index) {
360
- return this.model.isColumnSortable(index);
361
- }
362
- get hasExpandableRows() {
363
- if (isExpandableGridModel(this.model)) {
364
- return this.model.hasExpandableRows;
365
- }
366
- return false;
367
- }
368
- get isExpandAllAvailable() {
369
- if (isExpandableGridModel(this.model)) {
370
- var _this$model$isExpandA;
371
- return (_this$model$isExpandA = this.model.isExpandAllAvailable) !== null && _this$model$isExpandA !== void 0 ? _this$model$isExpandA : false;
372
- }
373
- return false;
374
- }
375
- get isExportAvailable() {
376
- return this.model.isExportAvailable;
377
- }
378
- get isColumnStatisticsAvailable() {
379
- return this.model.isColumnStatisticsAvailable;
380
- }
381
- get isValuesTableAvailable() {
382
- return this.model.isValuesTableAvailable;
383
- }
384
207
  get isCustomColumnsAvailable() {
385
208
  return this.model.isCustomColumnsAvailable &&
386
209
  // Disable for selectDistinct tables
387
210
  !(this.isSelectDistinctAvailable && this.selectDistinctColumns.length > 0);
388
211
  }
389
- get isFormatColumnsAvailable() {
390
- return this.model.isFormatColumnsAvailable;
391
- }
392
- get isChartBuilderAvailable() {
393
- return this.model.isChartBuilderAvailable;
394
- }
395
212
  get isRollupAvailable() {
396
213
  return (this.originalModel.isRollupAvailable || this.rollup != null) && this.selectDistinct.length === 0;
397
214
  }
398
215
  get isSelectDistinctAvailable() {
399
216
  return (this.originalModel.isSelectDistinctAvailable || this.selectDistinct.length > 0) && this.rollup == null;
400
217
  }
401
- get isTotalsAvailable() {
402
- return this.model.isTotalsAvailable;
403
- }
404
- get isReversible() {
405
- return this.model.isReversible;
406
- }
407
- get columns() {
408
- return this.model.columns;
409
- }
410
- get initialMovedColumns() {
411
- return this.model.initialMovedColumns;
412
- }
413
- get initialMovedRows() {
414
- return this.model.initialMovedRows;
415
- }
416
- get layoutHints() {
417
- return this.model.layoutHints;
418
- }
419
- get frontColumns() {
420
- return this.model.frontColumns;
421
- }
422
- get backColumns() {
423
- return this.model.backColumns;
424
- }
425
- get frozenColumns() {
426
- return this.model.frozenColumns;
427
- }
428
- get keyColumnSet() {
429
- return this.model.keyColumnSet;
430
- }
431
- get columnHeaderGroups() {
432
- return this.model.columnHeaderGroups;
433
- }
434
- set columnHeaderGroups(groups) {
435
- this.model.columnHeaderGroups = groups;
436
- }
437
- get initialColumnHeaderGroups() {
438
- return this.model.initialColumnHeaderGroups;
439
- }
440
- get columnHeaderGroupMap() {
441
- return this.model.columnHeaderGroupMap;
442
- }
443
- get columnHeaderMaxDepth() {
444
- return this.model.columnHeaderMaxDepth;
445
- }
446
- updateFrozenColumns(columns) {
447
- return this.model.updateFrozenColumns(columns);
448
- }
449
218
  get originalColumns() {
450
219
  return this.originalModel.columns;
451
220
  }
452
- get groupedColumns() {
453
- return this.model.groupedColumns;
454
- }
455
221
  get partitionColumns() {
456
222
  if (!isPartitionedGridModelProvider(this.originalModel)) {
457
223
  return [];
458
224
  }
459
225
  return this.originalModel.partitionColumns;
460
226
  }
461
- get description() {
462
- return this.model.description;
463
- }
464
- get filter() {
465
- return this.model.filter;
466
- }
467
- set filter(filter) {
468
- this.model.filter = filter;
469
- }
470
227
  get partitionConfig() {
471
228
  if (!isPartitionedGridModelProvider(this.originalModel) || !this.originalModel.isPartitionRequired) {
472
229
  return null;
@@ -509,30 +266,6 @@ class IrisGridProxyModel extends IrisGridModel {
509
266
  }
510
267
  return this.originalModel.partitionTable(partitions);
511
268
  }
512
- get formatter() {
513
- return this.model.formatter;
514
- }
515
- set formatter(formatter) {
516
- this.model.formatter = formatter;
517
- }
518
- get sort() {
519
- return this.model.sort;
520
- }
521
- set sort(sort) {
522
- this.model.sort = sort;
523
- }
524
- get customColumns() {
525
- return this.model.customColumns;
526
- }
527
- set customColumns(customColumns) {
528
- this.model.customColumns = customColumns;
529
- }
530
- get formatColumns() {
531
- return this.model.formatColumns;
532
- }
533
- set formatColumns(formatColumns) {
534
- this.model.formatColumns = formatColumns;
535
- }
536
269
  get rollupConfig() {
537
270
  return this.rollup;
538
271
  }
@@ -574,72 +307,12 @@ class IrisGridProxyModel extends IrisGridModel {
574
307
  }
575
308
  this.setNextModel(modelPromise);
576
309
  }
577
- get table() {
578
- if (isIrisGridTableModelTemplate(this.model)) {
579
- return this.model.table;
580
- }
581
- return undefined;
582
- }
583
- get totalsConfig() {
584
- return this.model.totalsConfig;
585
- }
586
- set totalsConfig(totalsConfig) {
587
- this.model.totalsConfig = totalsConfig;
588
- }
589
310
  get isFilterRequired() {
590
311
  return this.originalModel.isFilterRequired;
591
312
  }
592
313
  get isPartitionRequired() {
593
314
  return isPartitionedGridModelProvider(this.originalModel) ? this.originalModel.isPartitionRequired : false;
594
315
  }
595
- get isEditable() {
596
- return isEditableGridModel(this.model) && this.model.isEditable;
597
- }
598
- get isDeletable() {
599
- return isDeletableGridModel(this.model) && this.model.isDeletable;
600
- }
601
- get isViewportPending() {
602
- return this.model.isViewportPending;
603
- }
604
- export() {
605
- if (TableUtils.isTreeTable(this.model)) {
606
- throw new Error("TreeTable has no 'export' property");
607
- }
608
- return this.model.export();
609
- }
610
- columnStatistics(column) {
611
- if (TableUtils.isTreeTable(this.model)) {
612
- throw new Error("TreeTable has no 'columnStatistics' function");
613
- }
614
- return this.model.columnStatistics(column);
615
- }
616
- get pendingDataMap() {
617
- return this.model.pendingDataMap;
618
- }
619
- set pendingDataMap(map) {
620
- this.model.pendingDataMap = map;
621
- }
622
- get pendingRowCount() {
623
- return this.model.pendingRowCount;
624
- }
625
- set pendingRowCount(count) {
626
- this.model.pendingRowCount = count;
627
- }
628
- get pendingDataErrors() {
629
- return this.model.pendingDataErrors;
630
- }
631
- getColumnIndexByName(name) {
632
- return this.model.getColumnIndexByName(name);
633
- }
634
- seekRow(startRow, column, valueType, value, insensitive, contains, isBackwards) {
635
- var _this2 = this;
636
- return _asyncToGenerator(function* () {
637
- return _this2.model.seekRow(startRow, column, valueType, value, insensitive, contains, isBackwards);
638
- })();
639
- }
640
- get isSeekRowAvailable() {
641
- return this.model.isSeekRowAvailable;
642
- }
643
316
  }
644
317
  export default IrisGridProxyModel;
645
318
  //# sourceMappingURL=IrisGridProxyModel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGridProxyModel.js","names":["deepEqual","Formatter","TableUtils","Log","EventShimCustomEvent","PromiseUtils","isEditableGridModel","isExpandableGridModel","isDeletableGridModel","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridModel","isIrisGridTableModelTemplate","isPartitionedGridModelProvider","log","module","makeModel","dh","table","formatter","inputTable","isTreeTable","isPartitionedTable","IrisGridProxyModel","constructor","_this","arguments","length","undefined","this","_defineProperty","model","textForCell","truncationCharForCell","textAlignForCell","colorForCell","backgroundColorForCell","textForColumnHeader","colorForColumnHeader","textForRowHeader","textForRowFooter","isRowMovable","isColumnMovable","isRowExpandable","isRowExpanded","setRowExpanded","Error","expandAll","collapseAll","depthForRow","getColumnHeaderGroup","getColumnHeaderParentGroup","sourceForCell","getClearFilterRange","formatForCell","valueForCell","renderTypeForCell","dataBarOptionsForCell","displayString","isEditableRange","isDeletableRange","isDeletableRanges","isFilterable","top","bottom","columns","currentViewport","setViewport","snapshot","textSnapshot","valuesTable","editValueForCell","setValueForCell","Promise","reject","setValueForRanges","setValues","resolve","isValidForCell","delete","commitPending","handleModelEvent","bind","originalModel","modelPromise","rollup","partition","selectDistinct","close","cancel","event","debug2","detail","type","dispatchEvent","setModel","debug","oldModel","oldColumns","listenerCount","addListeners","EVENT","COLUMNS_CHANGED","TABLE_CHANGED","setNextModel","removeListeners","makeCancelable","then","catch","err","isCanceled","error","REQUEST_FAILED","startListening","stopListening","events","Object","keys","i","addEventListener","removeEventListener","rowCount","columnCount","floatingTopRowCount","floatingBottomRowCount","floatingLeftColumnCount","floatingRightColumnCount","isColumnFrozen","x","isColumnSortable","index","hasExpandableRows","isExpandAllAvailable","_this$model$isExpandA","isExportAvailable","isColumnStatisticsAvailable","isValuesTableAvailable","isCustomColumnsAvailable","isSelectDistinctAvailable","selectDistinctColumns","isFormatColumnsAvailable","isChartBuilderAvailable","isRollupAvailable","isTotalsAvailable","isReversible","initialMovedColumns","initialMovedRows","layoutHints","frontColumns","backColumns","frozenColumns","keyColumnSet","columnHeaderGroups","groups","initialColumnHeaderGroups","columnHeaderGroupMap","columnHeaderMaxDepth","updateFrozenColumns","originalColumns","groupedColumns","partitionColumns","description","filter","partitionConfig","isPartitionRequired","mode","partitionKeysTable","partitionMergedTable","partitionTable","partitions","sort","customColumns","formatColumns","rollupConfig","columnNames","map","name","find","column","totalsConfig","isFilterRequired","isEditable","isDeletable","isViewportPending","export","columnStatistics","pendingDataMap","pendingRowCount","count","pendingDataErrors","getColumnIndexByName","seekRow","startRow","valueType","value","insensitive","contains","isBackwards","_this2","_asyncToGenerator","isSeekRowAvailable"],"sources":["../src/IrisGridProxyModel.ts"],"sourcesContent":["/* eslint class-methods-use-this: \"off\" */\nimport deepEqual from 'fast-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 type { dh as DhType } from '@deephaven/jsapi-types';\nimport {\n EditableGridModel,\n isEditableGridModel,\n isExpandableGridModel,\n ModelIndex,\n MoveOperation,\n isDeletableGridModel,\n} from '@deephaven/grid';\nimport IrisGridTableModel from './IrisGridTableModel';\nimport IrisGridPartitionedTableModel from './IrisGridPartitionedTableModel';\nimport IrisGridTreeTableModel from './IrisGridTreeTableModel';\nimport IrisGridModel from './IrisGridModel';\nimport {\n ColumnName,\n UITotalsTableConfig,\n PendingDataMap,\n UIRow,\n PendingDataErrorMap,\n} from './CommonTypes';\nimport { isIrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nimport type ColumnHeaderGroup from './ColumnHeaderGroup';\nimport {\n PartitionConfig,\n PartitionedGridModel,\n isPartitionedGridModelProvider,\n} from './PartitionedGridModel';\n\nconst log = Log.module('IrisGridProxyModel');\n\nfunction makeModel(\n dh: typeof DhType,\n table: DhType.Table | DhType.TreeTable | DhType.PartitionedTable,\n formatter?: Formatter,\n inputTable?: DhType.InputTable | null\n): IrisGridModel {\n if (TableUtils.isTreeTable(table)) {\n return new IrisGridTreeTableModel(dh, table, formatter);\n }\n if (TableUtils.isPartitionedTable(table)) {\n return new IrisGridPartitionedTableModel(dh, table, formatter);\n }\n return new IrisGridTableModel(dh, 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 implements PartitionedGridModel {\n /**\n * @param dh JSAPI instance\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 dh: typeof DhType;\n\n originalModel: IrisGridModel;\n\n model: IrisGridModel;\n\n modelPromise: CancelablePromise<IrisGridModel> | null;\n\n rollup: DhType.RollupConfig | null;\n\n partition: PartitionConfig | null;\n\n selectDistinct: ColumnName[];\n\n currentViewport?: {\n top: number;\n bottom: number;\n columns?: DhType.Column[];\n };\n\n constructor(\n dh: typeof DhType,\n table: DhType.Table | DhType.TreeTable | DhType.PartitionedTable,\n formatter = new Formatter(dh),\n inputTable: DhType.InputTable | null = null\n ) {\n super(dh);\n\n this.handleModelEvent = this.handleModelEvent.bind(this);\n\n const model = makeModel(dh, table, formatter, inputTable);\n this.dh = dh;\n this.originalModel = model;\n this.model = model;\n this.modelPromise = null;\n this.rollup = null;\n this.partition = 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 const { columns: oldColumns } = oldModel;\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 if (oldColumns !== model.columns) {\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.COLUMNS_CHANGED, {\n detail: model.columns,\n })\n );\n } else if (this.currentViewport != null) {\n // If the columns haven't changed, the current viewport should still valid, and needs to be set on the new model\n const { top, bottom, columns } = this.currentViewport;\n model.setViewport(top, bottom, columns);\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 isColumnSortable(index: number): boolean {\n return this.model.isColumnSortable(index);\n }\n\n get hasExpandableRows(): boolean {\n if (isExpandableGridModel(this.model)) {\n return this.model.hasExpandableRows;\n }\n return false;\n }\n\n get isExpandAllAvailable(): boolean {\n if (isExpandableGridModel(this.model)) {\n return this.model.isExpandAllAvailable ?? false;\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 expandAll: IrisGridTreeTableModel['expandAll'] = () => {\n if (isExpandableGridModel(this.model)) {\n return this.model.expandAll();\n }\n throw Error('Function expandAll does not exist on IrisGridTableModel');\n };\n\n collapseAll: IrisGridTreeTableModel['collapseAll'] = () => {\n if (isExpandableGridModel(this.model)) {\n return this.model.collapseAll();\n }\n throw Error('Function collapseAll 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(): readonly DhType.Column[] {\n return this.model.columns;\n }\n\n get initialMovedColumns(): readonly MoveOperation[] {\n return this.model.initialMovedColumns;\n }\n\n get initialMovedRows(): readonly MoveOperation[] {\n return this.model.initialMovedRows;\n }\n\n get layoutHints(): DhType.LayoutHints | null | undefined {\n return this.model.layoutHints;\n }\n\n get frontColumns(): readonly ColumnName[] {\n return this.model.frontColumns;\n }\n\n get backColumns(): readonly ColumnName[] {\n return this.model.backColumns;\n }\n\n get frozenColumns(): readonly ColumnName[] {\n return this.model.frozenColumns;\n }\n\n get keyColumnSet(): Set<ColumnName> {\n return this.model.keyColumnSet;\n }\n\n getColumnHeaderGroup: IrisGridModel['getColumnHeaderGroup'] = (...args) =>\n this.model.getColumnHeaderGroup(...args);\n\n get columnHeaderGroups(): readonly ColumnHeaderGroup[] {\n return this.model.columnHeaderGroups;\n }\n\n set columnHeaderGroups(groups: readonly ColumnHeaderGroup[]) {\n this.model.columnHeaderGroups = groups;\n }\n\n get initialColumnHeaderGroups(): readonly ColumnHeaderGroup[] {\n return this.model.initialColumnHeaderGroups;\n }\n\n getColumnHeaderParentGroup: IrisGridModel['getColumnHeaderParentGroup'] = (\n ...args\n ) => this.model.getColumnHeaderParentGroup(...args);\n\n get columnHeaderGroupMap(): ReadonlyMap<string, ColumnHeaderGroup> {\n return this.model.columnHeaderGroupMap;\n }\n\n get columnHeaderMaxDepth(): number {\n return this.model.columnHeaderMaxDepth;\n }\n\n updateFrozenColumns(columns: readonly ColumnName[]): void {\n return this.model.updateFrozenColumns(columns);\n }\n\n get originalColumns(): readonly DhType.Column[] {\n return this.originalModel.columns;\n }\n\n get groupedColumns(): readonly DhType.Column[] {\n return this.model.groupedColumns;\n }\n\n get partitionColumns(): readonly DhType.Column[] {\n if (!isPartitionedGridModelProvider(this.originalModel)) {\n return [];\n }\n return this.originalModel.partitionColumns;\n }\n\n sourceForCell: IrisGridModel['sourceForCell'] = (...args) =>\n this.model.sourceForCell(...args);\n\n getClearFilterRange: IrisGridModel['getClearFilterRange'] = (...args) =>\n this.model.getClearFilterRange(...args);\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 renderTypeForCell: IrisGridModel['renderTypeForCell'] = (...args) =>\n this.model.renderTypeForCell(...args);\n\n dataBarOptionsForCell: IrisGridModel['dataBarOptionsForCell'] = (...args) =>\n this.model.dataBarOptionsForCell(...args);\n\n get filter(): readonly DhType.FilterCondition[] {\n return this.model.filter;\n }\n\n set filter(filter: readonly DhType.FilterCondition[]) {\n this.model.filter = filter;\n }\n\n get partitionConfig(): PartitionConfig | null {\n if (\n !isPartitionedGridModelProvider(this.originalModel) ||\n !this.originalModel.isPartitionRequired\n ) {\n return null;\n }\n return this.partition;\n }\n\n set partitionConfig(partitionConfig: PartitionConfig | null) {\n if (!this.isPartitionRequired) {\n throw new Error('Partitions are not available');\n }\n log.debug('set partitionConfig', partitionConfig);\n this.partition = partitionConfig;\n\n let modelPromise = Promise.resolve(this.originalModel);\n if (\n partitionConfig != null &&\n isPartitionedGridModelProvider(this.originalModel)\n ) {\n if (partitionConfig.mode === 'keys') {\n modelPromise = this.originalModel\n .partitionKeysTable()\n .then(table => makeModel(this.dh, table, this.formatter));\n } else if (partitionConfig.mode === 'merged') {\n modelPromise = this.originalModel\n .partitionMergedTable()\n .then(table => makeModel(this.dh, table, this.formatter));\n } else {\n modelPromise = this.originalModel\n .partitionTable(partitionConfig.partitions)\n .then(table => makeModel(this.dh, table, this.formatter));\n }\n }\n\n this.setNextModel(modelPromise);\n }\n\n partitionKeysTable(): Promise<DhType.Table> {\n if (!isPartitionedGridModelProvider(this.originalModel)) {\n throw new Error('Partitions are not available');\n }\n return this.originalModel.partitionKeysTable();\n }\n\n partitionMergedTable(): Promise<DhType.Table> {\n if (!isPartitionedGridModelProvider(this.originalModel)) {\n throw new Error('Partitions are not available');\n }\n return this.originalModel.partitionMergedTable();\n }\n\n partitionTable(partitions: unknown[]): Promise<DhType.Table> {\n if (!isPartitionedGridModelProvider(this.originalModel)) {\n throw new Error('Partitions are not available');\n }\n return this.originalModel.partitionTable(partitions);\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(): readonly DhType.Sort[] {\n return this.model.sort;\n }\n\n set sort(sort: readonly DhType.Sort[]) {\n this.model.sort = sort;\n }\n\n get customColumns(): readonly ColumnName[] {\n return this.model.customColumns;\n }\n\n set customColumns(customColumns: readonly ColumnName[]) {\n this.model.customColumns = customColumns;\n }\n\n get formatColumns(): readonly DhType.CustomColumn[] {\n return this.model.formatColumns;\n }\n\n set formatColumns(formatColumns: readonly DhType.CustomColumn[]) {\n this.model.formatColumns = formatColumns;\n }\n\n get rollupConfig(): DhType.RollupConfig | null {\n return this.rollup;\n }\n\n set rollupConfig(rollupConfig: DhType.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(this.dh, 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 DhType.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(this.dh, table, this.formatter));\n }\n this.setNextModel(modelPromise);\n }\n\n get table(): DhType.Table | DhType.TreeTable | undefined {\n if (isIrisGridTableModelTemplate(this.model)) {\n return this.model.table;\n }\n\n return undefined;\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.originalModel.isFilterRequired;\n }\n\n get isPartitionRequired(): boolean {\n return isPartitionedGridModelProvider(this.originalModel)\n ? this.originalModel.isPartitionRequired\n : false;\n }\n\n get isEditable(): boolean {\n return isEditableGridModel(this.model) && this.model.isEditable;\n }\n\n get isDeletable(): boolean {\n return isDeletableGridModel(this.model) && this.model.isDeletable;\n }\n\n get isViewportPending(): boolean {\n return this.model.isViewportPending;\n }\n\n isEditableRange: IrisGridTableModel['isEditableRange'] = (\n ...args\n ): boolean => {\n if (isEditableGridModel(this.model)) {\n return this.model.isEditableRange(...args);\n }\n return false;\n };\n\n isDeletableRange: IrisGridTableModel['isDeletableRange'] = (\n ...args\n ): boolean => {\n if (isDeletableGridModel(this.model)) {\n return this.model.isDeletableRange(...args);\n }\n return false;\n };\n\n isDeletableRanges: IrisGridTableModel['isDeletableRanges'] = (\n ...args\n ): boolean => {\n if (isDeletableGridModel(this.model)) {\n return this.model.isDeletableRanges(...args);\n }\n return false;\n };\n\n isFilterable: IrisGridTableModel['isFilterable'] = (...args) =>\n this.model.isFilterable(...args);\n\n setViewport = (\n top: number,\n bottom: number,\n columns?: DhType.Column[]\n ): void => {\n this.currentViewport = { top, bottom, columns };\n this.model.setViewport(top, bottom, columns);\n };\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<DhType.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: DhType.Column): Promise<DhType.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 return this.model.editValueForCell(...args);\n }\n return '';\n };\n\n setValueForCell: IrisGridTableModel['setValueForCell'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n return this.model.setValueForCell(...args);\n }\n return Promise.reject(new Error('Model is not editable'));\n };\n\n setValueForRanges: IrisGridTableModel['setValueForRanges'] = (...args) => {\n if (isEditableGridModel(this.model)) {\n return this.model.setValueForRanges(...args);\n }\n return Promise.reject(new Error('Model is not editable'));\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 if (isDeletableGridModel(this.model)) {\n return this.model.delete(...args);\n }\n return Promise.reject(new Error('Model is not deletable'));\n };\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(): PendingDataErrorMap {\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 async seekRow(\n startRow: number,\n column: DhType.Column,\n valueType: DhType.ValueTypeType,\n value: unknown,\n insensitive?: boolean,\n contains?: boolean,\n isBackwards?: boolean\n ): Promise<number> {\n return this.model.seekRow(\n startRow,\n column,\n valueType,\n value,\n insensitive,\n contains,\n isBackwards\n );\n }\n\n get isSeekRowAvailable(): boolean {\n return this.model.isSeekRowAvailable;\n }\n}\n\nexport default IrisGridProxyModel;\n"],"mappings":"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"}
1
+ {"version":3,"file":"IrisGridProxyModel.js","names":["deepEqual","Formatter","TableUtils","Log","EventShimCustomEvent","PromiseUtils","IrisGridTableModel","IrisGridPartitionedTableModel","IrisGridTreeTableModel","IrisGridModel","isIrisGridTableModelTemplate","isPartitionedGridModelProvider","log","module","makeModel","dh","table","formatter","inputTable","isTreeTable","isPartitionedTable","IrisGridProxyModel","constructor","arguments","length","undefined","_defineProperty","top","bottom","columns","currentViewport","model","setViewport","addEventListener","bind","removeEventListener","dispatchEvent","handleModelEvent","originalModel","modelPromise","rollup","partition","selectDistinct","Proxy","get","target","prop","receiver","_Object$getOwnPropert","proxyHasGetter","Object","getOwnPropertyDescriptor","getPrototypeOf","Reflect","proxyHasProp","prototype","hasOwnProperty","call","proxyHasFn","trueTarget","set","value","_Object$getOwnPropert2","proxyHasSetter","close","cancel","event","debug2","detail","type","setModel","debug","oldModel","oldColumns","listenerCount","addListeners","EVENT","COLUMNS_CHANGED","TABLE_CHANGED","setNextModel","removeListeners","makeCancelable","then","catch","err","isCanceled","error","REQUEST_FAILED","startListening","stopListening","events","keys","i","isCustomColumnsAvailable","isSelectDistinctAvailable","selectDistinctColumns","isRollupAvailable","originalColumns","partitionColumns","partitionConfig","isPartitionRequired","Error","Promise","resolve","mode","partitionKeysTable","partitionMergedTable","partitionTable","partitions","rollupConfig","columnNames","map","name","find","column","filter","isFilterRequired"],"sources":["../src/IrisGridProxyModel.ts"],"sourcesContent":["import deepEqual from 'fast-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 type { dh as DhType } from '@deephaven/jsapi-types';\nimport IrisGridTableModel from './IrisGridTableModel';\nimport IrisGridPartitionedTableModel from './IrisGridPartitionedTableModel';\nimport IrisGridTreeTableModel from './IrisGridTreeTableModel';\nimport IrisGridModel from './IrisGridModel';\nimport { ColumnName } from './CommonTypes';\nimport { isIrisGridTableModelTemplate } from './IrisGridTableModelTemplate';\nimport {\n PartitionConfig,\n PartitionedGridModel,\n isPartitionedGridModelProvider,\n} from './PartitionedGridModel';\n\nconst log = Log.module('IrisGridProxyModel');\n\nfunction makeModel(\n dh: typeof DhType,\n table: DhType.Table | DhType.TreeTable | DhType.PartitionedTable,\n formatter?: Formatter,\n inputTable?: DhType.InputTable | null\n): IrisGridModel {\n if (TableUtils.isTreeTable(table)) {\n return new IrisGridTreeTableModel(dh, table, formatter);\n }\n if (TableUtils.isPartitionedTable(table)) {\n return new IrisGridPartitionedTableModel(dh, table, formatter);\n }\n return new IrisGridTableModel(dh, 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 * The proxy model will call any methods it has implemented and delegate any\n * it does not implement to the underlying model.\n */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore\nclass IrisGridProxyModel extends IrisGridModel implements PartitionedGridModel {\n /**\n * @param dh JSAPI instance\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 model: IrisGridModel;\n\n dh: typeof DhType;\n\n private originalModel: IrisGridModel;\n\n private modelPromise: CancelablePromise<IrisGridModel> | null;\n\n private rollup: DhType.RollupConfig | null;\n\n private partition: PartitionConfig | null;\n\n private selectDistinct: ColumnName[];\n\n private currentViewport?: {\n top: number;\n bottom: number;\n columns?: DhType.Column[];\n };\n\n constructor(\n dh: typeof DhType,\n table: DhType.Table | DhType.TreeTable | DhType.PartitionedTable,\n formatter = new Formatter(dh),\n inputTable: DhType.InputTable | null = null\n ) {\n super(dh);\n\n // The EventTarget methods must be bound to this instance\n // Otherwise they throw errors because of the Proxy\n this.addEventListener = this.addEventListener.bind(this);\n this.removeEventListener = this.removeEventListener.bind(this);\n this.dispatchEvent = this.dispatchEvent.bind(this);\n\n this.handleModelEvent = this.handleModelEvent.bind(this);\n\n const model = makeModel(dh, table, formatter, inputTable);\n this.dh = dh;\n this.originalModel = model;\n this.model = model;\n this.modelPromise = null;\n this.rollup = null;\n this.partition = null;\n this.selectDistinct = [];\n\n // eslint-disable-next-line no-constructor-return\n return new Proxy(this, {\n // We want to use any properties on the proxy model if defined\n // If not, then proxy to the underlying model\n get(target, prop, receiver) {\n // Does this class have a getter for the prop\n // Getter functions are on the prototype\n const proxyHasGetter =\n Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), prop)\n ?.get != null;\n\n if (proxyHasGetter) {\n return Reflect.get(target, prop, receiver);\n }\n\n // Does this class implement the property\n const proxyHasProp = Object.prototype.hasOwnProperty.call(target, prop);\n\n // Does the class implement a function for the property\n const proxyHasFn = Object.prototype.hasOwnProperty.call(\n Object.getPrototypeOf(target),\n prop\n );\n\n const trueTarget = proxyHasProp || proxyHasFn ? target : target.model;\n return Reflect.get(trueTarget, prop);\n },\n set(target, prop, value) {\n const proxyHasSetter =\n Object.getOwnPropertyDescriptor(Object.getPrototypeOf(target), prop)\n ?.set != null;\n\n if (proxyHasSetter) {\n return Reflect.set(target, prop, value, target);\n }\n\n return Reflect.set(target.model, prop, value, target.model);\n },\n });\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 const { columns: oldColumns } = oldModel;\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 if (oldColumns !== model.columns) {\n this.dispatchEvent(\n new EventShimCustomEvent(IrisGridModel.EVENT.COLUMNS_CHANGED, {\n detail: model.columns,\n })\n );\n } else if (this.currentViewport != null) {\n // If the columns haven't changed, the current viewport should still valid, and needs to be set on the new model\n const { top, bottom, columns } = this.currentViewport;\n model.setViewport(top, bottom, columns);\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 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 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 originalColumns(): readonly DhType.Column[] {\n return this.originalModel.columns;\n }\n\n get partitionColumns(): readonly DhType.Column[] {\n if (!isPartitionedGridModelProvider(this.originalModel)) {\n return [];\n }\n return this.originalModel.partitionColumns;\n }\n\n get partitionConfig(): PartitionConfig | null {\n if (\n !isPartitionedGridModelProvider(this.originalModel) ||\n !this.originalModel.isPartitionRequired\n ) {\n return null;\n }\n return this.partition;\n }\n\n set partitionConfig(partitionConfig: PartitionConfig | null) {\n if (!this.isPartitionRequired) {\n throw new Error('Partitions are not available');\n }\n log.debug('set partitionConfig', partitionConfig);\n this.partition = partitionConfig;\n\n let modelPromise = Promise.resolve(this.originalModel);\n if (\n partitionConfig != null &&\n isPartitionedGridModelProvider(this.originalModel)\n ) {\n if (partitionConfig.mode === 'keys') {\n modelPromise = this.originalModel\n .partitionKeysTable()\n .then(table => makeModel(this.dh, table, this.formatter));\n } else if (partitionConfig.mode === 'merged') {\n modelPromise = this.originalModel\n .partitionMergedTable()\n .then(table => makeModel(this.dh, table, this.formatter));\n } else {\n modelPromise = this.originalModel\n .partitionTable(partitionConfig.partitions)\n .then(table => makeModel(this.dh, table, this.formatter));\n }\n }\n\n this.setNextModel(modelPromise);\n }\n\n partitionKeysTable(): Promise<DhType.Table> {\n if (!isPartitionedGridModelProvider(this.originalModel)) {\n throw new Error('Partitions are not available');\n }\n return this.originalModel.partitionKeysTable();\n }\n\n partitionMergedTable(): Promise<DhType.Table> {\n if (!isPartitionedGridModelProvider(this.originalModel)) {\n throw new Error('Partitions are not available');\n }\n return this.originalModel.partitionMergedTable();\n }\n\n partitionTable(partitions: unknown[]): Promise<DhType.Table> {\n if (!isPartitionedGridModelProvider(this.originalModel)) {\n throw new Error('Partitions are not available');\n }\n return this.originalModel.partitionTable(partitions);\n }\n\n get rollupConfig(): DhType.RollupConfig | null {\n return this.rollup;\n }\n\n set rollupConfig(rollupConfig: DhType.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(this.dh, 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 DhType.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(this.dh, table, this.formatter));\n }\n this.setNextModel(modelPromise);\n }\n\n get isFilterRequired(): boolean {\n return this.originalModel.isFilterRequired;\n }\n\n get isPartitionRequired(): boolean {\n return isPartitionedGridModelProvider(this.originalModel)\n ? this.originalModel.isPartitionRequired\n : false;\n }\n\n setViewport = (\n top: number,\n bottom: number,\n columns?: DhType.Column[]\n ): void => {\n this.currentViewport = { top, bottom, columns };\n this.model.setViewport(top, bottom, columns);\n };\n}\n\nexport default IrisGridProxyModel;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deephaven/iris-grid",
3
- "version": "0.84.0",
3
+ "version": "0.84.1-picker-ref.4+f4735bab",
4
4
  "description": "Deephaven Iris Grid",
5
5
  "author": "Deephaven Data Labs LLC",
6
6
  "license": "Apache-2.0",
@@ -31,18 +31,18 @@
31
31
  "build:sass": "sass --embed-sources --load-path=../../node_modules ./src:./dist"
32
32
  },
33
33
  "dependencies": {
34
- "@deephaven/components": "^0.84.0",
35
- "@deephaven/console": "^0.84.0",
36
- "@deephaven/filters": "^0.84.0",
37
- "@deephaven/grid": "^0.84.0",
38
- "@deephaven/icons": "^0.84.0",
39
- "@deephaven/jsapi-components": "^0.84.0",
34
+ "@deephaven/components": "^0.84.1-picker-ref.4+f4735bab",
35
+ "@deephaven/console": "^0.84.1-picker-ref.4+f4735bab",
36
+ "@deephaven/filters": "^0.84.1-picker-ref.4+f4735bab",
37
+ "@deephaven/grid": "^0.84.1-picker-ref.4+f4735bab",
38
+ "@deephaven/icons": "^0.84.1-picker-ref.4+f4735bab",
39
+ "@deephaven/jsapi-components": "^0.84.1-picker-ref.4+f4735bab",
40
40
  "@deephaven/jsapi-types": "1.0.0-dev0.34.0",
41
- "@deephaven/jsapi-utils": "^0.84.0",
42
- "@deephaven/log": "^0.84.0",
43
- "@deephaven/react-hooks": "^0.84.0",
44
- "@deephaven/storage": "^0.84.0",
45
- "@deephaven/utils": "^0.84.0",
41
+ "@deephaven/jsapi-utils": "^0.84.1-picker-ref.4+f4735bab",
42
+ "@deephaven/log": "^0.84.1-picker-ref.4+f4735bab",
43
+ "@deephaven/react-hooks": "^0.84.1-picker-ref.4+f4735bab",
44
+ "@deephaven/storage": "^0.84.1-picker-ref.4+f4735bab",
45
+ "@deephaven/utils": "^0.84.1-picker-ref.4+f4735bab",
46
46
  "@dnd-kit/core": "^6.1.0",
47
47
  "@dnd-kit/sortable": "^7.0.2",
48
48
  "@dnd-kit/utilities": "^3.2.2",
@@ -65,8 +65,8 @@
65
65
  "react-dom": ">=16.8.0"
66
66
  },
67
67
  "devDependencies": {
68
- "@deephaven/jsapi-shim": "^0.84.0",
69
- "@deephaven/mocks": "^0.84.0",
68
+ "@deephaven/jsapi-shim": "^0.84.1-picker-ref.4+f4735bab",
69
+ "@deephaven/mocks": "^0.84.1-picker-ref.4+f4735bab",
70
70
  "deep-equal": "2.2.3"
71
71
  },
72
72
  "files": [
@@ -79,5 +79,5 @@
79
79
  "publishConfig": {
80
80
  "access": "public"
81
81
  },
82
- "gitHead": "22fc1939f0dc5b42b4a7fa5d16556548519eeb6b"
82
+ "gitHead": "f4735babfed5736be4d4854d33e077cf92a17e52"
83
83
  }