@deephaven/iris-grid 0.21.2-dhe-vite.5 → 0.22.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 (45) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +1 -1
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +56 -58
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
  6. package/dist/AdvancedFilterCreatorFilterItem.js +8 -9
  7. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  8. package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValue.js +5 -6
  10. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  11. package/dist/ColumnStatistics.js +12 -11
  12. package/dist/ColumnStatistics.js.map +1 -1
  13. package/dist/FilterInputField.d.ts.map +1 -1
  14. package/dist/FilterInputField.js +4 -3
  15. package/dist/FilterInputField.js.map +1 -1
  16. package/dist/IrisGrid.d.ts +1 -1
  17. package/dist/IrisGrid.d.ts.map +1 -1
  18. package/dist/IrisGrid.js +30 -22
  19. package/dist/IrisGrid.js.map +1 -1
  20. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  21. package/dist/IrisGridCopyHandler.js +4 -6
  22. package/dist/IrisGridCopyHandler.js.map +1 -1
  23. package/dist/IrisGridShortcuts.js +1 -1
  24. package/dist/IrisGridShortcuts.js.map +1 -1
  25. package/dist/sidebar/ChartBuilder.js +19 -19
  26. package/dist/sidebar/ChartBuilder.js.map +1 -1
  27. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  28. package/dist/sidebar/CustomColumnBuilder.js +14 -17
  29. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  30. package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
  31. package/dist/sidebar/CustomColumnInput.js +8 -8
  32. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  33. package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
  34. package/dist/sidebar/SelectDistinctBuilder.js +16 -15
  35. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  36. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  37. package/dist/sidebar/TableCsvExporter.js +4 -4
  38. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  39. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  40. package/dist/sidebar/VisibilityOrderingBuilder.js +48 -41
  41. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  42. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  43. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +7 -7
  44. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  45. package/package.json +17 -25
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedFilterCreatorSelectValue.js","names":["React","PureComponent","CSSTransition","classNames","TableUtils","AdvancedFilterCreatorSelectValueList","AdvancedFilterCreatorSelectValue","constructor","props","handleSelectAllClick","bind","handleClearAllClick","handleListChange","handleSearchChange","handleUpdateFilterTimeout","invertSelection","selectedValues","state","filters","searchText","componentDidMount","initSearchTable","componentDidUpdate","prevProps","prevState","table","setState","searchTable","close","startUpdateFilterTimer","componentWillUnmount","searchTablePromise","undefined","stopUpdateFilterTimer","getColumnName","columns","name","getDisplayedValuesCount","totalSize","length","getDisplayedValueText","count","formatter","formattedCount","getFormattedString","formattedTableSize","prefix","copy","then","onChange","event","target","value","resetSelection","updateFilterTimer","updateTableFilter","setTimeout","searchDebounceTime","clearTimeout","timeZone","column","error","filter","isCharType","type","makeQuickFilter","isTextType","push","render","showSearch","columnName","displayedValuesText","placeholderText"],"sources":["../src/AdvancedFilterCreatorSelectValue.tsx"],"sourcesContent":["/* eslint react/no-did-update-set-state: \"off\" */\nimport React, { PureComponent } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport classNames from 'classnames';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport { FilterCondition, Table } from '@deephaven/jsapi-shim';\nimport AdvancedFilterCreatorSelectValueList from './AdvancedFilterCreatorSelectValueList';\nimport './AdvancedFilterCreatorSelectValue.scss';\nimport { ColumnName } from './CommonTypes';\n\ninterface AdvancedFilterCreatorSelectValueProps<T> {\n invertSelection: boolean;\n selectedValues: T[];\n table?: Table;\n formatter: Formatter;\n onChange: (selectedValues: T[], invertSelection: boolean) => void;\n showSearch: boolean;\n timeZone: string;\n}\n\ninterface AdvancedFilterCreatorSelectValueState<T> {\n error?: string;\n filters: FilterCondition[];\n invertSelection: boolean;\n selectedValues: T[];\n searchText: string;\n table?: Table;\n}\n\nclass AdvancedFilterCreatorSelectValue<T = unknown> extends PureComponent<\n AdvancedFilterCreatorSelectValueProps<T>,\n AdvancedFilterCreatorSelectValueState<T>\n> {\n static searchDebounceTime = 250;\n\n static defaultProps = {\n invertSelection: true,\n selectedValues: [],\n onChange: (): void => undefined,\n showSearch: true,\n };\n\n constructor(props: AdvancedFilterCreatorSelectValueProps<T>) {\n super(props);\n\n this.handleSelectAllClick = this.handleSelectAllClick.bind(this);\n this.handleClearAllClick = this.handleClearAllClick.bind(this);\n this.handleListChange = this.handleListChange.bind(this);\n this.handleSearchChange = this.handleSearchChange.bind(this);\n this.handleUpdateFilterTimeout = this.handleUpdateFilterTimeout.bind(this);\n\n const { invertSelection, selectedValues } = props;\n\n this.state = {\n filters: [],\n invertSelection,\n selectedValues,\n searchText: '',\n };\n }\n\n componentDidMount(): void {\n this.initSearchTable();\n }\n\n componentDidUpdate(\n prevProps: AdvancedFilterCreatorSelectValueProps<T>,\n prevState: AdvancedFilterCreatorSelectValueState<T>\n ): void {\n const { invertSelection, selectedValues, table } = this.props;\n if (prevProps.table !== table) {\n this.initSearchTable();\n }\n\n if (prevProps.invertSelection !== invertSelection) {\n this.setState({ invertSelection });\n }\n\n if (prevProps.selectedValues !== selectedValues) {\n this.setState({ selectedValues });\n }\n\n const { table: searchTable, searchText } = this.state;\n\n if (searchTable !== prevState.table) {\n if (prevState.table != null) {\n prevState.table.close();\n }\n if (searchTable != null) {\n this.startUpdateFilterTimer();\n }\n }\n\n if (searchText !== prevState.searchText) {\n this.startUpdateFilterTimer();\n }\n }\n\n componentWillUnmount(): void {\n const { table } = this.state;\n if (table != null) {\n table.close();\n }\n this.searchTablePromise = undefined;\n\n this.stopUpdateFilterTimer();\n }\n\n searchTablePromise?: Promise<Table>;\n\n updateFilterTimer?: ReturnType<typeof setTimeout>;\n\n getColumnName(): ColumnName {\n const { table } = this.props;\n if (table != null) {\n return table.columns[0].name;\n }\n return '';\n }\n\n getDisplayedValuesCount(): number | null {\n const { invertSelection, selectedValues, table } = this.state;\n if (table == null) {\n return null;\n }\n\n if (invertSelection) {\n return table.totalSize - selectedValues.length;\n }\n return selectedValues.length;\n }\n\n getDisplayedValueText(): string | null {\n const count = this.getDisplayedValuesCount();\n const { table } = this.state;\n\n const { formatter } = this.props;\n\n if (count != null && table != null) {\n const formattedCount = formatter.getFormattedString(count, 'long');\n const formattedTableSize = formatter.getFormattedString(\n table.totalSize,\n 'long'\n );\n let prefix = '';\n if (count < 1000000) {\n prefix = 'Displaying ';\n }\n return `${prefix}${formattedCount} of ${formattedTableSize}`;\n }\n return null;\n }\n\n initSearchTable(): void {\n const { table } = this.props;\n if (table == null) {\n return;\n }\n\n const searchTablePromise = table.copy();\n this.searchTablePromise = searchTablePromise;\n this.searchTablePromise.then(searchTable => {\n if (this.searchTablePromise === searchTablePromise) {\n this.setState({ table: searchTable });\n this.searchTablePromise = undefined;\n } else {\n searchTable.close();\n }\n });\n }\n\n handleListChange(selectedValues: T[], invertSelection: boolean): void {\n this.setState({ selectedValues, invertSelection });\n\n const { onChange } = this.props;\n onChange(selectedValues, invertSelection);\n }\n\n handleSearchChange(event: React.ChangeEvent<HTMLInputElement>): void {\n const searchText = event.target.value;\n this.setState({ searchText });\n }\n\n handleSelectAllClick(): void {\n this.resetSelection(true);\n }\n\n handleClearAllClick(): void {\n this.resetSelection(false);\n }\n\n handleUpdateFilterTimeout(): void {\n this.updateFilterTimer = undefined;\n this.updateTableFilter();\n }\n\n resetSelection(invertSelection: boolean): void {\n const selectedValues: T[] = [];\n\n this.setState({ invertSelection, selectedValues });\n\n const { onChange } = this.props;\n onChange(selectedValues, invertSelection);\n }\n\n startUpdateFilterTimer(): void {\n this.stopUpdateFilterTimer();\n\n this.updateFilterTimer = setTimeout(\n this.handleUpdateFilterTimeout,\n AdvancedFilterCreatorSelectValue.searchDebounceTime\n );\n }\n\n stopUpdateFilterTimer(): void {\n if (this.updateFilterTimer != null) {\n clearTimeout(this.updateFilterTimer);\n this.updateFilterTimer = undefined;\n }\n }\n\n updateTableFilter(): void {\n const { table, searchText } = this.state;\n const { timeZone } = this.props;\n const column = table?.columns[0];\n const filters = [];\n if (column == null) {\n return;\n }\n let error;\n if (searchText.length > 0) {\n let filter = null;\n if (TableUtils.isCharType(column.type)) {\n // Just exact match for char\n filter = TableUtils.makeQuickFilter(column, searchText);\n } else if (TableUtils.isTextType(column.type)) {\n // case insensitive & contains search text\n filter = TableUtils.makeQuickFilter(column, `~${searchText}`, timeZone);\n } else {\n // greater than or equal search for everything else\n // we may want to be smarter with some other types (like dates)\n filter = TableUtils.makeQuickFilter(\n column,\n `>=${searchText}`,\n timeZone\n );\n }\n\n if (filter != null) {\n filters.push(filter);\n } else {\n error = 'Invalid search text';\n }\n }\n\n this.setState({ filters, error });\n }\n\n render(): React.ReactElement {\n const {\n error,\n filters,\n invertSelection,\n selectedValues,\n searchText,\n table,\n } = this.state;\n const { formatter, showSearch } = this.props;\n const columnName = this.getColumnName();\n const displayedValuesText = this.getDisplayedValueText();\n const placeholderText = columnName ? `Find ${columnName}...` : '';\n\n return (\n <div className=\"advanced-filter-creator-select-value\">\n <div className={showSearch ? 'form-group' : ''}>\n <label htmlFor=\"advanced-filter-creator-select-value-input\">\n Select Values\n </label>\n {showSearch && (\n <input\n type=\"text\"\n className={classNames('form-control', {\n 'is-invalid': error != null,\n })}\n id=\"advanced-filter-creator-select-value-input\"\n placeholder={placeholderText}\n value={searchText}\n onChange={this.handleSearchChange}\n />\n )}\n </div>\n <AdvancedFilterCreatorSelectValueList\n table={table}\n filters={filters}\n invertSelection={invertSelection}\n selectedValues={selectedValues}\n formatter={formatter}\n onChange={this.handleListChange}\n />\n <div className=\"advanced-filter-creator-select-meta-row\">\n <div>\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onClick={this.handleSelectAllClick}\n >\n Select All\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link\"\n onClick={this.handleClearAllClick}\n >\n Clear\n </button>\n </div>\n <CSSTransition\n in={displayedValuesText != null}\n timeout={250}\n classNames=\"fade\"\n mountOnEnter\n unmountOnExit\n >\n <div className=\"row-count-info\">{displayedValuesText}</div>\n </CSSTransition>\n </div>\n </div>\n );\n }\n}\n\nexport default AdvancedFilterCreatorSelectValue;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AdvancedFilterCreatorSelectValue.js","names":["React","PureComponent","CSSTransition","classNames","TableUtils","Button","AdvancedFilterCreatorSelectValueList","AdvancedFilterCreatorSelectValue","constructor","props","handleSelectAllClick","bind","handleClearAllClick","handleListChange","handleSearchChange","handleUpdateFilterTimeout","invertSelection","selectedValues","state","filters","searchText","componentDidMount","initSearchTable","componentDidUpdate","prevProps","prevState","table","setState","searchTable","close","startUpdateFilterTimer","componentWillUnmount","searchTablePromise","undefined","stopUpdateFilterTimer","getColumnName","columns","name","getDisplayedValuesCount","totalSize","length","getDisplayedValueText","count","formatter","formattedCount","getFormattedString","formattedTableSize","prefix","copy","then","onChange","event","target","value","resetSelection","updateFilterTimer","updateTableFilter","setTimeout","searchDebounceTime","clearTimeout","timeZone","column","error","filter","isCharType","type","makeQuickFilter","isTextType","push","render","showSearch","columnName","displayedValuesText","placeholderText"],"sources":["../src/AdvancedFilterCreatorSelectValue.tsx"],"sourcesContent":["/* eslint react/no-did-update-set-state: \"off\" */\nimport React, { PureComponent } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport classNames from 'classnames';\nimport { Formatter, TableUtils } from '@deephaven/jsapi-utils';\nimport { FilterCondition, Table } from '@deephaven/jsapi-shim';\nimport { Button } from '@deephaven/components';\nimport AdvancedFilterCreatorSelectValueList from './AdvancedFilterCreatorSelectValueList';\nimport './AdvancedFilterCreatorSelectValue.scss';\nimport { ColumnName } from './CommonTypes';\n\ninterface AdvancedFilterCreatorSelectValueProps<T> {\n invertSelection: boolean;\n selectedValues: T[];\n table?: Table;\n formatter: Formatter;\n onChange: (selectedValues: T[], invertSelection: boolean) => void;\n showSearch: boolean;\n timeZone: string;\n}\n\ninterface AdvancedFilterCreatorSelectValueState<T> {\n error?: string;\n filters: FilterCondition[];\n invertSelection: boolean;\n selectedValues: T[];\n searchText: string;\n table?: Table;\n}\n\nclass AdvancedFilterCreatorSelectValue<T = unknown> extends PureComponent<\n AdvancedFilterCreatorSelectValueProps<T>,\n AdvancedFilterCreatorSelectValueState<T>\n> {\n static searchDebounceTime = 250;\n\n static defaultProps = {\n invertSelection: true,\n selectedValues: [],\n onChange: (): void => undefined,\n showSearch: true,\n };\n\n constructor(props: AdvancedFilterCreatorSelectValueProps<T>) {\n super(props);\n\n this.handleSelectAllClick = this.handleSelectAllClick.bind(this);\n this.handleClearAllClick = this.handleClearAllClick.bind(this);\n this.handleListChange = this.handleListChange.bind(this);\n this.handleSearchChange = this.handleSearchChange.bind(this);\n this.handleUpdateFilterTimeout = this.handleUpdateFilterTimeout.bind(this);\n\n const { invertSelection, selectedValues } = props;\n\n this.state = {\n filters: [],\n invertSelection,\n selectedValues,\n searchText: '',\n };\n }\n\n componentDidMount(): void {\n this.initSearchTable();\n }\n\n componentDidUpdate(\n prevProps: AdvancedFilterCreatorSelectValueProps<T>,\n prevState: AdvancedFilterCreatorSelectValueState<T>\n ): void {\n const { invertSelection, selectedValues, table } = this.props;\n if (prevProps.table !== table) {\n this.initSearchTable();\n }\n\n if (prevProps.invertSelection !== invertSelection) {\n this.setState({ invertSelection });\n }\n\n if (prevProps.selectedValues !== selectedValues) {\n this.setState({ selectedValues });\n }\n\n const { table: searchTable, searchText } = this.state;\n\n if (searchTable !== prevState.table) {\n if (prevState.table != null) {\n prevState.table.close();\n }\n if (searchTable != null) {\n this.startUpdateFilterTimer();\n }\n }\n\n if (searchText !== prevState.searchText) {\n this.startUpdateFilterTimer();\n }\n }\n\n componentWillUnmount(): void {\n const { table } = this.state;\n if (table != null) {\n table.close();\n }\n this.searchTablePromise = undefined;\n\n this.stopUpdateFilterTimer();\n }\n\n searchTablePromise?: Promise<Table>;\n\n updateFilterTimer?: ReturnType<typeof setTimeout>;\n\n getColumnName(): ColumnName {\n const { table } = this.props;\n if (table != null) {\n return table.columns[0].name;\n }\n return '';\n }\n\n getDisplayedValuesCount(): number | null {\n const { invertSelection, selectedValues, table } = this.state;\n if (table == null) {\n return null;\n }\n\n if (invertSelection) {\n return table.totalSize - selectedValues.length;\n }\n return selectedValues.length;\n }\n\n getDisplayedValueText(): string | null {\n const count = this.getDisplayedValuesCount();\n const { table } = this.state;\n\n const { formatter } = this.props;\n\n if (count != null && table != null) {\n const formattedCount = formatter.getFormattedString(count, 'long');\n const formattedTableSize = formatter.getFormattedString(\n table.totalSize,\n 'long'\n );\n let prefix = '';\n if (count < 1000000) {\n prefix = 'Displaying ';\n }\n return `${prefix}${formattedCount} of ${formattedTableSize}`;\n }\n return null;\n }\n\n initSearchTable(): void {\n const { table } = this.props;\n if (table == null) {\n return;\n }\n\n const searchTablePromise = table.copy();\n this.searchTablePromise = searchTablePromise;\n this.searchTablePromise.then(searchTable => {\n if (this.searchTablePromise === searchTablePromise) {\n this.setState({ table: searchTable });\n this.searchTablePromise = undefined;\n } else {\n searchTable.close();\n }\n });\n }\n\n handleListChange(selectedValues: T[], invertSelection: boolean): void {\n this.setState({ selectedValues, invertSelection });\n\n const { onChange } = this.props;\n onChange(selectedValues, invertSelection);\n }\n\n handleSearchChange(event: React.ChangeEvent<HTMLInputElement>): void {\n const searchText = event.target.value;\n this.setState({ searchText });\n }\n\n handleSelectAllClick(): void {\n this.resetSelection(true);\n }\n\n handleClearAllClick(): void {\n this.resetSelection(false);\n }\n\n handleUpdateFilterTimeout(): void {\n this.updateFilterTimer = undefined;\n this.updateTableFilter();\n }\n\n resetSelection(invertSelection: boolean): void {\n const selectedValues: T[] = [];\n\n this.setState({ invertSelection, selectedValues });\n\n const { onChange } = this.props;\n onChange(selectedValues, invertSelection);\n }\n\n startUpdateFilterTimer(): void {\n this.stopUpdateFilterTimer();\n\n this.updateFilterTimer = setTimeout(\n this.handleUpdateFilterTimeout,\n AdvancedFilterCreatorSelectValue.searchDebounceTime\n );\n }\n\n stopUpdateFilterTimer(): void {\n if (this.updateFilterTimer != null) {\n clearTimeout(this.updateFilterTimer);\n this.updateFilterTimer = undefined;\n }\n }\n\n updateTableFilter(): void {\n const { table, searchText } = this.state;\n const { timeZone } = this.props;\n const column = table?.columns[0];\n const filters = [];\n if (column == null) {\n return;\n }\n let error;\n if (searchText.length > 0) {\n let filter = null;\n if (TableUtils.isCharType(column.type)) {\n // Just exact match for char\n filter = TableUtils.makeQuickFilter(column, searchText);\n } else if (TableUtils.isTextType(column.type)) {\n // case insensitive & contains search text\n filter = TableUtils.makeQuickFilter(column, `~${searchText}`, timeZone);\n } else {\n // greater than or equal search for everything else\n // we may want to be smarter with some other types (like dates)\n filter = TableUtils.makeQuickFilter(\n column,\n `>=${searchText}`,\n timeZone\n );\n }\n\n if (filter != null) {\n filters.push(filter);\n } else {\n error = 'Invalid search text';\n }\n }\n\n this.setState({ filters, error });\n }\n\n render(): React.ReactElement {\n const {\n error,\n filters,\n invertSelection,\n selectedValues,\n searchText,\n table,\n } = this.state;\n const { formatter, showSearch } = this.props;\n const columnName = this.getColumnName();\n const displayedValuesText = this.getDisplayedValueText();\n const placeholderText = columnName ? `Find ${columnName}...` : '';\n\n return (\n <div className=\"advanced-filter-creator-select-value\">\n <div className={showSearch ? 'form-group' : ''}>\n <label htmlFor=\"advanced-filter-creator-select-value-input\">\n Select Values\n </label>\n {showSearch && (\n <input\n type=\"text\"\n className={classNames('form-control', {\n 'is-invalid': error != null,\n })}\n id=\"advanced-filter-creator-select-value-input\"\n placeholder={placeholderText}\n value={searchText}\n onChange={this.handleSearchChange}\n />\n )}\n </div>\n <AdvancedFilterCreatorSelectValueList\n table={table}\n filters={filters}\n invertSelection={invertSelection}\n selectedValues={selectedValues}\n formatter={formatter}\n onChange={this.handleListChange}\n />\n <div className=\"advanced-filter-creator-select-meta-row\">\n <div>\n <Button kind=\"ghost\" onClick={this.handleSelectAllClick}>\n Select All\n </Button>\n <Button kind=\"ghost\" onClick={this.handleClearAllClick}>\n Clear\n </Button>\n </div>\n <CSSTransition\n in={displayedValuesText != null}\n timeout={250}\n classNames=\"fade\"\n mountOnEnter\n unmountOnExit\n >\n <div className=\"row-count-info\">{displayedValuesText}</div>\n </CSSTransition>\n </div>\n </div>\n );\n }\n}\n\nexport default AdvancedFilterCreatorSelectValue;\n"],"mappings":"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"}
@@ -198,20 +198,21 @@ class ColumnStatistics extends Component {
198
198
  className: "column-statistic-operation"
199
199
  }, rowCountLabel), /*#__PURE__*/React.createElement("div", {
200
200
  className: "column-statistic-value"
201
- }, formattedRowCount)), statisticElements), showGenerateStatistics && /*#__PURE__*/React.createElement("button", {
202
- type: "button",
203
- className: "btn btn-link px-0",
201
+ }, formattedRowCount)), statisticElements), showGenerateStatistics && /*#__PURE__*/React.createElement(Button, {
202
+ kind: "ghost",
203
+ className: "px-0",
204
204
  onClick: this.handleGenerateStatistics
205
205
  }, "Generate Stats"), error != null && /*#__PURE__*/React.createElement("div", {
206
206
  className: "error-message"
207
- }, "".concat(error)), statistics && !loading && /*#__PURE__*/React.createElement("button", {
208
- type: "button",
209
- className: "btn btn-link px-0",
210
- onClick: this.handleGenerateStatistics
211
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
212
- icon: dhRefresh,
213
- className: "mr-1"
214
- }), "Refresh"), loading && /*#__PURE__*/React.createElement("div", {
207
+ }, "".concat(error)), statistics && !loading && /*#__PURE__*/React.createElement(Button, {
208
+ kind: "ghost",
209
+ className: "px-0",
210
+ onClick: this.handleGenerateStatistics,
211
+ icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
212
+ icon: dhRefresh,
213
+ className: "mr-1"
214
+ })
215
+ }, "Refresh"), loading && /*#__PURE__*/React.createElement("div", {
215
216
  className: "column-statistics-loading"
216
217
  }, /*#__PURE__*/React.createElement(LoadingSpinner, {
217
218
  className: "mr-2"
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnStatistics.js","names":["React","Component","classNames","FontAwesomeIcon","Button","ContextActionUtils","LoadingSpinner","dhFreeze","dhRefresh","vsCopy","vsLock","vsPassFilled","Log","PromiseUtils","isExpandableGridModel","log","module","STATS_LABEL_OVERRIDES","SIZE","ColumnStatistics","getStatsLabel","operation","split","map","w","toUpperCase","substr","toLowerCase","join","constructor","props","handleError","bind","handleGenerateStatistics","handleStatistics","handleCopyHeader","cancelablePromise","state","error","loading","statistics","numRows","copied","componentDidMount","maybeGenerateStatistics","componentWillUnmount","cancel","setState","model","rowCount","isColumnStatisticsAvailable","AUTO_GENERATE_LIMIT","column","makeCancelable","columnStatistics","then","catch","stats","debug","onStatistics","statisticsMap","forEach","value","push","type","getType","uniqueValues","className","isCanceled","render","showGenerateStatistics","statisticElements","columnType","substring","lastIndexOf","description","i","length","formattedValue","displayString","name","statisticElement","rowCountLabel","hasExpandableRows","formattedRowCount","columnIndex","getColumnIndexByName","copyToClipboard","e","isColumnMovable","isColumnFrozen"],"sources":["../src/ColumnStatistics.tsx"],"sourcesContent":["import React, { Component, Key } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n Button,\n ContextActionUtils,\n LoadingSpinner,\n} from '@deephaven/components';\nimport {\n dhFreeze,\n dhRefresh,\n vsCopy,\n vsLock,\n vsPassFilled,\n} from '@deephaven/icons';\nimport {\n Column,\n ColumnStatistics as APIColumnStatistics,\n} from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { CancelablePromise, PromiseUtils } from '@deephaven/utils';\nimport { isExpandableGridModel } from '@deephaven/grid';\nimport './ColumnStatistics.scss';\nimport IrisGridModel from './IrisGridModel';\n\nconst log = Log.module('ColumnStatistics');\nconst STATS_LABEL_OVERRIDES: Record<string, string> = {\n SIZE: 'Number of Rows',\n};\n\ninterface Statistic {\n operation: Key;\n className?: string;\n value: unknown;\n type: string;\n}\n\ninterface ColumnStatisticsProps {\n column: Column;\n model: IrisGridModel;\n onStatistics: () => void;\n}\ninterface ColumnStatisticsState {\n error: unknown;\n loading: boolean;\n statistics: Statistic[] | null;\n numRows: number;\n copied: boolean;\n}\n\nclass ColumnStatistics extends Component<\n ColumnStatisticsProps,\n ColumnStatisticsState\n> {\n /** Automatically generate the statistics when the row count is below this threshold */\n static AUTO_GENERATE_LIMIT = 100000;\n\n static getStatsLabel(operation: string): string {\n return (\n STATS_LABEL_OVERRIDES[operation] ??\n operation\n .split(' ')\n .map(w => w[0].toUpperCase() + w.substr(1).toLowerCase())\n .join(' ')\n );\n }\n\n constructor(props: ColumnStatisticsProps) {\n super(props);\n\n this.handleError = this.handleError.bind(this);\n this.handleGenerateStatistics = this.handleGenerateStatistics.bind(this);\n this.handleStatistics = this.handleStatistics.bind(this);\n this.handleCopyHeader = this.handleCopyHeader.bind(this);\n\n this.cancelablePromise = null;\n\n this.state = {\n error: null,\n loading: false,\n statistics: null,\n numRows: 0,\n copied: false,\n };\n }\n\n componentDidMount(): void {\n this.maybeGenerateStatistics();\n }\n\n componentWillUnmount(): void {\n if (this.cancelablePromise) {\n this.cancelablePromise.cancel();\n }\n }\n\n cancelablePromise: CancelablePromise<APIColumnStatistics> | null;\n\n handleCopyHeader(): void {\n this.setState({ copied: true });\n }\n\n maybeGenerateStatistics(): void {\n const { model } = this.props;\n\n const numRows = model.rowCount;\n this.setState({ numRows });\n if (!model.isColumnStatisticsAvailable) {\n this.setState({ loading: false });\n } else if (numRows < ColumnStatistics.AUTO_GENERATE_LIMIT) {\n this.handleGenerateStatistics();\n }\n }\n\n handleGenerateStatistics(): void {\n this.setState({ loading: true });\n\n const { column, model } = this.props;\n\n this.cancelablePromise = PromiseUtils.makeCancelable(\n model.columnStatistics(column)\n );\n\n this.cancelablePromise.then(this.handleStatistics).catch(this.handleError);\n }\n\n handleStatistics(stats: APIColumnStatistics): void {\n log.debug('Received statistics', stats);\n\n const { model, onStatistics } = this.props;\n const statistics: Statistic[] = [];\n\n stats.statisticsMap.forEach((value, operation) => {\n statistics.push({\n operation: ColumnStatistics.getStatsLabel(operation),\n value,\n type: stats.getType(operation),\n });\n });\n\n stats.uniqueValues.forEach((value, operation) => {\n statistics.push({\n operation,\n className: 'column-statistics-unique-value',\n value,\n type: 'long',\n });\n });\n\n this.setState({\n loading: false,\n statistics,\n numRows: model.rowCount,\n });\n\n onStatistics();\n }\n\n handleError(error: Error): void {\n if (error != null && PromiseUtils.isCanceled(error)) {\n log.debug('Called handleError on a cancelled promise result');\n return;\n }\n\n log.error('Error generating statistics', error);\n this.setState({\n error,\n loading: false,\n statistics: null,\n });\n }\n\n render(): React.ReactElement {\n const { column, model } = this.props;\n const { error, loading, statistics, numRows, copied } = this.state;\n const showGenerateStatistics =\n !loading &&\n error == null &&\n statistics == null &&\n model.isColumnStatisticsAvailable;\n const statisticElements = [];\n const columnType = column.type.substring(column.type.lastIndexOf('.') + 1);\n const description = column.description === null ? null : column.description;\n if (statistics != null) {\n for (let i = 0; i < statistics.length; i += 1) {\n const { operation, className, value, type } = statistics[i];\n const formattedValue = !type\n ? model.displayString(value, column.type, column.name)\n : model.displayString(value, type);\n const statisticElement = (\n <React.Fragment key={operation}>\n <div\n className={classNames('column-statistic-operation', className)}\n >\n {operation}\n </div>\n <div className=\"column-statistic-value\">{formattedValue}</div>\n </React.Fragment>\n );\n statisticElements.push(statisticElement);\n }\n }\n const rowCountLabel =\n isExpandableGridModel(model) && model.hasExpandableRows\n ? 'Expanded Rows'\n : 'Number of Rows';\n const formattedRowCount = model.displayString(numRows, 'long');\n const columnIndex = model.getColumnIndexByName(column.name);\n return (\n <div className=\"column-statistics\">\n <div className=\"column-statistics-title\">\n {column.name}\n <span className=\"column-statistics-type\">&nbsp;({columnType})</span>\n <Button\n kind=\"ghost\"\n className=\"column-statistics-copy\"\n icon={copied ? vsPassFilled : vsCopy}\n onClick={() => {\n ContextActionUtils.copyToClipboard(column.name)\n .then(this.handleCopyHeader)\n .catch(e => log.error('Unable to column name', e));\n }}\n tooltip={copied ? 'Copied text' : 'Copy column name'}\n />\n </div>\n {description != null && (\n <div className=\"column-statistics-description\">{description}</div>\n )}\n {columnIndex != null && !model.isColumnMovable(columnIndex) && (\n <div className=\"column-statistics-status\">\n <FontAwesomeIcon\n icon={model.isColumnFrozen(columnIndex) ? dhFreeze : vsLock}\n className=\"mr-1\"\n />\n {model.isColumnFrozen(columnIndex) ? 'Frozen' : 'Not movable'}\n </div>\n )}\n <div className=\"column-statistics-grid\">\n {statistics == null && (\n <>\n <div className=\"column-statistic-operation\">{rowCountLabel}</div>\n <div className=\"column-statistic-value\">{formattedRowCount}</div>\n </>\n )}\n\n {statisticElements}\n </div>\n {showGenerateStatistics && (\n <button\n type=\"button\"\n className=\"btn btn-link px-0\"\n onClick={this.handleGenerateStatistics}\n >\n Generate Stats\n </button>\n )}\n {error != null && <div className=\"error-message\">{`${error}`}</div>}\n {statistics && !loading && (\n <button\n type=\"button\"\n className=\"btn btn-link px-0\"\n onClick={this.handleGenerateStatistics}\n >\n <FontAwesomeIcon icon={dhRefresh} className=\"mr-1\" />\n Refresh\n </button>\n )}\n {loading && (\n <div className=\"column-statistics-loading\">\n <LoadingSpinner className=\"mr-2\" />\n Calculating Stats...\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default ColumnStatistics;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnStatistics.js","names":["React","Component","classNames","FontAwesomeIcon","Button","ContextActionUtils","LoadingSpinner","dhFreeze","dhRefresh","vsCopy","vsLock","vsPassFilled","Log","PromiseUtils","isExpandableGridModel","log","module","STATS_LABEL_OVERRIDES","SIZE","ColumnStatistics","getStatsLabel","operation","split","map","w","toUpperCase","substr","toLowerCase","join","constructor","props","handleError","bind","handleGenerateStatistics","handleStatistics","handleCopyHeader","cancelablePromise","state","error","loading","statistics","numRows","copied","componentDidMount","maybeGenerateStatistics","componentWillUnmount","cancel","setState","model","rowCount","isColumnStatisticsAvailable","AUTO_GENERATE_LIMIT","column","makeCancelable","columnStatistics","then","catch","stats","debug","onStatistics","statisticsMap","forEach","value","push","type","getType","uniqueValues","className","isCanceled","render","showGenerateStatistics","statisticElements","columnType","substring","lastIndexOf","description","i","length","formattedValue","displayString","name","statisticElement","rowCountLabel","hasExpandableRows","formattedRowCount","columnIndex","getColumnIndexByName","copyToClipboard","e","isColumnMovable","isColumnFrozen"],"sources":["../src/ColumnStatistics.tsx"],"sourcesContent":["import React, { Component, Key } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport {\n Button,\n ContextActionUtils,\n LoadingSpinner,\n} from '@deephaven/components';\nimport {\n dhFreeze,\n dhRefresh,\n vsCopy,\n vsLock,\n vsPassFilled,\n} from '@deephaven/icons';\nimport {\n Column,\n ColumnStatistics as APIColumnStatistics,\n} from '@deephaven/jsapi-shim';\nimport Log from '@deephaven/log';\nimport { CancelablePromise, PromiseUtils } from '@deephaven/utils';\nimport { isExpandableGridModel } from '@deephaven/grid';\nimport './ColumnStatistics.scss';\nimport IrisGridModel from './IrisGridModel';\n\nconst log = Log.module('ColumnStatistics');\nconst STATS_LABEL_OVERRIDES: Record<string, string> = {\n SIZE: 'Number of Rows',\n};\n\ninterface Statistic {\n operation: Key;\n className?: string;\n value: unknown;\n type: string;\n}\n\ninterface ColumnStatisticsProps {\n column: Column;\n model: IrisGridModel;\n onStatistics: () => void;\n}\ninterface ColumnStatisticsState {\n error: unknown;\n loading: boolean;\n statistics: Statistic[] | null;\n numRows: number;\n copied: boolean;\n}\n\nclass ColumnStatistics extends Component<\n ColumnStatisticsProps,\n ColumnStatisticsState\n> {\n /** Automatically generate the statistics when the row count is below this threshold */\n static AUTO_GENERATE_LIMIT = 100000;\n\n static getStatsLabel(operation: string): string {\n return (\n STATS_LABEL_OVERRIDES[operation] ??\n operation\n .split(' ')\n .map(w => w[0].toUpperCase() + w.substr(1).toLowerCase())\n .join(' ')\n );\n }\n\n constructor(props: ColumnStatisticsProps) {\n super(props);\n\n this.handleError = this.handleError.bind(this);\n this.handleGenerateStatistics = this.handleGenerateStatistics.bind(this);\n this.handleStatistics = this.handleStatistics.bind(this);\n this.handleCopyHeader = this.handleCopyHeader.bind(this);\n\n this.cancelablePromise = null;\n\n this.state = {\n error: null,\n loading: false,\n statistics: null,\n numRows: 0,\n copied: false,\n };\n }\n\n componentDidMount(): void {\n this.maybeGenerateStatistics();\n }\n\n componentWillUnmount(): void {\n if (this.cancelablePromise) {\n this.cancelablePromise.cancel();\n }\n }\n\n cancelablePromise: CancelablePromise<APIColumnStatistics> | null;\n\n handleCopyHeader(): void {\n this.setState({ copied: true });\n }\n\n maybeGenerateStatistics(): void {\n const { model } = this.props;\n\n const numRows = model.rowCount;\n this.setState({ numRows });\n if (!model.isColumnStatisticsAvailable) {\n this.setState({ loading: false });\n } else if (numRows < ColumnStatistics.AUTO_GENERATE_LIMIT) {\n this.handleGenerateStatistics();\n }\n }\n\n handleGenerateStatistics(): void {\n this.setState({ loading: true });\n\n const { column, model } = this.props;\n\n this.cancelablePromise = PromiseUtils.makeCancelable(\n model.columnStatistics(column)\n );\n\n this.cancelablePromise.then(this.handleStatistics).catch(this.handleError);\n }\n\n handleStatistics(stats: APIColumnStatistics): void {\n log.debug('Received statistics', stats);\n\n const { model, onStatistics } = this.props;\n const statistics: Statistic[] = [];\n\n stats.statisticsMap.forEach((value, operation) => {\n statistics.push({\n operation: ColumnStatistics.getStatsLabel(operation),\n value,\n type: stats.getType(operation),\n });\n });\n\n stats.uniqueValues.forEach((value, operation) => {\n statistics.push({\n operation,\n className: 'column-statistics-unique-value',\n value,\n type: 'long',\n });\n });\n\n this.setState({\n loading: false,\n statistics,\n numRows: model.rowCount,\n });\n\n onStatistics();\n }\n\n handleError(error: Error): void {\n if (error != null && PromiseUtils.isCanceled(error)) {\n log.debug('Called handleError on a cancelled promise result');\n return;\n }\n\n log.error('Error generating statistics', error);\n this.setState({\n error,\n loading: false,\n statistics: null,\n });\n }\n\n render(): React.ReactElement {\n const { column, model } = this.props;\n const { error, loading, statistics, numRows, copied } = this.state;\n const showGenerateStatistics =\n !loading &&\n error == null &&\n statistics == null &&\n model.isColumnStatisticsAvailable;\n const statisticElements = [];\n const columnType = column.type.substring(column.type.lastIndexOf('.') + 1);\n const description = column.description === null ? null : column.description;\n if (statistics != null) {\n for (let i = 0; i < statistics.length; i += 1) {\n const { operation, className, value, type } = statistics[i];\n const formattedValue = !type\n ? model.displayString(value, column.type, column.name)\n : model.displayString(value, type);\n const statisticElement = (\n <React.Fragment key={operation}>\n <div\n className={classNames('column-statistic-operation', className)}\n >\n {operation}\n </div>\n <div className=\"column-statistic-value\">{formattedValue}</div>\n </React.Fragment>\n );\n statisticElements.push(statisticElement);\n }\n }\n const rowCountLabel =\n isExpandableGridModel(model) && model.hasExpandableRows\n ? 'Expanded Rows'\n : 'Number of Rows';\n const formattedRowCount = model.displayString(numRows, 'long');\n const columnIndex = model.getColumnIndexByName(column.name);\n return (\n <div className=\"column-statistics\">\n <div className=\"column-statistics-title\">\n {column.name}\n <span className=\"column-statistics-type\">&nbsp;({columnType})</span>\n <Button\n kind=\"ghost\"\n className=\"column-statistics-copy\"\n icon={copied ? vsPassFilled : vsCopy}\n onClick={() => {\n ContextActionUtils.copyToClipboard(column.name)\n .then(this.handleCopyHeader)\n .catch(e => log.error('Unable to column name', e));\n }}\n tooltip={copied ? 'Copied text' : 'Copy column name'}\n />\n </div>\n {description != null && (\n <div className=\"column-statistics-description\">{description}</div>\n )}\n {columnIndex != null && !model.isColumnMovable(columnIndex) && (\n <div className=\"column-statistics-status\">\n <FontAwesomeIcon\n icon={model.isColumnFrozen(columnIndex) ? dhFreeze : vsLock}\n className=\"mr-1\"\n />\n {model.isColumnFrozen(columnIndex) ? 'Frozen' : 'Not movable'}\n </div>\n )}\n <div className=\"column-statistics-grid\">\n {statistics == null && (\n <>\n <div className=\"column-statistic-operation\">{rowCountLabel}</div>\n <div className=\"column-statistic-value\">{formattedRowCount}</div>\n </>\n )}\n\n {statisticElements}\n </div>\n {showGenerateStatistics && (\n <Button\n kind=\"ghost\"\n className=\"px-0\"\n onClick={this.handleGenerateStatistics}\n >\n Generate Stats\n </Button>\n )}\n {error != null && <div className=\"error-message\">{`${error}`}</div>}\n {statistics && !loading && (\n <Button\n kind=\"ghost\"\n className=\"px-0\"\n onClick={this.handleGenerateStatistics}\n icon={<FontAwesomeIcon icon={dhRefresh} className=\"mr-1\" />}\n >\n Refresh\n </Button>\n )}\n {loading && (\n <div className=\"column-statistics-loading\">\n <LoadingSpinner className=\"mr-2\" />\n Calculating Stats...\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default ColumnStatistics;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"FilterInputField.d.ts","sourceRoot":"","sources":["../src/FilterInputField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAIxE,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAE5C,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0BAA0B,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACvE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACjE,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;IAC7E,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,UAAU,qBAAqB;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AACD;;;GAGG;AACH,cAAM,gBAAiB,SAAQ,aAAa,CAC1C,qBAAqB,EACrB,qBAAqB,CACtB;IACC,MAAM,CAAC,YAAY;;;;;0CAKe,IAAI;wBACtB,IAAI;sBACN,IAAI;qBACL,IAAI;6BACI,IAAI;;MAEvB;gBAEU,KAAK,EAAE,qBAAqB;IAwBxC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI;IAW1D,oBAAoB,IAAI,IAAI;IAI5B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAEpC,YAAY,EAAE,MAAM,CAAC;IAErB,mBAAmB,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IAK5D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,KAAK,IAAI,IAAI;IAIb,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAOxD,YAAY,IAAI,IAAI;IAYpB,YAAY,CAAC,YAAY,UAAO,EAAE,YAAY,UAAO,GAAG,IAAI;IAO5D,WAAW,IAAI,IAAI;IAInB,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAuB3D,SAAS,CAAC,QAAQ,UAAQ,GAAG,IAAI;IAOjC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAsBjE,iBAAiB,CACf,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,GAC5D,IAAI;IAKP,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,MAAM,IAAI,YAAY;CAoDvB;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"FilterInputField.d.ts","sourceRoot":"","sources":["../src/FilterInputField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAIxE,OAAO,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAG5C,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB,EAAE,OAAO,CAAC;IAC7B,0BAA0B,EAAE,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IACvE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACjE,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;IAC7E,UAAU,EAAE,MAAM,CAAC;CACpB;AACD,UAAU,qBAAqB;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACf;AACD;;;GAGG;AACH,cAAM,gBAAiB,SAAQ,aAAa,CAC1C,qBAAqB,EACrB,qBAAqB,CACtB;IACC,MAAM,CAAC,YAAY;;;;;0CAKe,IAAI;wBACtB,IAAI;sBACN,IAAI;qBACL,IAAI;6BACI,IAAI;;MAEvB;gBAEU,KAAK,EAAE,qBAAqB;IAwBxC,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI;IAW1D,oBAAoB,IAAI,IAAI;IAI5B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAEpC,YAAY,EAAE,MAAM,CAAC;IAErB,mBAAmB,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC,CAAC;IAK5D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,KAAK,IAAI,IAAI;IAIb,YAAY,CAAC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAOxD,YAAY,IAAI,IAAI;IAYpB,YAAY,CAAC,YAAY,UAAO,EAAE,YAAY,UAAO,GAAG,IAAI;IAO5D,WAAW,IAAI,IAAI;IAInB,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAuB3D,SAAS,CAAC,QAAQ,UAAQ,GAAG,IAAI;IAOjC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAsBjE,iBAAiB,CACf,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,GAC5D,IAAI;IAKP,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,MAAM,IAAI,YAAY;CAiDvB;AAED,eAAe,gBAAgB,CAAC"}
@@ -6,6 +6,7 @@ import debounce from 'lodash.debounce';
6
6
  import { vsFilter, dhFilterFilled } from '@deephaven/icons';
7
7
  import "./FilterInputField.css";
8
8
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
9
+ import { Button } from '@deephaven/components';
9
10
 
10
11
  /**
11
12
  * An input field showing a input field and button.
@@ -226,9 +227,9 @@ class FilterInputField extends PureComponent {
226
227
  spellCheck: "false"
227
228
  }), /*#__PURE__*/React.createElement("div", {
228
229
  className: "advanced-filter-button-container"
229
- }, /*#__PURE__*/React.createElement("button", {
230
- type: "button",
231
- className: classNames('btn btn-link btn-link-icon advanced-filter-button', {
230
+ }, /*#__PURE__*/React.createElement(Button, {
231
+ kind: "ghost",
232
+ className: classNames('btn-link-icon advanced-filter-button', {
232
233
  'filter-set': isAdvancedFilterSet
233
234
  }),
234
235
  onClick: onAdvancedFiltersTriggered,
@@ -1 +1 @@
1
- {"version":3,"file":"FilterInputField.js","names":["React","PureComponent","classNames","debounce","vsFilter","dhFilterFilled","FontAwesomeIcon","FilterInputField","constructor","props","debounceMs","debouncedSendUpdate","sendUpdate","bind","handleCancel","handleChange","handleCommit","handleFocus","handleBlur","handleKeyDown","handleContextMenu","inputField","value","initialValue","state","isChanged","componentDidMount","focus","componentDidUpdate","prevProps","flush","componentWillUnmount","cancel","setValue","setState","event","target","onDone","setGridFocus","defocusInput","select","relatedTarget","classList","contains","handleTab","backward","onTab","key","stopPropagation","preventDefault","shiftKey","onContextMenu","onChange","render","className","style","isAdvancedFilterSet","onAdvancedFiltersTriggered","undefined"],"sources":["../src/FilterInputField.tsx"],"sourcesContent":["import React, { ChangeEvent, PureComponent, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport { vsFilter, dhFilterFilled } from '@deephaven/icons';\nimport './FilterInputField.scss';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport type { DebouncedFunc } from 'lodash';\n\ninterface FilterInputFieldProps {\n className: string;\n style: React.CSSProperties;\n value: string;\n isAdvancedFilterSet: boolean;\n onAdvancedFiltersTriggered: React.MouseEventHandler<HTMLButtonElement>;\n onChange: (value: string) => void;\n onDone: (setGridFocus?: boolean, defocusInput?: boolean) => void;\n onTab: (backward: boolean) => void;\n onContextMenu: React.MouseEventHandler<HTMLInputElement | HTMLButtonElement>;\n debounceMs: number;\n}\ninterface FilterInputFieldState {\n isChanged: boolean;\n value: string;\n}\n/**\n * An input field showing a input field and button.\n * Debounces changes.\n */\nclass FilterInputField extends PureComponent<\n FilterInputFieldProps,\n FilterInputFieldState\n> {\n static defaultProps = {\n style: {},\n className: '',\n value: '',\n isAdvancedFilterSet: false,\n onAdvancedFiltersTriggered: (): void => undefined,\n onChange: (): void => undefined,\n onDone: (): void => undefined,\n onTab: (): void => undefined,\n onContextMenu: (): void => undefined,\n debounceMs: 150,\n };\n\n constructor(props: FilterInputFieldProps) {\n super(props);\n\n const { debounceMs } = props;\n\n this.debouncedSendUpdate = debounce(this.sendUpdate.bind(this), debounceMs);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleCommit = this.handleCommit.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleContextMenu = this.handleContextMenu.bind(this);\n\n this.inputField = null;\n\n const { value } = props;\n this.initialValue = value;\n this.state = {\n isChanged: false,\n value,\n };\n }\n\n componentDidMount(): void {\n this.inputField?.focus();\n }\n\n componentDidUpdate(prevProps: FilterInputFieldProps): void {\n const { debounceMs } = this.props;\n if (prevProps.debounceMs !== debounceMs) {\n this.debouncedSendUpdate.flush();\n this.debouncedSendUpdate = debounce(\n this.sendUpdate.bind(this),\n debounceMs\n );\n }\n }\n\n componentWillUnmount(): void {\n this.debouncedSendUpdate.cancel();\n }\n\n inputField: HTMLInputElement | null;\n\n initialValue: string;\n\n debouncedSendUpdate: DebouncedFunc<(value: string) => void>;\n\n // clear filters needs to be able to reset the value externally\n // and due to the way this component handles its own debouncing\n // this was easier than moving state up.\n setValue(value: string): void {\n this.initialValue = value;\n this.setState({ value });\n }\n\n focus(): void {\n this.inputField?.focus();\n }\n\n handleChange(event: ChangeEvent<HTMLInputElement>): void {\n const { value } = event.target;\n this.setState({ value, isChanged: true });\n\n this.debouncedSendUpdate(value);\n }\n\n handleCancel(): void {\n this.debouncedSendUpdate.cancel();\n const { initialValue } = this;\n const { isChanged } = this.state;\n if (isChanged) {\n this.sendUpdate(initialValue);\n }\n\n const { onDone } = this.props;\n onDone();\n }\n\n handleCommit(setGridFocus = true, defocusInput = true): void {\n this.debouncedSendUpdate.flush();\n\n const { onDone } = this.props;\n onDone(setGridFocus, defocusInput);\n }\n\n handleFocus(): void {\n this.inputField?.select();\n }\n\n handleBlur(event: React.FocusEvent<HTMLInputElement>): void {\n const { relatedTarget } = event;\n // handleCommit results in a call that steals focus\n if (\n relatedTarget != null &&\n relatedTarget.classList.contains('context-menu-container')\n ) {\n // input blurred by calling context-menu\n // don't set grid focus, but do null column focus\n this.handleCommit(false, true);\n } else if (\n relatedTarget != null &&\n relatedTarget.classList.contains('advanced-filter-button')\n ) {\n // blurred by clicking an advanced filter button\n // don't set grid focus, maintain focusedFilterBarColumn state\n this.handleCommit(false, false);\n } else {\n // clear both, blurred elsewhere\n this.handleCommit(true, true);\n }\n }\n\n handleTab(backward = false): void {\n this.debouncedSendUpdate.flush();\n\n const { onTab } = this.props;\n onTab(backward);\n }\n\n handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void {\n switch (event.key) {\n case 'Escape':\n event.stopPropagation();\n event.preventDefault();\n this.handleCancel();\n break;\n case 'Enter':\n event.stopPropagation();\n event.preventDefault();\n this.handleCommit();\n break;\n case 'Tab':\n event.stopPropagation();\n event.preventDefault();\n this.handleTab(event.shiftKey);\n break;\n default:\n break;\n }\n }\n\n handleContextMenu(\n event: React.MouseEvent<HTMLInputElement | HTMLButtonElement>\n ): void {\n const { onContextMenu } = this.props;\n onContextMenu(event);\n }\n\n sendUpdate(value: string): void {\n const { onChange } = this.props;\n onChange(value);\n }\n\n render(): ReactElement {\n const {\n className,\n style,\n isAdvancedFilterSet,\n onAdvancedFiltersTriggered,\n } = this.props;\n const { value } = this.state;\n return (\n <div\n style={style}\n className=\"iris-grid-input-autosized-wrapper\"\n data-value={value} // used by css based autosizer\n >\n <input\n ref={inputField => {\n this.inputField = inputField;\n }}\n className={classNames('iris-grid-input-field', className)}\n type=\"text\"\n value={value}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onContextMenu={this.handleContextMenu}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n />\n <div className=\"advanced-filter-button-container\">\n <button\n type=\"button\"\n className={classNames(\n 'btn btn-link btn-link-icon advanced-filter-button',\n {\n 'filter-set': isAdvancedFilterSet,\n }\n )}\n onClick={onAdvancedFiltersTriggered}\n onContextMenu={this.handleContextMenu}\n >\n <div className=\"fa-layers \">\n <FontAwesomeIcon icon={dhFilterFilled} className=\"filter-solid\" />\n <FontAwesomeIcon icon={vsFilter} className=\"filter-light\" />\n </div>\n </button>\n </div>\n </div>\n );\n }\n}\n\nexport default FilterInputField;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FilterInputField.js","names":["React","PureComponent","classNames","debounce","vsFilter","dhFilterFilled","FontAwesomeIcon","Button","FilterInputField","constructor","props","debounceMs","debouncedSendUpdate","sendUpdate","bind","handleCancel","handleChange","handleCommit","handleFocus","handleBlur","handleKeyDown","handleContextMenu","inputField","value","initialValue","state","isChanged","componentDidMount","focus","componentDidUpdate","prevProps","flush","componentWillUnmount","cancel","setValue","setState","event","target","onDone","setGridFocus","defocusInput","select","relatedTarget","classList","contains","handleTab","backward","onTab","key","stopPropagation","preventDefault","shiftKey","onContextMenu","onChange","render","className","style","isAdvancedFilterSet","onAdvancedFiltersTriggered","undefined"],"sources":["../src/FilterInputField.tsx"],"sourcesContent":["import React, { ChangeEvent, PureComponent, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport debounce from 'lodash.debounce';\nimport { vsFilter, dhFilterFilled } from '@deephaven/icons';\nimport './FilterInputField.scss';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport type { DebouncedFunc } from 'lodash';\nimport { Button } from '@deephaven/components';\n\ninterface FilterInputFieldProps {\n className: string;\n style: React.CSSProperties;\n value: string;\n isAdvancedFilterSet: boolean;\n onAdvancedFiltersTriggered: React.MouseEventHandler<HTMLButtonElement>;\n onChange: (value: string) => void;\n onDone: (setGridFocus?: boolean, defocusInput?: boolean) => void;\n onTab: (backward: boolean) => void;\n onContextMenu: React.MouseEventHandler<HTMLInputElement | HTMLButtonElement>;\n debounceMs: number;\n}\ninterface FilterInputFieldState {\n isChanged: boolean;\n value: string;\n}\n/**\n * An input field showing a input field and button.\n * Debounces changes.\n */\nclass FilterInputField extends PureComponent<\n FilterInputFieldProps,\n FilterInputFieldState\n> {\n static defaultProps = {\n style: {},\n className: '',\n value: '',\n isAdvancedFilterSet: false,\n onAdvancedFiltersTriggered: (): void => undefined,\n onChange: (): void => undefined,\n onDone: (): void => undefined,\n onTab: (): void => undefined,\n onContextMenu: (): void => undefined,\n debounceMs: 150,\n };\n\n constructor(props: FilterInputFieldProps) {\n super(props);\n\n const { debounceMs } = props;\n\n this.debouncedSendUpdate = debounce(this.sendUpdate.bind(this), debounceMs);\n this.handleCancel = this.handleCancel.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleCommit = this.handleCommit.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleContextMenu = this.handleContextMenu.bind(this);\n\n this.inputField = null;\n\n const { value } = props;\n this.initialValue = value;\n this.state = {\n isChanged: false,\n value,\n };\n }\n\n componentDidMount(): void {\n this.inputField?.focus();\n }\n\n componentDidUpdate(prevProps: FilterInputFieldProps): void {\n const { debounceMs } = this.props;\n if (prevProps.debounceMs !== debounceMs) {\n this.debouncedSendUpdate.flush();\n this.debouncedSendUpdate = debounce(\n this.sendUpdate.bind(this),\n debounceMs\n );\n }\n }\n\n componentWillUnmount(): void {\n this.debouncedSendUpdate.cancel();\n }\n\n inputField: HTMLInputElement | null;\n\n initialValue: string;\n\n debouncedSendUpdate: DebouncedFunc<(value: string) => void>;\n\n // clear filters needs to be able to reset the value externally\n // and due to the way this component handles its own debouncing\n // this was easier than moving state up.\n setValue(value: string): void {\n this.initialValue = value;\n this.setState({ value });\n }\n\n focus(): void {\n this.inputField?.focus();\n }\n\n handleChange(event: ChangeEvent<HTMLInputElement>): void {\n const { value } = event.target;\n this.setState({ value, isChanged: true });\n\n this.debouncedSendUpdate(value);\n }\n\n handleCancel(): void {\n this.debouncedSendUpdate.cancel();\n const { initialValue } = this;\n const { isChanged } = this.state;\n if (isChanged) {\n this.sendUpdate(initialValue);\n }\n\n const { onDone } = this.props;\n onDone();\n }\n\n handleCommit(setGridFocus = true, defocusInput = true): void {\n this.debouncedSendUpdate.flush();\n\n const { onDone } = this.props;\n onDone(setGridFocus, defocusInput);\n }\n\n handleFocus(): void {\n this.inputField?.select();\n }\n\n handleBlur(event: React.FocusEvent<HTMLInputElement>): void {\n const { relatedTarget } = event;\n // handleCommit results in a call that steals focus\n if (\n relatedTarget != null &&\n relatedTarget.classList.contains('context-menu-container')\n ) {\n // input blurred by calling context-menu\n // don't set grid focus, but do null column focus\n this.handleCommit(false, true);\n } else if (\n relatedTarget != null &&\n relatedTarget.classList.contains('advanced-filter-button')\n ) {\n // blurred by clicking an advanced filter button\n // don't set grid focus, maintain focusedFilterBarColumn state\n this.handleCommit(false, false);\n } else {\n // clear both, blurred elsewhere\n this.handleCommit(true, true);\n }\n }\n\n handleTab(backward = false): void {\n this.debouncedSendUpdate.flush();\n\n const { onTab } = this.props;\n onTab(backward);\n }\n\n handleKeyDown(event: React.KeyboardEvent<HTMLInputElement>): void {\n switch (event.key) {\n case 'Escape':\n event.stopPropagation();\n event.preventDefault();\n this.handleCancel();\n break;\n case 'Enter':\n event.stopPropagation();\n event.preventDefault();\n this.handleCommit();\n break;\n case 'Tab':\n event.stopPropagation();\n event.preventDefault();\n this.handleTab(event.shiftKey);\n break;\n default:\n break;\n }\n }\n\n handleContextMenu(\n event: React.MouseEvent<HTMLInputElement | HTMLButtonElement>\n ): void {\n const { onContextMenu } = this.props;\n onContextMenu(event);\n }\n\n sendUpdate(value: string): void {\n const { onChange } = this.props;\n onChange(value);\n }\n\n render(): ReactElement {\n const {\n className,\n style,\n isAdvancedFilterSet,\n onAdvancedFiltersTriggered,\n } = this.props;\n const { value } = this.state;\n return (\n <div\n style={style}\n className=\"iris-grid-input-autosized-wrapper\"\n data-value={value} // used by css based autosizer\n >\n <input\n ref={inputField => {\n this.inputField = inputField;\n }}\n className={classNames('iris-grid-input-field', className)}\n type=\"text\"\n value={value}\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n onChange={this.handleChange}\n onKeyDown={this.handleKeyDown}\n onContextMenu={this.handleContextMenu}\n autoComplete=\"off\"\n autoCorrect=\"off\"\n autoCapitalize=\"off\"\n spellCheck=\"false\"\n />\n <div className=\"advanced-filter-button-container\">\n <Button\n kind=\"ghost\"\n className={classNames('btn-link-icon advanced-filter-button', {\n 'filter-set': isAdvancedFilterSet,\n })}\n onClick={onAdvancedFiltersTriggered}\n onContextMenu={this.handleContextMenu}\n >\n <div className=\"fa-layers \">\n <FontAwesomeIcon icon={dhFilterFilled} className=\"filter-solid\" />\n <FontAwesomeIcon icon={vsFilter} className=\"filter-light\" />\n </div>\n </Button>\n </div>\n </div>\n );\n }\n}\n\nexport default FilterInputField;\n"],"mappings":"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"}
@@ -312,7 +312,7 @@ export declare class IrisGrid extends Component<IrisGridProps, IrisGridState> {
312
312
  isMenuShown: any;
313
313
  }>;
314
314
  getCachedFilter: ((customFilters: any, quickFilters: any, advancedFilters: any, partitionFilters: any, searchFilter: any) => any[]) & memoize.Memoized<(customFilters: any, quickFilters: any, advancedFilters: any, partitionFilters: any, searchFilter: any) => any[]>;
315
- getCachedTheme: ((theme: GridThemeType, isEditable: boolean) => Partial<IrisGridThemeType>) & memoize.Memoized<(theme: GridThemeType, isEditable: boolean) => Partial<IrisGridThemeType>>;
315
+ getCachedTheme: ((theme: GridThemeType, isEditable: boolean, floatingRowCount: number) => Partial<IrisGridThemeType>) & memoize.Memoized<(theme: GridThemeType, isEditable: boolean, floatingRowCount: number) => Partial<IrisGridThemeType>>;
316
316
  getValueForCell(columnIndex: GridRangeIndex, rowIndex: GridRangeIndex, rawValue?: boolean): string | unknown;
317
317
  getModelColumn(columnIndex: GridRangeIndex): ModelIndex | null | undefined;
318
318
  getModelRow(rowIndex: GridRangeIndex): ModelIndex | null | undefined;
@@ -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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"}
package/dist/IrisGrid.js CHANGED
@@ -16,7 +16,7 @@ import PropTypes from 'prop-types';
16
16
  import deepEqual from 'deep-equal';
17
17
  import Log from '@deephaven/log';
18
18
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
19
- import { ContextActionUtils, ContextActions, Stack, Menu, Page, Popper, ThemeExport, Tooltip } from '@deephaven/components';
19
+ import { ContextActionUtils, ContextActions, Stack, Menu, Page, Popper, ThemeExport, Tooltip, Button } from '@deephaven/components';
20
20
  import { Grid, GridRange, GridUtils, isEditableGridModel } from '@deephaven/grid';
21
21
  import { dhEye, dhFilterFilled, dhGraphLineUp, dhTriangleDownSquare, vsClose, vsCloudDownload, vsEdit, vsFilter, vsMenu, vsReply, vsRuby, vsSearch, vsSplitHorizontal, vsSymbolOperator, vsTools } from '@deephaven/icons';
22
22
  import dh from '@deephaven/jsapi-shim';
@@ -361,8 +361,10 @@ export class IrisGrid extends Component {
361
361
  max: 1
362
362
  }));
363
363
 
364
- _defineProperty(this, "getCachedTheme", memoize((theme, isEditable) => _objectSpread(_objectSpread(_objectSpread({}, IrisGridTheme), theme), {}, {
365
- autoSelectRow: !isEditable
364
+ _defineProperty(this, "getCachedTheme", memoize((theme, isEditable, floatingRowCount) => _objectSpread(_objectSpread(_objectSpread({}, IrisGridTheme), theme), {}, {
365
+ autoSelectRow: !isEditable,
366
+ // We only show the row footers when we have floating rows for aggregations
367
+ rowFooterWidth: floatingRowCount > 0 ? theme.rowFooterWidth : 0
366
368
  }), {
367
369
  max: 1
368
370
  }));
@@ -849,7 +851,7 @@ export class IrisGrid extends Component {
849
851
  model,
850
852
  theme
851
853
  } = this.props;
852
- return this.getCachedTheme(theme, (_ref5 = isEditableGridModel(model) && model.isEditable) !== null && _ref5 !== void 0 ? _ref5 : false);
854
+ return this.getCachedTheme(theme, (_ref5 = isEditableGridModel(model) && model.isEditable) !== null && _ref5 !== void 0 ? _ref5 : false, model.floatingTopRowCount + model.floatingBottomRowCount);
853
855
  }
854
856
 
855
857
  getVisibleColumn(modelIndex) {
@@ -1499,15 +1501,18 @@ export class IrisGrid extends Component {
1499
1501
  }
1500
1502
 
1501
1503
  focusFilterBar(column) {
1504
+ var {
1505
+ movedColumns
1506
+ } = this.state;
1502
1507
  var {
1503
1508
  model
1504
1509
  } = this.props;
1505
1510
  var {
1506
1511
  columnCount
1507
1512
  } = model;
1508
- var modelColumn = this.getModelColumn(column);
1513
+ var modelColumn = GridUtils.getModelIndex(column, movedColumns);
1509
1514
 
1510
- if (column == null || modelColumn == null || column < 0 || columnCount <= column || !model.isFilterable(modelColumn)) {
1515
+ if (column == null || column < 0 || columnCount <= column || !model.isFilterable(modelColumn)) {
1511
1516
  this.setState({
1512
1517
  focusedFilterBarColumn: null
1513
1518
  });
@@ -1520,7 +1525,6 @@ export class IrisGrid extends Component {
1520
1525
  } = this.state;
1521
1526
  assertNotNull(metrics);
1522
1527
  var {
1523
- gridX,
1524
1528
  left,
1525
1529
  rightVisible,
1526
1530
  lastLeft
@@ -1537,9 +1541,10 @@ export class IrisGrid extends Component {
1537
1541
 
1538
1542
  var metricState = (_this$grid3 = this.grid) === null || _this$grid3 === void 0 ? void 0 : _this$grid3.getMetricState();
1539
1543
  assertNotNull(metricState);
1540
- var newLeft = metricCalculator.getLastLeft(metricState, column, gridX);
1544
+ var newLeft = metricCalculator.getLastLeft(metricState, column);
1541
1545
  (_this$grid4 = this.grid) === null || _this$grid4 === void 0 ? void 0 : _this$grid4.setViewState({
1542
- left: Math.min(newLeft, lastLeft)
1546
+ left: Math.min(newLeft, lastLeft),
1547
+ leftOffset: 0
1543
1548
  }, true);
1544
1549
  }
1545
1550
 
@@ -3082,7 +3087,8 @@ export class IrisGrid extends Component {
3082
3087
  gridX,
3083
3088
  gridY,
3084
3089
  visibleColumnXs,
3085
- visibleColumnWidths
3090
+ visibleColumnWidths,
3091
+ width
3086
3092
  } = metrics;
3087
3093
  var columnX = visibleColumnXs.get(focusedFilterBarColumn);
3088
3094
  var columnWidth = visibleColumnWidths.get(focusedFilterBarColumn);
@@ -3099,7 +3105,8 @@ export class IrisGrid extends Component {
3099
3105
  var style = {
3100
3106
  top: y,
3101
3107
  left: x,
3102
- minWidth: fieldWidth,
3108
+ minWidth: Math.min(fieldWidth, width - x),
3109
+ // Don't cause overflow
3103
3110
  height: fieldHeight
3104
3111
  };
3105
3112
  var _value4 = '';
@@ -3228,9 +3235,9 @@ export class IrisGrid extends Component {
3228
3235
  }),
3229
3236
  key: columnIndex,
3230
3237
  style: _style
3231
- }, isFilterVisible && /*#__PURE__*/React.createElement("button", {
3232
- type: "button",
3233
- className: classNames('btn btn-link btn-link-icon advanced-filter-button', {
3238
+ }, isFilterVisible && /*#__PURE__*/React.createElement(Button, {
3239
+ kind: "ghost",
3240
+ className: classNames('btn-link-icon advanced-filter-button', {
3234
3241
  'filter-set': isFilterSet
3235
3242
  }),
3236
3243
  onClick: () => {
@@ -3553,15 +3560,16 @@ export class IrisGrid extends Component {
3553
3560
  frozenColumns: frozenColumns
3554
3561
  }), !isMenuShown && /*#__PURE__*/React.createElement("div", {
3555
3562
  className: "grid-settings-button"
3556
- }, /*#__PURE__*/React.createElement("button", {
3557
- type: "button",
3563
+ }, /*#__PURE__*/React.createElement(Button, {
3564
+ kind: "ghost",
3558
3565
  "data-testid": "btn-iris-grid-settings-button-".concat(name),
3559
- className: "btn btn-link btn-link-icon",
3560
- onClick: this.handleMenu
3561
- }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
3562
- icon: vsMenu,
3563
- transform: "up-1"
3564
- }))), focusField, loadingElement, filterBar, columnTooltip, advancedFilterMenus, overflowButtonTooltipProps && this.getOverflowButtonTooltip(overflowButtonTooltipProps)), /*#__PURE__*/React.createElement(GotoRow, {
3566
+ onClick: this.handleMenu,
3567
+ icon: /*#__PURE__*/React.createElement(FontAwesomeIcon, {
3568
+ icon: vsMenu,
3569
+ transform: "up-1"
3570
+ }),
3571
+ tooltip: "Table Options"
3572
+ })), focusField, loadingElement, filterBar, columnTooltip, advancedFilterMenus, overflowButtonTooltipProps && this.getOverflowButtonTooltip(overflowButtonTooltipProps)), /*#__PURE__*/React.createElement(GotoRow, {
3565
3573
  model: model,
3566
3574
  isShown: isGotoRowShown,
3567
3575
  gotoRow: gotoRow,