@deephaven/iris-grid 1.21.1 → 1.22.1-alpha-pivot-builder.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +284 -1
  2. package/dist/AdvancedFilterCreator.css +42 -0
  3. package/dist/AdvancedFilterCreator.css.map +1 -1
  4. package/dist/AdvancedFilterCreator.d.ts +2 -0
  5. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  6. package/dist/AdvancedFilterCreator.js +13 -3
  7. package/dist/AdvancedFilterCreator.js.map +1 -1
  8. package/dist/CommonTypes.d.ts +62 -2
  9. package/dist/CommonTypes.d.ts.map +1 -1
  10. package/dist/CommonTypes.js.map +1 -1
  11. package/dist/IrisGrid.d.ts +89 -3
  12. package/dist/IrisGrid.d.ts.map +1 -1
  13. package/dist/IrisGrid.js +294 -91
  14. package/dist/IrisGrid.js.map +1 -1
  15. package/dist/IrisGridModel.d.ts +30 -1
  16. package/dist/IrisGridModel.d.ts.map +1 -1
  17. package/dist/IrisGridModel.js +36 -1
  18. package/dist/IrisGridModel.js.map +1 -1
  19. package/dist/IrisGridModelWidgetProps.d.ts +26 -0
  20. package/dist/IrisGridModelWidgetProps.d.ts.map +1 -0
  21. package/dist/IrisGridModelWidgetProps.js +2 -0
  22. package/dist/IrisGridModelWidgetProps.js.map +1 -0
  23. package/dist/IrisGridProxyModel.d.ts.map +1 -1
  24. package/dist/IrisGridProxyModel.js +34 -2
  25. package/dist/IrisGridProxyModel.js.map +1 -1
  26. package/dist/IrisGridTextCellRenderer.d.ts.map +1 -1
  27. package/dist/IrisGridTextCellRenderer.js +1 -1
  28. package/dist/IrisGridTextCellRenderer.js.map +1 -1
  29. package/dist/IrisGridUtils.d.ts +25 -2
  30. package/dist/IrisGridUtils.d.ts.map +1 -1
  31. package/dist/IrisGridUtils.js +99 -42
  32. package/dist/IrisGridUtils.js.map +1 -1
  33. package/dist/LazyIrisGrid.d.ts +1 -1
  34. package/dist/RemoteComponentModules.d.ts +12 -0
  35. package/dist/RemoteComponentModules.d.ts.map +1 -0
  36. package/dist/RemoteComponentModules.js +16 -0
  37. package/dist/RemoteComponentModules.js.map +1 -0
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +2 -0
  41. package/dist/index.js.map +1 -1
  42. package/dist/sidebar/IrisGridTableOptionsWidgetProps.d.ts +22 -0
  43. package/dist/sidebar/IrisGridTableOptionsWidgetProps.d.ts.map +1 -0
  44. package/dist/sidebar/IrisGridTableOptionsWidgetProps.js +2 -0
  45. package/dist/sidebar/IrisGridTableOptionsWidgetProps.js.map +1 -0
  46. package/dist/sidebar/OptionType.d.ts +8 -0
  47. package/dist/sidebar/OptionType.d.ts.map +1 -1
  48. package/dist/sidebar/OptionType.js +7 -0
  49. package/dist/sidebar/OptionType.js.map +1 -1
  50. package/dist/sidebar/PluginTableOptionsErrorBoundary.d.ts +30 -0
  51. package/dist/sidebar/PluginTableOptionsErrorBoundary.d.ts.map +1 -0
  52. package/dist/sidebar/PluginTableOptionsErrorBoundary.js +60 -0
  53. package/dist/sidebar/PluginTableOptionsErrorBoundary.js.map +1 -0
  54. package/dist/sidebar/index.d.ts +3 -2
  55. package/dist/sidebar/index.d.ts.map +1 -1
  56. package/dist/sidebar/index.js.map +1 -1
  57. package/package.json +16 -16
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedFilterCreator.js","names":["React","PureComponent","classNames","FontAwesomeIcon","memoize","Operator","FilterOperator","assertOperatorValue","assertFilterOperatorValue","dhSortAmountDown","dhNewCircleLargeFilled","TableUtils","Button","ContextActionUtils","Log","assertNotNull","PromiseUtils","nanoid","AdvancedFilterCreatorFilterItem","AdvancedFilterCreatorSelectValue","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","log","module","AdvancedFilterCreator","makeFilterItem","key","constructor","props","_options$filterItems$","_options$filterItems","_defineProperty","columnType","getFilterTypes","handleAddAnd","bind","handleAddOr","handleChangeFilterOperator","handleDone","handleFilterChange","handleFilterDelete","handleSelectValueChange","handleReset","handleSortDown","handleSortUp","handleSubmit","handleFocusTrapStart","handleFocusTrapEnd","handleUpdateTimeout","focusTrapContainer","createRef","model","column","options","filterOperators","invertSelection","selectedValues","filterItems","map","_ref","selectedType","value","length","push","columnIndex","getColumnIndexByName","name","isSortable","isColumnSortable","state","valuesTableError","valuesTable","undefined","componentDidMount","initValuesTable","componentWillUnmount","debounceTimeout","clearTimeout","sendUpdate","valuesTablePromise","cancel","getFilterChangeHandler","index","getFilterDeleteHandler","isValuesTableAvailable","debug","makeCancelableTablePromise","then","_valuesTable$columns$","columns","sort","asc","applySort","setState","catch","error","isCanceled","_this$focusTrapContai","current","querySelector","focus","_this$focusTrapContai2","inputs","querySelectorAll","element","concat","and","or","operator","startUpdateTimer","filterIndex","splice","event","addToExisting","isModifierKeyDown","sortTable","sortDirection","descending","ascending","stopUpdateTimer","preventDefault","onDone","shouldShowAddFilter","filterItem","direction","arguments","onSortChange","setTimeout","debounceFilterUpdate","onFilterChange","tableUtils","formatter","items","filter","_ref2","operators","i","slice","makeAdvancedFilter","timeZone","render","_this","dh","isBoolean","isBooleanType","type","isDateType","filterTypes","substring","lastIndexOf","filterItemElements","_loop","onChange","onDelete","filterOperator","isAndFilter","operatorElement","className","children","kind","active","onClick","showAddFilterItem","addFilterItem","hidden","icon","disabled","tooltip","role","tabIndex","onFocus","onSubmit","ref","rotation","table","showSearch"],"sources":["../src/AdvancedFilterCreator.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n// disabled for tab-index on focus traps, which are intentionally non-interactive\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport memoize from 'memoize-one';\nimport {\n Operator as FilterOperator,\n type OperatorValue as FilterOperatorValue,\n type TypeValue as FilterTypeValue,\n assertOperatorValue as assertFilterOperatorValue,\n} from '@deephaven/filters';\nimport { dhSortAmountDown, dhNewCircleLargeFilled } from '@deephaven/icons';\nimport {\n type Formatter,\n TableUtils,\n type SortDirection,\n type FilterItem,\n} from '@deephaven/jsapi-utils';\nimport { Button, ContextActionUtils } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport {\n assertNotNull,\n type CancelablePromise,\n PromiseUtils,\n} from '@deephaven/utils';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { nanoid } from 'nanoid';\nimport AdvancedFilterCreatorFilterItem from './AdvancedFilterCreatorFilterItem';\nimport AdvancedFilterCreatorSelectValue from './AdvancedFilterCreatorSelectValue';\nimport './AdvancedFilterCreator.scss';\nimport type IrisGridModel from './IrisGridModel';\nimport { type AdvancedFilterOptions } from './CommonTypes';\n\nconst log = Log.module('AdvancedFilterCreator');\n\ntype FilterChangeHandler = (\n selectedType: FilterTypeValue,\n value: string\n) => void;\n\ninterface AdvancedFilterCreatorProps {\n model: IrisGridModel;\n column: dh.Column;\n onFilterChange: (\n column: dh.Column,\n filter: dh.FilterCondition | null,\n options: AdvancedFilterOptions\n ) => void;\n onSortChange: (\n column: dh.Column,\n direction: SortDirection,\n addToExisting?: boolean\n ) => void;\n onDone: () => void;\n options: AdvancedFilterOptions;\n sortDirection: SortDirection;\n formatter: Formatter;\n tableUtils: TableUtils;\n}\n\ninterface AdvancedFilterItem {\n selectedType?: FilterTypeValue;\n value?: string;\n key: string;\n}\n\ninterface AdvancedFilterCreatorState {\n // Filter items\n filterItems: AdvancedFilterItem[];\n\n // And/Or between the filter items\n filterOperators: FilterOperatorValue[];\n\n invertSelection: boolean;\n\n selectedValues: unknown[];\n\n valuesTableError: null;\n valuesTable?: dh.Table;\n\n isSortable: boolean;\n}\n\nclass AdvancedFilterCreator extends PureComponent<\n AdvancedFilterCreatorProps,\n AdvancedFilterCreatorState\n> {\n static debounceFilterUpdate = 250;\n\n static defaultProps = {\n options: {\n filterItems: null,\n filterOperators: null,\n invertSelection: true,\n selectedValues: [],\n },\n sortDirection: null,\n };\n\n static makeFilterItem(): AdvancedFilterItem {\n return { key: nanoid() };\n }\n\n constructor(props: AdvancedFilterCreatorProps) {\n super(props);\n\n this.handleAddAnd = this.handleAddAnd.bind(this);\n this.handleAddOr = this.handleAddOr.bind(this);\n this.handleChangeFilterOperator =\n this.handleChangeFilterOperator.bind(this);\n this.handleDone = this.handleDone.bind(this);\n this.handleFilterChange = this.handleFilterChange.bind(this);\n this.handleFilterDelete = this.handleFilterDelete.bind(this);\n this.handleSelectValueChange = this.handleSelectValueChange.bind(this);\n this.handleReset = this.handleReset.bind(this);\n this.handleSortDown = this.handleSortDown.bind(this);\n this.handleSortUp = this.handleSortUp.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleFocusTrapStart = this.handleFocusTrapStart.bind(this);\n this.handleFocusTrapEnd = this.handleFocusTrapEnd.bind(this);\n this.handleUpdateTimeout = this.handleUpdateTimeout.bind(this);\n\n this.focusTrapContainer = React.createRef();\n\n const { model, column, options } = props;\n let { filterOperators, invertSelection, selectedValues } = options;\n\n // can be null or an empty array\n const filterItems: AdvancedFilterItem[] =\n options.filterItems?.map(({ selectedType, value }) => ({\n selectedType,\n value,\n key: nanoid(),\n })) ?? [];\n if (filterItems.length === 0) {\n filterItems.push(AdvancedFilterCreator.makeFilterItem());\n }\n if (filterOperators == null) {\n filterOperators = [];\n }\n if (invertSelection == null) {\n invertSelection = true;\n }\n if (selectedValues == null) {\n selectedValues = [];\n }\n\n const columnIndex = model.getColumnIndexByName(column.name);\n assertNotNull(columnIndex);\n const isSortable = model.isColumnSortable(columnIndex);\n\n this.state = {\n // Filter items\n filterItems,\n\n // And/Or between the filter items\n filterOperators,\n\n invertSelection,\n\n selectedValues,\n\n valuesTableError: null,\n valuesTable: undefined,\n\n isSortable,\n };\n }\n\n componentDidMount(): void {\n this.initValuesTable();\n }\n\n componentWillUnmount(): void {\n if (this.debounceTimeout != null) {\n clearTimeout(this.debounceTimeout);\n this.sendUpdate();\n }\n if (this.valuesTablePromise != null) {\n this.valuesTablePromise.cancel();\n }\n }\n\n focusTrapContainer: React.RefObject<HTMLFormElement>;\n\n debounceTimeout?: ReturnType<typeof setTimeout>;\n\n valuesTablePromise?: CancelablePromise<dh.Table>;\n\n getFilterChangeHandler(index: number): FilterChangeHandler {\n return this.handleFilterChange.bind(this, index);\n }\n\n getFilterDeleteHandler(index: number): () => void {\n return this.handleFilterDelete.bind(this, index);\n }\n\n getFilterTypes = memoize((columnType: string): FilterTypeValue[] =>\n TableUtils.getFilterTypes(columnType)\n );\n\n initValuesTable(): void {\n const { model, column } = this.props;\n if (!model.isValuesTableAvailable) {\n log.debug('No values table for this model, just ignore');\n return;\n }\n\n this.valuesTablePromise = TableUtils.makeCancelableTablePromise(\n model.valuesTable(column)\n );\n this.valuesTablePromise\n .then(valuesTable => {\n if (valuesTable.columns[0].isSortable ?? true) {\n const sort = valuesTable.columns[0].sort().asc();\n valuesTable.applySort([sort]);\n }\n this.setState({ valuesTable });\n })\n .catch(error => {\n if (PromiseUtils.isCanceled(error)) {\n return;\n }\n\n log.error('Unable to open values table', error);\n this.setState({ valuesTableError: error });\n });\n }\n\n handleFocusTrapEnd(): void {\n (\n this.focusTrapContainer?.current?.querySelector(\n 'button,select,input,textarea'\n ) as HTMLElement\n ).focus();\n }\n\n handleFocusTrapStart(): void {\n const inputs = this.focusTrapContainer?.current?.querySelectorAll(\n 'button,select,input,textarea'\n );\n if (inputs && inputs.length > 0) {\n const element = inputs[inputs.length - 1] as HTMLElement;\n element.focus();\n }\n }\n\n handleAddAnd(): void {\n let { filterItems, filterOperators } = this.state;\n filterItems = filterItems.concat(AdvancedFilterCreator.makeFilterItem());\n filterOperators = filterOperators.concat(FilterOperator.and);\n this.setState({ filterItems, filterOperators });\n }\n\n handleAddOr(): void {\n let { filterItems, filterOperators } = this.state;\n filterItems = filterItems.concat(AdvancedFilterCreator.makeFilterItem());\n filterOperators = filterOperators.concat(FilterOperator.or);\n this.setState({ filterItems, filterOperators });\n }\n\n handleChangeFilterOperator(index: number, operator: string): void {\n let { filterOperators } = this.state;\n filterOperators = [...filterOperators];\n\n assertFilterOperatorValue(operator);\n\n filterOperators[index] = operator;\n\n this.setState({ filterOperators });\n\n this.startUpdateTimer();\n }\n\n handleFilterChange(\n filterIndex: number,\n selectedType: FilterTypeValue,\n value: string\n ): void {\n let { filterItems } = this.state;\n filterItems = [...filterItems];\n const { key } = filterItems[filterIndex];\n filterItems[filterIndex] = { key, selectedType, value };\n\n this.setState({ filterItems });\n\n this.startUpdateTimer();\n }\n\n handleFilterDelete(filterIndex: number): void {\n let { filterItems, filterOperators } = this.state;\n filterItems = [...filterItems];\n filterOperators = [...filterOperators];\n if (filterIndex < filterItems.length) {\n filterItems.splice(filterIndex, 1);\n }\n\n if (filterIndex < filterOperators.length) {\n filterOperators.splice(filterIndex, 1);\n } else if (filterIndex === filterOperators.length) {\n // When deleting the last filter item, we also need to remove the last filter operator\n filterOperators.splice(filterOperators.length - 1, 1);\n }\n\n if (filterItems.length === 0) {\n filterItems.push(AdvancedFilterCreator.makeFilterItem());\n }\n\n this.setState({ filterItems, filterOperators });\n\n this.startUpdateTimer();\n }\n\n handleSelectValueChange(\n selectedValues: unknown[],\n invertSelection: boolean\n ): void {\n this.setState({ selectedValues, invertSelection });\n\n this.startUpdateTimer();\n }\n\n handleReset(): void {\n log.debug('Resetting Advanced Filter');\n\n this.setState({\n filterItems: [AdvancedFilterCreator.makeFilterItem()],\n filterOperators: [],\n selectedValues: [],\n invertSelection: true,\n });\n\n this.startUpdateTimer();\n }\n\n handleSortDown(event: React.MouseEvent<HTMLButtonElement>): void {\n const addToExisting = ContextActionUtils.isModifierKeyDown(event);\n this.sortTable(TableUtils.sortDirection.descending, addToExisting);\n }\n\n handleSortUp(event: React.MouseEvent<HTMLButtonElement>): void {\n const addToExisting = ContextActionUtils.isModifierKeyDown(event);\n this.sortTable(TableUtils.sortDirection.ascending, addToExisting);\n }\n\n handleSubmit(event: React.FormEvent<HTMLFormElement>): void {\n log.debug('Submitting Advanced Filter');\n this.stopUpdateTimer();\n this.sendUpdate();\n\n event.preventDefault();\n }\n\n handleDone(event: React.MouseEvent<HTMLButtonElement>): void {\n log.debug('Submitting and Closing Advanced Filter');\n this.stopUpdateTimer();\n this.sendUpdate();\n\n const { onDone } = this.props;\n onDone();\n\n event.preventDefault();\n }\n\n handleUpdateTimeout(): void {\n this.debounceTimeout = undefined;\n this.sendUpdate();\n }\n\n /**\n * Convenience function to check if the previous filter has been inputted, and\n * we should show the add filter buttons (+ AND OR)\n * @returns true If the add filter buttons should be shown, false otherwise\n */\n shouldShowAddFilter(): boolean {\n const { filterItems } = this.state;\n if (filterItems.length === 0) {\n return false;\n }\n\n const filterItem = filterItems[filterItems.length - 1];\n const { selectedType, value } = filterItem;\n\n return (\n selectedType != null &&\n selectedType.length > 0 &&\n value != null &&\n value.length > 0\n );\n }\n\n /**\n * Sorts the table in the specified direction. If already sorted in that direction, remove it.\n * @param direction The sort direction, ASC or DESC\n * @param addToExisting Add to the existing sort, or replace the existing table sort\n */\n sortTable(direction: SortDirection, addToExisting = false): void {\n const { column, onSortChange } = this.props;\n const { isSortable } = this.state;\n if (isSortable) {\n onSortChange(column, direction, addToExisting);\n }\n }\n\n startUpdateTimer(): void {\n this.stopUpdateTimer();\n\n this.debounceTimeout = setTimeout(\n this.handleUpdateTimeout,\n AdvancedFilterCreator.debounceFilterUpdate\n );\n }\n\n stopUpdateTimer(): void {\n if (this.debounceTimeout !== undefined) {\n clearTimeout(this.debounceTimeout);\n this.debounceTimeout = undefined;\n }\n }\n\n sendUpdate(): void {\n const { filterItems, filterOperators, invertSelection, selectedValues } =\n this.state;\n const { column, onFilterChange, model, tableUtils } = this.props;\n const { formatter } = model;\n\n const items = filterItems.filter(\n ({ selectedType, value }) =>\n selectedType != null && value != null && value !== ''\n ) as FilterItem[];\n\n const operators = filterOperators\n .filter(\n (operator, i) =>\n operator != null &&\n filterItems[i].selectedType != null &&\n filterItems[i].value != null &&\n filterItems[i].value !== ''\n )\n .slice(0, items.length - 1);\n // slice last operator, user may have set an operator but not a value\n\n const options = {\n filterItems: items,\n filterOperators: operators,\n invertSelection,\n selectedValues,\n };\n\n const filter = tableUtils.makeAdvancedFilter(\n column,\n options,\n formatter.timeZone\n );\n\n onFilterChange(column, filter, options);\n }\n\n render(): JSX.Element {\n const { column, model, sortDirection, formatter, tableUtils } = this.props;\n const {\n filterItems,\n filterOperators,\n invertSelection,\n selectedValues,\n valuesTable,\n valuesTableError,\n isSortable,\n } = this.state;\n const { dh, isValuesTableAvailable } = model;\n const isBoolean = TableUtils.isBooleanType(column.type);\n const isDateType = TableUtils.isDateType(column.type);\n const filterTypes = this.getFilterTypes(column.type);\n const columnType = column.type.substring(column.type.lastIndexOf('.') + 1);\n const filterItemElements = [];\n if (!isBoolean && filterTypes.length) {\n for (let i = 0; i < filterItems.length; i += 1) {\n const filterItem = filterItems[i];\n const { key, selectedType, value } = filterItem;\n\n const element = (\n <AdvancedFilterCreatorFilterItem\n key={key}\n column={column}\n filterTypes={filterTypes}\n onChange={this.getFilterChangeHandler(i)}\n onDelete={this.getFilterDeleteHandler(i)}\n selectedType={selectedType}\n value={value}\n formatter={formatter}\n tableUtils={tableUtils}\n />\n );\n filterItemElements.push(element);\n\n if (i < filterOperators.length) {\n const filterOperator = filterOperators[i];\n const isAndFilter = filterOperator === FilterOperator.and;\n const operatorElement = (\n <div\n key={`filterOperator${key}`}\n className=\"form-row justify-content-end advanced-filter-creator-filter-operator\"\n >\n <Button\n kind=\"ghost\"\n className={classNames('filter-operator', {\n active: isAndFilter,\n })}\n onClick={() =>\n this.handleChangeFilterOperator(i, FilterOperator.and)\n }\n >\n AND\n </Button>\n <Button\n kind=\"ghost\"\n className={classNames('filter-operator', {\n active: !isAndFilter,\n })}\n onClick={() =>\n this.handleChangeFilterOperator(i, FilterOperator.or)\n }\n >\n OR\n </Button>\n </div>\n );\n filterItemElements.push(operatorElement);\n }\n }\n }\n const showAddFilterItem = this.shouldShowAddFilter();\n const addFilterItem = (\n <div\n key=\"addFilterItem\"\n className={classNames('form-row justify-content-end add-filter-item', {\n hidden: !showAddFilterItem,\n })}\n >\n <span className=\"text-muted\">\n <FontAwesomeIcon icon={dhNewCircleLargeFilled} />\n </span>\n <Button\n kind=\"ghost\"\n className=\"btn-filter-item\"\n onClick={this.handleAddAnd}\n disabled={!showAddFilterItem}\n tooltip=\"Add filter with AND\"\n >\n AND\n </Button>\n <Button\n kind=\"ghost\"\n className=\"btn-filter-item\"\n onClick={this.handleAddOr}\n disabled={!showAddFilterItem}\n tooltip=\"Add filter with OR\"\n >\n OR\n </Button>\n </div>\n );\n filterItemElements.push(addFilterItem);\n\n return (\n <div className=\"advanced-filter-creator\" role=\"presentation\">\n <div tabIndex={0} onFocus={this.handleFocusTrapStart} />\n <form onSubmit={this.handleSubmit} ref={this.focusTrapContainer}>\n <div className=\"title-bar\">\n <h6 className=\"advanced-filter-title\">Advanced Filters</h6>\n <div className=\"advanced-filter-menu-buttons\">\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: sortDirection === TableUtils.sortDirection.descending,\n })}\n onClick={this.handleSortDown}\n icon={dhSortAmountDown}\n tooltip={\n isSortable ? `Sort ${column.name} Descending` : 'Not sortable'\n }\n disabled={!isSortable}\n />\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: sortDirection === TableUtils.sortDirection.ascending,\n })}\n onClick={this.handleSortUp}\n icon={\n <FontAwesomeIcon icon={dhSortAmountDown} rotation={180} />\n }\n tooltip={\n isSortable ? `Sort ${column.name} Ascending` : 'Not sortable'\n }\n disabled={!isSortable}\n />\n </div>\n </div>\n <hr />\n <div className=\"advanced-filter-column-name\">\n {column.name}&nbsp;\n <span className=\"column-type\">({columnType})</span>\n </div>\n {filterItemElements}\n {isValuesTableAvailable && valuesTableError == null && (\n <>\n {!isBoolean && <hr />}\n <div className=\"form-group\">\n <AdvancedFilterCreatorSelectValue\n dh={dh}\n table={valuesTable}\n onChange={this.handleSelectValueChange}\n invertSelection={invertSelection}\n selectedValues={selectedValues}\n formatter={formatter}\n showSearch={!isDateType}\n timeZone={formatter.timeZone}\n />\n </div>\n </>\n )}\n <div className=\"form-row justify-content-end\">\n <Button\n kind=\"secondary\"\n className=\"mr-2\"\n onClick={this.handleReset}\n >\n Reset\n </Button>\n <Button kind=\"primary\" onClick={this.handleDone}>\n Done\n </Button>\n </div>\n </form>\n <div tabIndex={0} onFocus={this.handleFocusTrapEnd} />\n </div>\n );\n }\n}\n\nexport default AdvancedFilterCreator;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"AdvancedFilterCreator.js","names":["React","PureComponent","classNames","FontAwesomeIcon","memoize","Operator","FilterOperator","assertOperatorValue","assertFilterOperatorValue","dhSortAmountDown","dhNewCircleLargeFilled","vsScreenFull","vsScreenNormal","TableUtils","Button","ContextActionUtils","Log","assertNotNull","PromiseUtils","nanoid","AdvancedFilterCreatorFilterItem","AdvancedFilterCreatorSelectValue","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","log","module","AdvancedFilterCreator","makeFilterItem","key","constructor","props","_options$filterItems$","_options$filterItems","_defineProperty","columnType","getFilterTypes","handleAddAnd","bind","handleAddOr","handleChangeFilterOperator","handleDone","handleFilterChange","handleFilterDelete","handleSelectValueChange","handleReset","handleSortDown","handleSortUp","handleSubmit","handleFocusTrapStart","handleFocusTrapEnd","handleUpdateTimeout","focusTrapContainer","createRef","model","column","options","filterOperators","invertSelection","selectedValues","filterItems","map","_ref","selectedType","value","length","push","columnIndex","getColumnIndexByName","name","isSortable","isColumnSortable","state","valuesTableError","valuesTable","undefined","componentDidMount","initValuesTable","componentWillUnmount","debounceTimeout","clearTimeout","sendUpdate","valuesTablePromise","cancel","getFilterChangeHandler","index","getFilterDeleteHandler","isValuesTableAvailable","debug","makeCancelableTablePromise","then","_valuesTable$columns$","columns","sort","asc","applySort","setState","catch","error","isCanceled","_this$focusTrapContai","current","querySelector","focus","_this$focusTrapContai2","inputs","querySelectorAll","element","concat","and","or","operator","startUpdateTimer","filterIndex","splice","event","addToExisting","isModifierKeyDown","sortTable","sortDirection","descending","ascending","stopUpdateTimer","preventDefault","onDone","shouldShowAddFilter","filterItem","direction","arguments","onSortChange","setTimeout","debounceFilterUpdate","onFilterChange","tableUtils","formatter","items","filter","_ref2","operators","i","slice","makeAdvancedFilter","timeZone","render","_this","isMaximized","onToggleMaximize","dh","isBoolean","isBooleanType","type","isDateType","filterTypes","substring","lastIndexOf","filterItemElements","_loop","onChange","onDelete","filterOperator","isAndFilter","operatorElement","className","children","kind","active","onClick","showAddFilterItem","addFilterItem","hidden","icon","disabled","tooltip","role","tabIndex","onFocus","onSubmit","ref","rotation","table","showSearch"],"sources":["../src/AdvancedFilterCreator.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n// disabled for tab-index on focus traps, which are intentionally non-interactive\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport memoize from 'memoize-one';\nimport {\n Operator as FilterOperator,\n type OperatorValue as FilterOperatorValue,\n type TypeValue as FilterTypeValue,\n assertOperatorValue as assertFilterOperatorValue,\n} from '@deephaven/filters';\nimport {\n dhSortAmountDown,\n dhNewCircleLargeFilled,\n vsScreenFull,\n vsScreenNormal,\n} from '@deephaven/icons';\nimport {\n type Formatter,\n TableUtils,\n type SortDirection,\n type FilterItem,\n} from '@deephaven/jsapi-utils';\nimport { Button, ContextActionUtils } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport {\n assertNotNull,\n type CancelablePromise,\n PromiseUtils,\n} from '@deephaven/utils';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { nanoid } from 'nanoid';\nimport AdvancedFilterCreatorFilterItem from './AdvancedFilterCreatorFilterItem';\nimport AdvancedFilterCreatorSelectValue from './AdvancedFilterCreatorSelectValue';\nimport './AdvancedFilterCreator.scss';\nimport type IrisGridModel from './IrisGridModel';\nimport { type AdvancedFilterOptions } from './CommonTypes';\n\nconst log = Log.module('AdvancedFilterCreator');\n\ntype FilterChangeHandler = (\n selectedType: FilterTypeValue,\n value: string\n) => void;\n\ninterface AdvancedFilterCreatorProps {\n model: IrisGridModel;\n column: dh.Column;\n onFilterChange: (\n column: dh.Column,\n filter: dh.FilterCondition | null,\n options: AdvancedFilterOptions\n ) => void;\n onSortChange: (\n column: dh.Column,\n direction: SortDirection,\n addToExisting?: boolean\n ) => void;\n onDone: () => void;\n options: AdvancedFilterOptions;\n sortDirection: SortDirection;\n formatter: Formatter;\n tableUtils: TableUtils;\n isMaximized: boolean;\n onToggleMaximize: () => void;\n}\n\ninterface AdvancedFilterItem {\n selectedType?: FilterTypeValue;\n value?: string;\n key: string;\n}\n\ninterface AdvancedFilterCreatorState {\n // Filter items\n filterItems: AdvancedFilterItem[];\n\n // And/Or between the filter items\n filterOperators: FilterOperatorValue[];\n\n invertSelection: boolean;\n\n selectedValues: unknown[];\n\n valuesTableError: null;\n valuesTable?: dh.Table;\n\n isSortable: boolean;\n}\n\nclass AdvancedFilterCreator extends PureComponent<\n AdvancedFilterCreatorProps,\n AdvancedFilterCreatorState\n> {\n static debounceFilterUpdate = 250;\n\n static defaultProps = {\n options: {\n filterItems: null,\n filterOperators: null,\n invertSelection: true,\n selectedValues: [],\n },\n sortDirection: null,\n };\n\n static makeFilterItem(): AdvancedFilterItem {\n return { key: nanoid() };\n }\n\n constructor(props: AdvancedFilterCreatorProps) {\n super(props);\n\n this.handleAddAnd = this.handleAddAnd.bind(this);\n this.handleAddOr = this.handleAddOr.bind(this);\n this.handleChangeFilterOperator =\n this.handleChangeFilterOperator.bind(this);\n this.handleDone = this.handleDone.bind(this);\n this.handleFilterChange = this.handleFilterChange.bind(this);\n this.handleFilterDelete = this.handleFilterDelete.bind(this);\n this.handleSelectValueChange = this.handleSelectValueChange.bind(this);\n this.handleReset = this.handleReset.bind(this);\n this.handleSortDown = this.handleSortDown.bind(this);\n this.handleSortUp = this.handleSortUp.bind(this);\n this.handleSubmit = this.handleSubmit.bind(this);\n this.handleFocusTrapStart = this.handleFocusTrapStart.bind(this);\n this.handleFocusTrapEnd = this.handleFocusTrapEnd.bind(this);\n this.handleUpdateTimeout = this.handleUpdateTimeout.bind(this);\n\n this.focusTrapContainer = React.createRef();\n\n const { model, column, options } = props;\n let { filterOperators, invertSelection, selectedValues } = options;\n\n // can be null or an empty array\n const filterItems: AdvancedFilterItem[] =\n options.filterItems?.map(({ selectedType, value }) => ({\n selectedType,\n value,\n key: nanoid(),\n })) ?? [];\n if (filterItems.length === 0) {\n filterItems.push(AdvancedFilterCreator.makeFilterItem());\n }\n if (filterOperators == null) {\n filterOperators = [];\n }\n if (invertSelection == null) {\n invertSelection = true;\n }\n if (selectedValues == null) {\n selectedValues = [];\n }\n\n const columnIndex = model.getColumnIndexByName(column.name);\n assertNotNull(columnIndex);\n const isSortable = model.isColumnSortable(columnIndex);\n\n this.state = {\n // Filter items\n filterItems,\n\n // And/Or between the filter items\n filterOperators,\n\n invertSelection,\n\n selectedValues,\n\n valuesTableError: null,\n valuesTable: undefined,\n\n isSortable,\n };\n }\n\n componentDidMount(): void {\n this.initValuesTable();\n }\n\n componentWillUnmount(): void {\n if (this.debounceTimeout != null) {\n clearTimeout(this.debounceTimeout);\n this.sendUpdate();\n }\n if (this.valuesTablePromise != null) {\n this.valuesTablePromise.cancel();\n }\n }\n\n focusTrapContainer: React.RefObject<HTMLFormElement>;\n\n debounceTimeout?: ReturnType<typeof setTimeout>;\n\n valuesTablePromise?: CancelablePromise<dh.Table>;\n\n getFilterChangeHandler(index: number): FilterChangeHandler {\n return this.handleFilterChange.bind(this, index);\n }\n\n getFilterDeleteHandler(index: number): () => void {\n return this.handleFilterDelete.bind(this, index);\n }\n\n getFilterTypes = memoize((columnType: string): FilterTypeValue[] =>\n TableUtils.getFilterTypes(columnType)\n );\n\n initValuesTable(): void {\n const { model, column } = this.props;\n if (!model.isValuesTableAvailable) {\n log.debug('No values table for this model, just ignore');\n return;\n }\n\n this.valuesTablePromise = TableUtils.makeCancelableTablePromise(\n model.valuesTable(column)\n );\n this.valuesTablePromise\n .then(valuesTable => {\n if (valuesTable.columns[0].isSortable ?? true) {\n const sort = valuesTable.columns[0].sort().asc();\n valuesTable.applySort([sort]);\n }\n this.setState({ valuesTable });\n })\n .catch(error => {\n if (PromiseUtils.isCanceled(error)) {\n return;\n }\n\n log.error('Unable to open values table', error);\n this.setState({ valuesTableError: error });\n });\n }\n\n handleFocusTrapEnd(): void {\n (\n this.focusTrapContainer?.current?.querySelector(\n 'button,select,input,textarea'\n ) as HTMLElement\n ).focus();\n }\n\n handleFocusTrapStart(): void {\n const inputs = this.focusTrapContainer?.current?.querySelectorAll(\n 'button,select,input,textarea'\n );\n if (inputs && inputs.length > 0) {\n const element = inputs[inputs.length - 1] as HTMLElement;\n element.focus();\n }\n }\n\n handleAddAnd(): void {\n let { filterItems, filterOperators } = this.state;\n filterItems = filterItems.concat(AdvancedFilterCreator.makeFilterItem());\n filterOperators = filterOperators.concat(FilterOperator.and);\n this.setState({ filterItems, filterOperators });\n }\n\n handleAddOr(): void {\n let { filterItems, filterOperators } = this.state;\n filterItems = filterItems.concat(AdvancedFilterCreator.makeFilterItem());\n filterOperators = filterOperators.concat(FilterOperator.or);\n this.setState({ filterItems, filterOperators });\n }\n\n handleChangeFilterOperator(index: number, operator: string): void {\n let { filterOperators } = this.state;\n filterOperators = [...filterOperators];\n\n assertFilterOperatorValue(operator);\n\n filterOperators[index] = operator;\n\n this.setState({ filterOperators });\n\n this.startUpdateTimer();\n }\n\n handleFilterChange(\n filterIndex: number,\n selectedType: FilterTypeValue,\n value: string\n ): void {\n let { filterItems } = this.state;\n filterItems = [...filterItems];\n const { key } = filterItems[filterIndex];\n filterItems[filterIndex] = { key, selectedType, value };\n\n this.setState({ filterItems });\n\n this.startUpdateTimer();\n }\n\n handleFilterDelete(filterIndex: number): void {\n let { filterItems, filterOperators } = this.state;\n filterItems = [...filterItems];\n filterOperators = [...filterOperators];\n if (filterIndex < filterItems.length) {\n filterItems.splice(filterIndex, 1);\n }\n\n if (filterIndex < filterOperators.length) {\n filterOperators.splice(filterIndex, 1);\n } else if (filterIndex === filterOperators.length) {\n // When deleting the last filter item, we also need to remove the last filter operator\n filterOperators.splice(filterOperators.length - 1, 1);\n }\n\n if (filterItems.length === 0) {\n filterItems.push(AdvancedFilterCreator.makeFilterItem());\n }\n\n this.setState({ filterItems, filterOperators });\n\n this.startUpdateTimer();\n }\n\n handleSelectValueChange(\n selectedValues: unknown[],\n invertSelection: boolean\n ): void {\n this.setState({ selectedValues, invertSelection });\n\n this.startUpdateTimer();\n }\n\n handleReset(): void {\n log.debug('Resetting Advanced Filter');\n\n this.setState({\n filterItems: [AdvancedFilterCreator.makeFilterItem()],\n filterOperators: [],\n selectedValues: [],\n invertSelection: true,\n });\n\n this.startUpdateTimer();\n }\n\n handleSortDown(event: React.MouseEvent<HTMLButtonElement>): void {\n const addToExisting = ContextActionUtils.isModifierKeyDown(event);\n this.sortTable(TableUtils.sortDirection.descending, addToExisting);\n }\n\n handleSortUp(event: React.MouseEvent<HTMLButtonElement>): void {\n const addToExisting = ContextActionUtils.isModifierKeyDown(event);\n this.sortTable(TableUtils.sortDirection.ascending, addToExisting);\n }\n\n handleSubmit(event: React.FormEvent<HTMLFormElement>): void {\n log.debug('Submitting Advanced Filter');\n this.stopUpdateTimer();\n this.sendUpdate();\n\n event.preventDefault();\n }\n\n handleDone(event: React.MouseEvent<HTMLButtonElement>): void {\n log.debug('Submitting and Closing Advanced Filter');\n this.stopUpdateTimer();\n this.sendUpdate();\n\n const { onDone } = this.props;\n onDone();\n\n event.preventDefault();\n }\n\n handleUpdateTimeout(): void {\n this.debounceTimeout = undefined;\n this.sendUpdate();\n }\n\n /**\n * Convenience function to check if the previous filter has been inputted, and\n * we should show the add filter buttons (+ AND OR)\n * @returns true If the add filter buttons should be shown, false otherwise\n */\n shouldShowAddFilter(): boolean {\n const { filterItems } = this.state;\n if (filterItems.length === 0) {\n return false;\n }\n\n const filterItem = filterItems[filterItems.length - 1];\n const { selectedType, value } = filterItem;\n\n return (\n selectedType != null &&\n selectedType.length > 0 &&\n value != null &&\n value.length > 0\n );\n }\n\n /**\n * Sorts the table in the specified direction. If already sorted in that direction, remove it.\n * @param direction The sort direction, ASC or DESC\n * @param addToExisting Add to the existing sort, or replace the existing table sort\n */\n sortTable(direction: SortDirection, addToExisting = false): void {\n const { column, onSortChange } = this.props;\n const { isSortable } = this.state;\n if (isSortable) {\n onSortChange(column, direction, addToExisting);\n }\n }\n\n startUpdateTimer(): void {\n this.stopUpdateTimer();\n\n this.debounceTimeout = setTimeout(\n this.handleUpdateTimeout,\n AdvancedFilterCreator.debounceFilterUpdate\n );\n }\n\n stopUpdateTimer(): void {\n if (this.debounceTimeout !== undefined) {\n clearTimeout(this.debounceTimeout);\n this.debounceTimeout = undefined;\n }\n }\n\n sendUpdate(): void {\n const { filterItems, filterOperators, invertSelection, selectedValues } =\n this.state;\n const { column, onFilterChange, model, tableUtils } = this.props;\n const { formatter } = model;\n\n const items = filterItems.filter(\n ({ selectedType, value }) =>\n selectedType != null && value != null && value !== ''\n ) as FilterItem[];\n\n const operators = filterOperators\n .filter(\n (operator, i) =>\n operator != null &&\n filterItems[i].selectedType != null &&\n filterItems[i].value != null &&\n filterItems[i].value !== ''\n )\n .slice(0, items.length - 1);\n // slice last operator, user may have set an operator but not a value\n\n const options = {\n filterItems: items,\n filterOperators: operators,\n invertSelection,\n selectedValues,\n };\n\n const filter = tableUtils.makeAdvancedFilter(\n column,\n options,\n formatter.timeZone\n );\n\n onFilterChange(column, filter, options);\n }\n\n render(): JSX.Element {\n const {\n column,\n model,\n sortDirection,\n formatter,\n tableUtils,\n isMaximized,\n onToggleMaximize,\n } = this.props;\n const {\n filterItems,\n filterOperators,\n invertSelection,\n selectedValues,\n valuesTable,\n valuesTableError,\n isSortable,\n } = this.state;\n const { dh, isValuesTableAvailable } = model;\n const isBoolean = TableUtils.isBooleanType(column.type);\n const isDateType = TableUtils.isDateType(column.type);\n const filterTypes = this.getFilterTypes(column.type);\n const columnType = column.type.substring(column.type.lastIndexOf('.') + 1);\n const filterItemElements = [];\n if (!isBoolean && filterTypes.length) {\n for (let i = 0; i < filterItems.length; i += 1) {\n const filterItem = filterItems[i];\n const { key, selectedType, value } = filterItem;\n\n const element = (\n <AdvancedFilterCreatorFilterItem\n key={key}\n column={column}\n filterTypes={filterTypes}\n onChange={this.getFilterChangeHandler(i)}\n onDelete={this.getFilterDeleteHandler(i)}\n selectedType={selectedType}\n value={value}\n formatter={formatter}\n tableUtils={tableUtils}\n />\n );\n filterItemElements.push(element);\n\n if (i < filterOperators.length) {\n const filterOperator = filterOperators[i];\n const isAndFilter = filterOperator === FilterOperator.and;\n const operatorElement = (\n <div\n key={`filterOperator${key}`}\n className=\"form-row justify-content-end advanced-filter-creator-filter-operator\"\n >\n <Button\n kind=\"ghost\"\n className={classNames('filter-operator', {\n active: isAndFilter,\n })}\n onClick={() =>\n this.handleChangeFilterOperator(i, FilterOperator.and)\n }\n >\n AND\n </Button>\n <Button\n kind=\"ghost\"\n className={classNames('filter-operator', {\n active: !isAndFilter,\n })}\n onClick={() =>\n this.handleChangeFilterOperator(i, FilterOperator.or)\n }\n >\n OR\n </Button>\n </div>\n );\n filterItemElements.push(operatorElement);\n }\n }\n }\n const showAddFilterItem = this.shouldShowAddFilter();\n const addFilterItem = (\n <div\n key=\"addFilterItem\"\n className={classNames('form-row justify-content-end add-filter-item', {\n hidden: !showAddFilterItem,\n })}\n >\n <span className=\"text-muted\">\n <FontAwesomeIcon icon={dhNewCircleLargeFilled} />\n </span>\n <Button\n kind=\"ghost\"\n className=\"btn-filter-item\"\n onClick={this.handleAddAnd}\n disabled={!showAddFilterItem}\n tooltip=\"Add filter with AND\"\n >\n AND\n </Button>\n <Button\n kind=\"ghost\"\n className=\"btn-filter-item\"\n onClick={this.handleAddOr}\n disabled={!showAddFilterItem}\n tooltip=\"Add filter with OR\"\n >\n OR\n </Button>\n </div>\n );\n filterItemElements.push(addFilterItem);\n\n return (\n <div className=\"advanced-filter-creator\" role=\"presentation\">\n <div tabIndex={0} onFocus={this.handleFocusTrapStart} />\n <form onSubmit={this.handleSubmit} ref={this.focusTrapContainer}>\n <div className=\"title-bar\">\n <h6 className=\"advanced-filter-title\">Advanced Filters</h6>\n <div className=\"advanced-filter-menu-buttons\">\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: sortDirection === TableUtils.sortDirection.descending,\n })}\n onClick={this.handleSortDown}\n icon={dhSortAmountDown}\n tooltip={\n isSortable ? `Sort ${column.name} Descending` : 'Not sortable'\n }\n disabled={!isSortable}\n />\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: sortDirection === TableUtils.sortDirection.ascending,\n })}\n onClick={this.handleSortUp}\n icon={\n <FontAwesomeIcon icon={dhSortAmountDown} rotation={180} />\n }\n tooltip={\n isSortable ? `Sort ${column.name} Ascending` : 'Not sortable'\n }\n disabled={!isSortable}\n />\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: isMaximized,\n })}\n onClick={onToggleMaximize}\n icon={isMaximized ? vsScreenNormal : vsScreenFull}\n tooltip={\n isMaximized ? 'Restore dialog size' : 'Maximize dialog'\n }\n />\n </div>\n </div>\n <hr />\n <div className=\"advanced-filter-column-name\">\n {column.name}&nbsp;\n <span className=\"column-type\">({columnType})</span>\n </div>\n {filterItemElements}\n {isValuesTableAvailable && valuesTableError == null && (\n <>\n {!isBoolean && <hr />}\n <div className=\"form-group advanced-filter-values-group\">\n <AdvancedFilterCreatorSelectValue\n dh={dh}\n table={valuesTable}\n onChange={this.handleSelectValueChange}\n invertSelection={invertSelection}\n selectedValues={selectedValues}\n formatter={formatter}\n showSearch={!isDateType}\n timeZone={formatter.timeZone}\n />\n </div>\n </>\n )}\n <div className=\"form-row justify-content-end\">\n <Button\n kind=\"secondary\"\n className=\"mr-2\"\n onClick={this.handleReset}\n >\n Reset\n </Button>\n <Button kind=\"primary\" onClick={this.handleDone}>\n Done\n </Button>\n </div>\n </form>\n <div tabIndex={0} onFocus={this.handleFocusTrapEnd} />\n </div>\n );\n }\n}\n\nexport default AdvancedFilterCreator;\n"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,9 @@ import { type GridRangeIndex, type ModelIndex } from '@deephaven/grid';
3
3
  import type { dh } from '@deephaven/jsapi-types';
4
4
  import { type Shortcut } from '@deephaven/components';
5
5
  import { type IconDefinition } from '@deephaven/icons';
6
+ import { type ComponentType } from 'react';
6
7
  import type AggregationOperation from './sidebar/aggregations/AggregationOperation';
7
- import { type UIRollupConfig, type OptionType } from './sidebar';
8
+ import { type UIRollupConfig, type OptionItemKey } from './sidebar';
8
9
  import type IrisGridModel from './IrisGridModel';
9
10
  import { type IrisGridThemeType } from './IrisGridTheme';
10
11
  export type RowIndex = ModelIndex;
@@ -29,13 +30,72 @@ export type Action = {
29
30
  action: () => void;
30
31
  shortcut: Shortcut;
31
32
  };
33
+ /**
34
+ * Options accepted by `IrisGrid.startLoading`. Mirrors the inline options bag
35
+ * on that method so initiators (including plugins) can type their request.
36
+ */
37
+ export type StartLoadingOptions = {
38
+ /** Reset selected ranges and scroll position when loading begins. */
39
+ resetRanges?: boolean;
40
+ /** Whether the loading scrim shows a cancel button. */
41
+ loadingCancelShown?: boolean;
42
+ /** Whether the loading scrim blocks interaction with the grid. */
43
+ loadingBlocksGrid?: boolean;
44
+ };
45
+ /**
46
+ * Detail payload for `IrisGridModel.EVENT.PENDING`. Self-describing so an
47
+ * initiator (e.g. a plugin) can raise the loading scrim for an operation
48
+ * IrisGrid has no built-in knowledge of.
49
+ */
50
+ export type PendingOperationDetail = {
51
+ /**
52
+ * Display text for the scrim. Omitted → IrisGrid uses a generic message.
53
+ */
54
+ text?: string;
55
+ /** Scrim options the initiator wants applied while loading. */
56
+ options?: StartLoadingOptions;
57
+ };
58
+ /**
59
+ * Props passed to a plugin-supplied sidebar page (an item whose
60
+ * `configPage` is set). Pages receive the current model and a
61
+ * back-navigation callback; any additional state access should
62
+ * flow through the model or through props the plugin threads in
63
+ * itself.
64
+ */
65
+ export type IrisGridTableOptionsPageProps = {
66
+ /** Current model the grid is rendering. */
67
+ model: IrisGridModel;
68
+ /** Pop the current page off the sidebar stack. */
69
+ onBack: () => void;
70
+ };
32
71
  export type OptionItem = {
33
- type: OptionType;
72
+ /**
73
+ * Built-in items use the `OptionType` enum; plugin-contributed items
74
+ * use a namespaced string key (convention `plugin:<name>:<id>`).
75
+ */
76
+ type: OptionItemKey;
34
77
  title: string;
35
78
  subtitle?: string;
36
79
  icon?: IconDefinition;
37
80
  isOn?: boolean;
38
81
  onChange?: () => void;
82
+ /**
83
+ * Optional sort weight for positioning the item within the menu. Items
84
+ * are stably sorted by ascending `order`; an omitted `order` sinks the
85
+ * item to the end of the menu. Built-in items are numbered with a stride
86
+ * of 100 (Chart Builder `100` … Go to `1200`), so a plugin can slot an
87
+ * item between two built-ins (e.g. `250`) or before all of them with a
88
+ * smaller/negative value.
89
+ */
90
+ order?: number;
91
+ /**
92
+ * Renderer for plugin-supplied sidebar pages. Built-in items leave
93
+ * this undefined — the `IrisGrid` page switch renders them via
94
+ * its existing `case OptionType.*` arms; the `default` case renders
95
+ * `configPage` when present and falls back to a programmer-error
96
+ * throw otherwise.
97
+ */
98
+ configPage?: ComponentType<IrisGridTableOptionsPageProps>;
39
99
  };
40
100
  export interface UITotalsTableConfig extends dh.TotalsTableConfig {
41
101
  operationOrder: AggregationOperation[];
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTypes.d.ts","sourceRoot":"","sources":["../src/CommonTypes.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommonTypes.d.ts","sourceRoot":"","sources":["../src/CommonTypes.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CommonTypes.js","names":[],"sources":["../src/CommonTypes.tsx"],"sourcesContent":["import {\n type AdvancedFilterOptions,\n type SortDescriptor,\n} from '@deephaven/jsapi-utils';\nimport { type GridRangeIndex, type ModelIndex } from '@deephaven/grid';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { type Shortcut } from '@deephaven/components';\nimport { type IconDefinition } from '@deephaven/icons';\nimport type AggregationOperation from './sidebar/aggregations/AggregationOperation';\nimport { type UIRollupConfig, type OptionType } from './sidebar';\nimport type IrisGridModel from './IrisGridModel';\nimport { type IrisGridThemeType } from './IrisGridTheme';\n\nexport type RowIndex = ModelIndex;\n\nexport type { AdvancedFilterOptions };\nexport type ColumnName = string;\nexport type AdvancedFilterMap = Map<ModelIndex, AdvancedFilter>;\nexport type QuickFilterMap = Map<ModelIndex, QuickFilter>;\nexport type ReadonlyAdvancedFilterMap = ReadonlyMap<ModelIndex, AdvancedFilter>;\nexport type ReadonlyQuickFilterMap = ReadonlyMap<ModelIndex, QuickFilter>;\nexport type ReadonlyAggregationMap = Readonly<\n Record<AggregationOperation, readonly ColumnName[]>\n>;\nexport type OperationMap = Record<ColumnName, readonly AggregationOperation[]>;\nexport type ReadonlyOperationMap = Readonly<\n Record<ColumnName, readonly AggregationOperation[]>\n>;\n\nexport type QuickFilter = {\n text: string;\n filter: dh.FilterCondition | null;\n};\n\nexport type AdvancedFilter = {\n filter: dh.FilterCondition | null;\n options: AdvancedFilterOptions;\n};\n\nexport type Action = {\n action: () => void;\n shortcut: Shortcut;\n};\n\nexport type OptionItem = {\n type: OptionType;\n title: string;\n subtitle?: string;\n icon?: IconDefinition;\n isOn?: boolean;\n onChange?: () => void;\n};\n\nexport interface UITotalsTableConfig extends dh.TotalsTableConfig {\n operationOrder: AggregationOperation[];\n showOnTop: boolean;\n}\n\nexport type InputFilter = {\n name: string;\n type: string;\n value: string;\n excludePanelIds?: (string | string[])[];\n};\n\nexport interface UIRow {\n /**\n * The data in the row indexed by column number.\n * If a column is not part of the columns array (i.e. it's hidden by the model/table),\n * then it will be included by its name instead of index.\n */\n data: Map<ModelIndex | ColumnName, CellData>;\n}\n\nexport type UIViewportData<R extends UIRow = UIRow> = {\n offset: number;\n rows: R[];\n};\nexport type RowData<T = unknown> = Map<number, { value: T }>;\n\nexport type CellData = {\n value: unknown;\n format?: dh.Format;\n};\nexport type PendingDataMap<R extends UIRow = UIRow> = ReadonlyMap<RowIndex, R>;\n\n/** Maps from a row index to the errors for that row */\nexport type PendingDataErrorMap<T extends Error = Error> = ReadonlyMap<\n RowIndex,\n readonly T[]\n>;\n\nexport interface IrisGridStateOverride extends Record<string, unknown> {\n model: IrisGridModel;\n theme: IrisGridThemeType;\n hoverSelectColumn: GridRangeIndex;\n isFilterBarShown: boolean;\n isMenuShown: boolean;\n isSelectingColumn: boolean;\n loadingScrimProgress: number | null;\n advancedFilters: ReadonlyAdvancedFilterMap;\n quickFilters: ReadonlyQuickFilterMap;\n sorts: readonly SortDescriptor[];\n reverse: boolean;\n rollupConfig: UIRollupConfig | undefined;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"CommonTypes.js","names":[],"sources":["../src/CommonTypes.tsx"],"sourcesContent":["import {\n type AdvancedFilterOptions,\n type SortDescriptor,\n} from '@deephaven/jsapi-utils';\nimport { type GridRangeIndex, type ModelIndex } from '@deephaven/grid';\nimport type { dh } from '@deephaven/jsapi-types';\nimport { type Shortcut } from '@deephaven/components';\nimport { type IconDefinition } from '@deephaven/icons';\nimport { type ComponentType } from 'react';\nimport type AggregationOperation from './sidebar/aggregations/AggregationOperation';\nimport { type UIRollupConfig, type OptionItemKey } from './sidebar';\nimport type IrisGridModel from './IrisGridModel';\nimport { type IrisGridThemeType } from './IrisGridTheme';\n\nexport type RowIndex = ModelIndex;\n\nexport type { AdvancedFilterOptions };\nexport type ColumnName = string;\nexport type AdvancedFilterMap = Map<ModelIndex, AdvancedFilter>;\nexport type QuickFilterMap = Map<ModelIndex, QuickFilter>;\nexport type ReadonlyAdvancedFilterMap = ReadonlyMap<ModelIndex, AdvancedFilter>;\nexport type ReadonlyQuickFilterMap = ReadonlyMap<ModelIndex, QuickFilter>;\nexport type ReadonlyAggregationMap = Readonly<\n Record<AggregationOperation, readonly ColumnName[]>\n>;\nexport type OperationMap = Record<ColumnName, readonly AggregationOperation[]>;\nexport type ReadonlyOperationMap = Readonly<\n Record<ColumnName, readonly AggregationOperation[]>\n>;\n\nexport type QuickFilter = {\n text: string;\n filter: dh.FilterCondition | null;\n};\n\nexport type AdvancedFilter = {\n filter: dh.FilterCondition | null;\n options: AdvancedFilterOptions;\n};\n\nexport type Action = {\n action: () => void;\n shortcut: Shortcut;\n};\n\n/**\n * Options accepted by `IrisGrid.startLoading`. Mirrors the inline options bag\n * on that method so initiators (including plugins) can type their request.\n */\nexport type StartLoadingOptions = {\n /** Reset selected ranges and scroll position when loading begins. */\n resetRanges?: boolean;\n /** Whether the loading scrim shows a cancel button. */\n loadingCancelShown?: boolean;\n /** Whether the loading scrim blocks interaction with the grid. */\n loadingBlocksGrid?: boolean;\n};\n\n/**\n * Detail payload for `IrisGridModel.EVENT.PENDING`. Self-describing so an\n * initiator (e.g. a plugin) can raise the loading scrim for an operation\n * IrisGrid has no built-in knowledge of.\n */\nexport type PendingOperationDetail = {\n /**\n * Display text for the scrim. Omitted → IrisGrid uses a generic message.\n */\n text?: string;\n /** Scrim options the initiator wants applied while loading. */\n options?: StartLoadingOptions;\n};\n\n/**\n * Props passed to a plugin-supplied sidebar page (an item whose\n * `configPage` is set). Pages receive the current model and a\n * back-navigation callback; any additional state access should\n * flow through the model or through props the plugin threads in\n * itself.\n */\nexport type IrisGridTableOptionsPageProps = {\n /** Current model the grid is rendering. */\n model: IrisGridModel;\n /** Pop the current page off the sidebar stack. */\n onBack: () => void;\n};\n\nexport type OptionItem = {\n /**\n * Built-in items use the `OptionType` enum; plugin-contributed items\n * use a namespaced string key (convention `plugin:<name>:<id>`).\n */\n type: OptionItemKey;\n title: string;\n subtitle?: string;\n icon?: IconDefinition;\n isOn?: boolean;\n onChange?: () => void;\n /**\n * Optional sort weight for positioning the item within the menu. Items\n * are stably sorted by ascending `order`; an omitted `order` sinks the\n * item to the end of the menu. Built-in items are numbered with a stride\n * of 100 (Chart Builder `100` … Go to `1200`), so a plugin can slot an\n * item between two built-ins (e.g. `250`) or before all of them with a\n * smaller/negative value.\n */\n order?: number;\n /**\n * Renderer for plugin-supplied sidebar pages. Built-in items leave\n * this undefined — the `IrisGrid` page switch renders them via\n * its existing `case OptionType.*` arms; the `default` case renders\n * `configPage` when present and falls back to a programmer-error\n * throw otherwise.\n */\n configPage?: ComponentType<IrisGridTableOptionsPageProps>;\n};\n\nexport interface UITotalsTableConfig extends dh.TotalsTableConfig {\n operationOrder: AggregationOperation[];\n showOnTop: boolean;\n}\n\nexport type InputFilter = {\n name: string;\n type: string;\n value: string;\n excludePanelIds?: (string | string[])[];\n};\n\nexport interface UIRow {\n /**\n * The data in the row indexed by column number.\n * If a column is not part of the columns array (i.e. it's hidden by the model/table),\n * then it will be included by its name instead of index.\n */\n data: Map<ModelIndex | ColumnName, CellData>;\n}\n\nexport type UIViewportData<R extends UIRow = UIRow> = {\n offset: number;\n rows: R[];\n};\nexport type RowData<T = unknown> = Map<number, { value: T }>;\n\nexport type CellData = {\n value: unknown;\n format?: dh.Format;\n};\nexport type PendingDataMap<R extends UIRow = UIRow> = ReadonlyMap<RowIndex, R>;\n\n/** Maps from a row index to the errors for that row */\nexport type PendingDataErrorMap<T extends Error = Error> = ReadonlyMap<\n RowIndex,\n readonly T[]\n>;\n\nexport interface IrisGridStateOverride extends Record<string, unknown> {\n model: IrisGridModel;\n theme: IrisGridThemeType;\n hoverSelectColumn: GridRangeIndex;\n isFilterBarShown: boolean;\n isMenuShown: boolean;\n isSelectingColumn: boolean;\n loadingScrimProgress: number | null;\n advancedFilters: ReadonlyAdvancedFilterMap;\n quickFilters: ReadonlyQuickFilterMap;\n sorts: readonly SortDescriptor[];\n reverse: boolean;\n rollupConfig: UIRollupConfig | undefined;\n}\n"],"mappings":"","ignoreList":[]}
@@ -22,7 +22,7 @@ import { type AdvancedSettingsMenuCallback } from './sidebar/AdvancedSettingsMen
22
22
  import { type GotoRowElement } from './GotoRow';
23
23
  import { type Aggregation, type AggregationSettings } from './sidebar/aggregations/Aggregations';
24
24
  import { type ChartBuilderSettings } from './sidebar/ChartBuilder';
25
- import AggregationOperation from './sidebar/aggregations/AggregationOperation';
25
+ import type AggregationOperation from './sidebar/aggregations/AggregationOperation';
26
26
  import { type UIRollupConfig } from './sidebar/RollupRows';
27
27
  import { type Action, type AdvancedFilterOptions, type ColumnName, type InputFilter, type IrisGridStateOverride, type OperationMap, type OptionItem, type PendingDataErrorMap, type PendingDataMap, type QuickFilterMap, type ReadonlyAdvancedFilterMap, type ReadonlyAggregationMap, type ReadonlyQuickFilterMap, type UITotalsTableConfig } from './CommonTypes';
28
28
  import type ColumnHeaderGroup from './ColumnHeaderGroup';
@@ -70,6 +70,23 @@ export interface IrisGridProps {
70
70
  onDataSelected: (index: ModelIndex, map: RowDataMap) => void;
71
71
  onStateChange: (irisGridState: IrisGridState, gridState: GridState) => void;
72
72
  onAdvancedSettingsChange: AdvancedSettingsMenuCallback;
73
+ /**
74
+ * Pure transform over the default Table Options menu list. Receives
75
+ * the built-in items (already filtered by model availability) and
76
+ * returns the items to actually render. Use it to add, hide,
77
+ * relabel, reorder, or replace entries.
78
+ *
79
+ * Items returned with a `configPage` are rendered by the
80
+ * `default` case of the page switch and isolated inside a small
81
+ * error boundary; items without a `configPage` MUST have a `type`
82
+ * matching an existing `OptionType` enum value, otherwise the
83
+ * existing case arms can't render them.
84
+ *
85
+ * Called inside memoization; the function should be referentially
86
+ * stable and side-effect-free. A throwing transform is logged once
87
+ * and treated as identity for that render.
88
+ */
89
+ transformTableOptions?: (defaults: readonly OptionItem[]) => readonly OptionItem[];
73
90
  /** @deprecated use `partitionConfig` instead */
74
91
  partitions?: (string | null)[];
75
92
  partitionConfig?: PartitionConfig;
@@ -128,6 +145,16 @@ export interface IrisGridProps {
128
145
  density?: 'compact' | 'regular' | 'spacious';
129
146
  getMetricCalculator: GetMetricCalculatorType;
130
147
  }
148
+ /**
149
+ * The subset of `IrisGridProps` that overrides how the grid presents its
150
+ * model: theme, canvas renderer, extra mouse handlers, and the metric
151
+ * calculator factory. Hosts that render `<IrisGrid>` on behalf of a plugin
152
+ * (e.g. `GridWidgetPlugin`) accept this as a single passthrough bag so they
153
+ * don't need to know each view concern by name, and plugins build it from
154
+ * their own hooks. Kept as a `Pick` (not `Partial<IrisGridProps>`) so it can
155
+ * never clobber structural props like `model` or `ref`.
156
+ */
157
+ export type IrisGridViewProps = Pick<IrisGridProps, 'theme' | 'renderer' | 'mouseHandlers' | 'getMetricCalculator'>;
131
158
  export interface IrisGridState {
132
159
  isFilterBarShown: boolean;
133
160
  isSelectingPartition: boolean;
@@ -138,6 +165,7 @@ export interface IrisGridState {
138
165
  quickFilters: ReadonlyQuickFilterMap;
139
166
  advancedFilters: ReadonlyAdvancedFilterMap;
140
167
  shownAdvancedFilter: number | null;
168
+ maximizedAdvancedFilter: number | null;
141
169
  hoverAdvancedFilter: number | null;
142
170
  sorts: readonly SortDescriptor[];
143
171
  reverse: boolean;
@@ -321,12 +349,27 @@ declare class IrisGrid extends Component<IrisGridProps, IrisGridState> {
321
349
  tableUtils: TableUtils;
322
350
  keyHandlers: readonly KeyHandler[];
323
351
  mouseHandlers: MouseHandlersProp;
352
+ /**
353
+ * The metric calculator factory most recently used to instantiate the
354
+ * calculator currently stored in state. Used by `maybeRebuildMetricCalculator`
355
+ * (called from `componentDidUpdate` when the `getMetricCalculator` prop
356
+ * changes) to detect when a different factory is supplied and rebuild.
357
+ */
358
+ lastMetricCalculatorFactory?: GetMetricCalculatorType;
324
359
  slideTransitionRef: React.RefObject<HTMLDivElement>;
325
360
  bottomTransitionRef: React.RefObject<HTMLDivElement>;
326
361
  get gridWrapper(): HTMLDivElement | null;
327
362
  getAdvancedMenuOpenedHandler: ((column: ModelIndex) => () => void) & memoize.Memoized<(column: ModelIndex) => () => void>;
328
- getCachedAdvancedFilterMenuActions: ((model: IrisGridModel, column: DhType.Column, advancedFilterOptions: AdvancedFilterOptions | undefined, sortDirection: SortDirection | undefined, formatter: Formatter) => import("react/jsx-runtime").JSX.Element) & memoize.Memoized<(model: IrisGridModel, column: DhType.Column, advancedFilterOptions: AdvancedFilterOptions | undefined, sortDirection: SortDirection | undefined, formatter: Formatter) => import("react/jsx-runtime").JSX.Element>;
363
+ getAdvancedMenuToggleMaximizeHandler: ((column: ModelIndex) => () => void) & memoize.Memoized<(column: ModelIndex) => () => void>;
364
+ getCachedAdvancedFilterMenuActions: ((model: IrisGridModel, column: DhType.Column, advancedFilterOptions: AdvancedFilterOptions | undefined, sortDirection: SortDirection | undefined, formatter: Formatter, isMaximized: boolean, onToggleMaximize: () => void) => import("react/jsx-runtime").JSX.Element) & memoize.Memoized<(model: IrisGridModel, column: DhType.Column, advancedFilterOptions: AdvancedFilterOptions | undefined, sortDirection: SortDirection | undefined, formatter: Formatter, isMaximized: boolean, onToggleMaximize: () => void) => import("react/jsx-runtime").JSX.Element>;
329
365
  getCachedOptionItems: ((isChartBuilderAvailable: boolean, isCustomColumnsAvailable: boolean, isFormatColumnsAvailable: boolean, isOrganizeColumnsAvailable: boolean, isRollupAvailable: boolean, isTotalsAvailable: boolean, isSelectDistinctAvailable: boolean, isExportAvailable: boolean, toggleFilterBarAction: Action, toggleSearchBarAction: Action, toggleGotoRowAction: Action, isFilterBarShown: boolean, showSearchBar: boolean, canDownloadCsv: boolean, canToggleSearch: boolean, showGotoRow: boolean, hasAdvancedSettings: boolean) => readonly OptionItem[]) & memoize.Memoized<(isChartBuilderAvailable: boolean, isCustomColumnsAvailable: boolean, isFormatColumnsAvailable: boolean, isOrganizeColumnsAvailable: boolean, isRollupAvailable: boolean, isTotalsAvailable: boolean, isSelectDistinctAvailable: boolean, isExportAvailable: boolean, toggleFilterBarAction: Action, toggleSearchBarAction: Action, toggleGotoRowAction: Action, isFilterBarShown: boolean, showSearchBar: boolean, canDownloadCsv: boolean, canToggleSearch: boolean, showGotoRow: boolean, hasAdvancedSettings: boolean) => readonly OptionItem[]>;
366
+ /**
367
+ * Apply the `transformTableOptions` transform (if any) to the
368
+ * default option list.
369
+ * Catches exceptions so a buggy plugin can't break the grid,
370
+ * and warns about duplicate `type` collisions.
371
+ */
372
+ getCachedTransformedOptionItems: ((items: readonly OptionItem[], transformTableOptions: IrisGridProps["transformTableOptions"]) => readonly OptionItem[]) & memoize.Memoized<(items: readonly OptionItem[], transformTableOptions: IrisGridProps["transformTableOptions"]) => readonly OptionItem[]>;
330
373
  getCachedHiddenColumns: ((metricCalculator: IrisGridMetricCalculator, userColumnWidths: ModelSizeMap) => readonly ModelIndex[]) & memoize.Memoized<(metricCalculator: IrisGridMetricCalculator, userColumnWidths: ModelSizeMap) => readonly ModelIndex[]>;
331
374
  getAggregationMap: ((columns: readonly DhType.Column[], aggregations: readonly Aggregation[]) => ReadonlyAggregationMap) & memoize.Memoized<(columns: readonly DhType.Column[], aggregations: readonly Aggregation[]) => ReadonlyAggregationMap>;
332
375
  getOperationMap: ((columns: readonly DhType.Column[], aggregations: readonly Aggregation[]) => OperationMap) & memoize.Memoized<(columns: readonly DhType.Column[], aggregations: readonly Aggregation[]) => OperationMap>;
@@ -349,7 +392,7 @@ declare class IrisGrid extends Component<IrisGridProps, IrisGridState> {
349
392
  getCachedKeyHandlers: ((keyHandlers: readonly KeyHandler[]) => KeyHandler[]) & memoize.Memoized<(keyHandlers: readonly KeyHandler[]) => KeyHandler[]>;
350
393
  getKeyHandlers(): readonly KeyHandler[];
351
394
  getMetricState(): IrisGridMetricState | undefined;
352
- getCachedMouseHandlers: ((mouseHandlers: MouseHandlersProp) => readonly GridMouseHandler[]) & memoize.Memoized<(mouseHandlers: MouseHandlersProp) => readonly GridMouseHandler[]>;
395
+ getCachedMouseHandlers: ((mouseHandlersProp: MouseHandlersProp) => readonly GridMouseHandler[]) & memoize.Memoized<(mouseHandlersProp: MouseHandlersProp) => readonly GridMouseHandler[]>;
353
396
  getCachedRenderer: ((rendererProp?: IrisGridRenderer) => IrisGridRenderer) & memoize.Memoized<(rendererProp?: IrisGridRenderer) => IrisGridRenderer>;
354
397
  get renderer(): IrisGridRenderer;
355
398
  getMouseHandlers(): readonly GridMouseHandler[];
@@ -512,6 +555,7 @@ declare class IrisGrid extends Component<IrisGridProps, IrisGridState> {
512
555
  handleAdvancedFilterChange(column: DhType.Column, filter: DhType.FilterCondition | null, options: AdvancedFilterOptions): void;
513
556
  handleAdvancedFilterSortChange(column: DhType.Column, direction: SortDirection, addToExisting?: boolean): void;
514
557
  handleAdvancedFilterDone(): void;
558
+ handleAdvancedFilterToggleMaximize(column: GridRangeIndex): void;
515
559
  handleAdvancedMenuOpened(column: GridRangeIndex): void;
516
560
  handleGotoRowOpened(): void;
517
561
  handleGotoRowClosed(): void;
@@ -530,8 +574,32 @@ declare class IrisGrid extends Component<IrisGridProps, IrisGridState> {
530
574
  handleMenuBack(): void;
531
575
  handleMenuSelect(option: OptionItem): void;
532
576
  handleRequestFailed(event: EventT): void;
577
+ /**
578
+ * Raise the loading scrim in response to a model-driven `PENDING` event. The
579
+ * model is the start signal, mirroring how `UPDATED`/`COLUMNS_CHANGED` are
580
+ * already the model-driven stop signal. Idempotent: the first message within
581
+ * a commit wins (the `loadingScrimStartTime == null` guard collapses multiple
582
+ * pending operations into a single scrim).
583
+ */
584
+ handlePending(event: EventT): void;
585
+ /**
586
+ * Clear the loading scrim in response to a model-driven `PENDING_CLEARED`
587
+ * event. Only needed for operations that do not naturally end in
588
+ * `UPDATED`/`COLUMNS_CHANGED`/`REQUEST_FAILED`.
589
+ */
590
+ handlePendingCleared(): void;
533
591
  handleUpdate(): void;
534
592
  handleTableChanged(): void;
593
+ /**
594
+ * Handle an inner-model swap on a proxy model (`MODEL_CHANGED`). The previous
595
+ * model's `movedColumns` reference indices that may not exist in the new
596
+ * model (e.g. a pivot exposes a different column set), so reset them to the
597
+ * new model's initial order. The metric calculator is rebuilt separately when
598
+ * the `getMetricCalculator` prop changes (see `componentDidUpdate`); a calc
599
+ * whose seed `movedColumns` are now stale self-heals because `getMetrics`
600
+ * reconciles against the grid's current `movedColumns` at draw time.
601
+ */
602
+ handleModelChanged(): void;
535
603
  handleViewChanged(metrics?: GridMetrics): void;
536
604
  handleSelectionChanged(selectedRanges?: readonly GridRange[]): void;
537
605
  handleMovedColumnsChanged(movedColumns: readonly MoveOperation[], onChangeApplied?: () => void): void;
@@ -545,6 +613,24 @@ declare class IrisGrid extends Component<IrisGridProps, IrisGridState> {
545
613
  handleConditionalFormatEditorCancel(): void;
546
614
  handleUpdateCustomColumns(customColumns: readonly string[]): void;
547
615
  handleCustomColumnsChanged(): void;
616
+ /**
617
+ * Rebuild the metric calculator when the `getMetricCalculator` prop swaps for
618
+ * a different factory (e.g. entering or leaving a pivot, where the
619
+ * pivot-builder middleware flips the prop). The renderer and mouse handlers
620
+ * are recomputed via their memoized getters on the next render and do not
621
+ * need explicit handling here.
622
+ *
623
+ * User column-widths / row-heights from the previous calculator are not
624
+ * carried over: a factory swap means the column set has effectively changed,
625
+ * so the stored sizes wouldn't map to anything meaningful.
626
+ *
627
+ * Moved columns are NOT reset here — that is owned by `handleModelChanged`
628
+ * (the `MODEL_CHANGED` event) so that a plain prop swap against the same
629
+ * model preserves the user's layout. The new calculator is seeded with the
630
+ * current moved columns; `getMetrics` reconciles against the grid's live
631
+ * `movedColumns` at draw time, so a later reset stays consistent.
632
+ */
633
+ maybeRebuildMetricCalculator(): void;
548
634
  handlePendingCommitClicked(): Promise<void>;
549
635
  handlePendingDiscardClicked(): Promise<void>;
550
636
  handlePendingDataUpdated(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"IrisGrid.d.ts","sourceRoot":"","sources":["../src/IrisGrid.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IrisGrid.d.ts","sourceRoot":"","sources":["../src/IrisGrid.tsx"],"names":[],"mappings":"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"}