@deephaven/iris-grid 0.42.1-beta.2 → 0.42.1-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -30,6 +30,7 @@ interface AdvancedFilterCreatorState {
30
30
  selectedValues: unknown[];
31
31
  valuesTableError: null;
32
32
  valuesTable?: Table;
33
+ isSortable: boolean;
33
34
  }
34
35
  declare class AdvancedFilterCreator extends PureComponent<AdvancedFilterCreatorProps, AdvancedFilterCreatorState> {
35
36
  static debounceFilterUpdate: number;
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedFilterCreator.d.ts","sourceRoot":"","sources":["../src/AdvancedFilterCreator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AdvancedFilterCreator.d.ts","sourceRoot":"","sources":["../src/AdvancedFilterCreator.tsx"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@ import { dhSortAmountDown, dhNewCircleLargeFilled } from '@deephaven/icons';
13
13
  import { TableUtils } from '@deephaven/jsapi-utils';
14
14
  import { Button, ContextActionUtils } from '@deephaven/components';
15
15
  import Log from '@deephaven/log';
16
- import { PromiseUtils } from '@deephaven/utils';
16
+ import { assertNotNull, PromiseUtils } from '@deephaven/utils';
17
17
  import shortid from 'shortid';
18
18
  import AdvancedFilterCreatorFilterItem from "./AdvancedFilterCreatorFilterItem.js";
19
19
  import AdvancedFilterCreatorSelectValue from "./AdvancedFilterCreatorSelectValue.js";
@@ -48,6 +48,8 @@ class AdvancedFilterCreator extends PureComponent {
48
48
  this.handleUpdateTimeout = this.handleUpdateTimeout.bind(this);
49
49
  this.focusTrapContainer = /*#__PURE__*/React.createRef();
50
50
  var {
51
+ model,
52
+ column,
51
53
  options
52
54
  } = props;
53
55
  var {
@@ -80,6 +82,9 @@ class AdvancedFilterCreator extends PureComponent {
80
82
  if (selectedValues == null) {
81
83
  selectedValues = [];
82
84
  }
85
+ var columnIndex = model.getColumnIndexByName(column.name);
86
+ assertNotNull(columnIndex);
87
+ var isSortable = model.isColumnSortable(columnIndex);
83
88
  this.state = {
84
89
  // Filter items
85
90
  filterItems,
@@ -88,7 +93,8 @@ class AdvancedFilterCreator extends PureComponent {
88
93
  invertSelection,
89
94
  selectedValues,
90
95
  valuesTableError: null,
91
- valuesTable: undefined
96
+ valuesTable: undefined,
97
+ isSortable
92
98
  };
93
99
  }
94
100
  componentDidMount() {
@@ -120,8 +126,11 @@ class AdvancedFilterCreator extends PureComponent {
120
126
  }
121
127
  this.valuesTablePromise = TableUtils.makeCancelableTablePromise(model.valuesTable(column));
122
128
  this.valuesTablePromise.then(valuesTable => {
123
- var sort = valuesTable.columns[0].sort().asc();
124
- valuesTable.applySort([sort]);
129
+ var _valuesTable$columns$;
130
+ if ((_valuesTable$columns$ = valuesTable.columns[0].isSortable) !== null && _valuesTable$columns$ !== void 0 ? _valuesTable$columns$ : true) {
131
+ var sort = valuesTable.columns[0].sort().asc();
132
+ valuesTable.applySort([sort]);
133
+ }
125
134
  this.setState({
126
135
  valuesTable
127
136
  });
@@ -303,7 +312,12 @@ class AdvancedFilterCreator extends PureComponent {
303
312
  column,
304
313
  onSortChange
305
314
  } = this.props;
306
- onSortChange(column, direction, addToExisting);
315
+ var {
316
+ isSortable
317
+ } = this.state;
318
+ if (isSortable) {
319
+ onSortChange(column, direction, addToExisting);
320
+ }
307
321
  }
308
322
  startUpdateTimer() {
309
323
  this.stopUpdateTimer();
@@ -365,7 +379,8 @@ class AdvancedFilterCreator extends PureComponent {
365
379
  invertSelection,
366
380
  selectedValues,
367
381
  valuesTable,
368
- valuesTableError
382
+ valuesTableError,
383
+ isSortable
369
384
  } = this.state;
370
385
  var {
371
386
  dh,
@@ -468,7 +483,8 @@ class AdvancedFilterCreator extends PureComponent {
468
483
  }),
469
484
  onClick: this.handleSortDown,
470
485
  icon: dhSortAmountDown,
471
- tooltip: "Sort ".concat(column.name, " Descending")
486
+ tooltip: isSortable ? "Sort ".concat(column.name, " Descending") : 'Not sortable',
487
+ disabled: !isSortable
472
488
  }), /*#__PURE__*/React.createElement(Button, {
473
489
  kind: "ghost",
474
490
  className: classNames('sort-operator', {
@@ -479,7 +495,8 @@ class AdvancedFilterCreator extends PureComponent {
479
495
  icon: dhSortAmountDown,
480
496
  rotation: 180
481
497
  }),
482
- tooltip: "Sort ".concat(column.name, " Ascending")
498
+ tooltip: isSortable ? "Sort ".concat(column.name, " Ascending") : 'Not sortable',
499
+ disabled: !isSortable
483
500
  }))), /*#__PURE__*/React.createElement("hr", null), /*#__PURE__*/React.createElement("div", {
484
501
  className: "advanced-filter-column-name"
485
502
  }, column.name, "\xA0", /*#__PURE__*/React.createElement("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedFilterCreator.js","names":["React","PureComponent","classNames","FontAwesomeIcon","memoize","Operator","FilterOperator","assertOperatorValue","assertFilterOperatorValue","dhSortAmountDown","dhNewCircleLargeFilled","TableUtils","Button","ContextActionUtils","Log","PromiseUtils","shortid","AdvancedFilterCreatorFilterItem","AdvancedFilterCreatorSelectValue","log","module","AdvancedFilterCreator","makeFilterItem","key","constructor","props","columnType","getFilterTypes","handleAddAnd","bind","handleAddOr","handleChangeFilterOperator","handleDone","handleFilterChange","handleFilterDelete","handleSelectValueChange","handleReset","handleSortDown","handleSortUp","handleSubmit","handleFocusTrapStart","handleFocusTrapEnd","handleUpdateTimeout","focusTrapContainer","createRef","options","filterOperators","invertSelection","selectedValues","filterItems","map","selectedType","value","length","push","state","valuesTableError","valuesTable","undefined","componentDidMount","initValuesTable","componentWillUnmount","debounceTimeout","clearTimeout","sendUpdate","valuesTablePromise","cancel","getFilterChangeHandler","index","getFilterDeleteHandler","model","column","isValuesTableAvailable","debug","makeCancelableTablePromise","then","sort","columns","asc","applySort","setState","catch","error","isCanceled","current","querySelector","focus","inputs","querySelectorAll","element","concat","and","or","operator","startUpdateTimer","filterIndex","splice","event","addToExisting","isModifierKeyDown","sortTable","sortDirection","descending","ascending","stopUpdateTimer","preventDefault","onDone","shouldShowAddFilter","filterItem","direction","onSortChange","setTimeout","debounceFilterUpdate","onFilterChange","tableUtils","formatter","items","filter","operators","i","slice","makeAdvancedFilter","timeZone","render","dh","isBoolean","isBooleanType","type","isDateType","filterTypes","substring","lastIndexOf","filterItemElements","filterOperator","isAndFilter","operatorElement","active","showAddFilterItem","addFilterItem","hidden","name"],"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 OperatorValue as FilterOperatorValue,\n TypeValue as FilterTypeValue,\n assertOperatorValue as assertFilterOperatorValue,\n} from '@deephaven/filters';\nimport { dhSortAmountDown, dhNewCircleLargeFilled } from '@deephaven/icons';\nimport {\n Formatter,\n TableUtils,\n SortDirection,\n FilterItem,\n} from '@deephaven/jsapi-utils';\nimport { Button, ContextActionUtils } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { CancelablePromise, PromiseUtils } from '@deephaven/utils';\nimport type { Column, FilterCondition, Table } from '@deephaven/jsapi-types';\nimport shortid from 'shortid';\nimport AdvancedFilterCreatorFilterItem from './AdvancedFilterCreatorFilterItem';\nimport AdvancedFilterCreatorSelectValue from './AdvancedFilterCreatorSelectValue';\nimport './AdvancedFilterCreator.scss';\nimport IrisGridModel from './IrisGridModel';\nimport { 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: Column;\n onFilterChange: (\n column: Column,\n filter: FilterCondition | null,\n options: AdvancedFilterOptions\n ) => void;\n onSortChange: (\n column: 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?: Table;\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: shortid() };\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 = this.handleChangeFilterOperator.bind(\n this\n );\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 { 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: shortid(),\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 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 }\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<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 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 (this.focusTrapContainer?.current?.querySelector(\n 'button,select,input,textarea'\n ) as HTMLElement).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 onSortChange(column, direction, addToExisting);\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 {\n filterItems,\n filterOperators,\n invertSelection,\n 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 } = 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={`Sort ${column.name} Descending`}\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={`Sort ${column.name} Ascending`}\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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"}
1
+ {"version":3,"file":"AdvancedFilterCreator.js","names":["React","PureComponent","classNames","FontAwesomeIcon","memoize","Operator","FilterOperator","assertOperatorValue","assertFilterOperatorValue","dhSortAmountDown","dhNewCircleLargeFilled","TableUtils","Button","ContextActionUtils","Log","assertNotNull","PromiseUtils","shortid","AdvancedFilterCreatorFilterItem","AdvancedFilterCreatorSelectValue","log","module","AdvancedFilterCreator","makeFilterItem","key","constructor","props","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","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","columns","sort","asc","applySort","setState","catch","error","isCanceled","current","querySelector","focus","inputs","querySelectorAll","element","concat","and","or","operator","startUpdateTimer","filterIndex","splice","event","addToExisting","isModifierKeyDown","sortTable","sortDirection","descending","ascending","stopUpdateTimer","preventDefault","onDone","shouldShowAddFilter","filterItem","direction","onSortChange","setTimeout","debounceFilterUpdate","onFilterChange","tableUtils","formatter","items","filter","operators","i","slice","makeAdvancedFilter","timeZone","render","dh","isBoolean","isBooleanType","type","isDateType","filterTypes","substring","lastIndexOf","filterItemElements","filterOperator","isAndFilter","operatorElement","active","showAddFilterItem","addFilterItem","hidden"],"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 OperatorValue as FilterOperatorValue,\n TypeValue as FilterTypeValue,\n assertOperatorValue as assertFilterOperatorValue,\n} from '@deephaven/filters';\nimport { dhSortAmountDown, dhNewCircleLargeFilled } from '@deephaven/icons';\nimport {\n Formatter,\n TableUtils,\n SortDirection,\n FilterItem,\n} from '@deephaven/jsapi-utils';\nimport { Button, ContextActionUtils } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport {\n assertNotNull,\n CancelablePromise,\n PromiseUtils,\n} from '@deephaven/utils';\nimport type { Column, FilterCondition, Table } from '@deephaven/jsapi-types';\nimport shortid from 'shortid';\nimport AdvancedFilterCreatorFilterItem from './AdvancedFilterCreatorFilterItem';\nimport AdvancedFilterCreatorSelectValue from './AdvancedFilterCreatorSelectValue';\nimport './AdvancedFilterCreator.scss';\nimport IrisGridModel from './IrisGridModel';\nimport { 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: Column;\n onFilterChange: (\n column: Column,\n filter: FilterCondition | null,\n options: AdvancedFilterOptions\n ) => void;\n onSortChange: (\n column: 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?: 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: shortid() };\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 = this.handleChangeFilterOperator.bind(\n this\n );\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: shortid(),\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<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 (this.focusTrapContainer?.current?.querySelector(\n 'button,select,input,textarea'\n ) as HTMLElement).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 {\n filterItems,\n filterOperators,\n invertSelection,\n 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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnStatistics.d.ts","sourceRoot":"","sources":["../src/ColumnStatistics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAK9C,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,IAAI,mBAAmB,EACxC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,yBAAyB,CAAC;AACjC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAO5C,UAAU,SAAS;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AACD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,cAAM,gBAAiB,SAAQ,SAAS,CACtC,qBAAqB,EACrB,qBAAqB,CACtB;IACC,uFAAuF;IACvF,MAAM,CAAC,mBAAmB,SAAU;IAEpC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;gBAUnC,KAAK,EAAE,qBAAqB;IAiBxC,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAM5B,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAEjE,uBAAuB,IAAI,IAAI;IAY/B,wBAAwB,IAAI,IAAI;IAYhC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAgClD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAc/B,MAAM,IAAI,KAAK,CAAC,YAAY;CAkG7B;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"ColumnStatistics.d.ts","sourceRoot":"","sources":["../src/ColumnStatistics.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAK9C,OAAO,KAAK,EACV,MAAM,EACN,gBAAgB,IAAI,mBAAmB,EACxC,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAgB,MAAM,kBAAkB,CAAC;AAEnE,OAAO,yBAAyB,CAAC;AACjC,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAO5C,UAAU,SAAS;IACjB,SAAS,EAAE,GAAG,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,qBAAqB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B;AACD,UAAU,qBAAqB;IAC7B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,cAAM,gBAAiB,SAAQ,SAAS,CACtC,qBAAqB,EACrB,qBAAqB,CACtB;IACC,uFAAuF;IACvF,MAAM,CAAC,mBAAmB,SAAU;IAEpC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;gBAUnC,KAAK,EAAE,qBAAqB;IAiBxC,iBAAiB,IAAI,IAAI;IAIzB,oBAAoB,IAAI,IAAI;IAM5B,iBAAiB,EAAE,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC;IAEjE,uBAAuB,IAAI,IAAI;IAY/B,wBAAwB,IAAI,IAAI;IAYhC,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAgClD,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAc/B,MAAM,IAAI,KAAK,CAAC,YAAY;CAwG7B;AAED,eAAe,gBAAgB,CAAC"}
@@ -5,7 +5,7 @@ import React, { Component } from 'react';
5
5
  import classNames from 'classnames';
6
6
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
7
7
  import { Button, CopyButton, LoadingSpinner } from '@deephaven/components';
8
- import { dhFreeze, dhRefresh, vsLock } from '@deephaven/icons';
8
+ import { dhFreeze, dhRefresh, dhSortSlash, vsLock } from '@deephaven/icons';
9
9
  import Log from '@deephaven/log';
10
10
  import { PromiseUtils } from '@deephaven/utils';
11
11
  import { isExpandableGridModel } from '@deephaven/grid';
@@ -160,7 +160,12 @@ class ColumnStatistics extends Component {
160
160
  copy: column.name
161
161
  })), description != null && /*#__PURE__*/React.createElement("div", {
162
162
  className: "column-statistics-description"
163
- }, description), columnIndex != null && !model.isColumnMovable(columnIndex) && /*#__PURE__*/React.createElement("div", {
163
+ }, description), columnIndex != null && !model.isColumnSortable(columnIndex) && /*#__PURE__*/React.createElement("div", {
164
+ className: "column-statistics-status"
165
+ }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
166
+ icon: dhSortSlash,
167
+ className: "mr-1"
168
+ }), "Not sortable"), columnIndex != null && !model.isColumnMovable(columnIndex) && /*#__PURE__*/React.createElement("div", {
164
169
  className: "column-statistics-status"
165
170
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
166
171
  icon: model.isColumnFrozen(columnIndex) ? dhFreeze : vsLock,
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnStatistics.js","names":["React","Component","classNames","FontAwesomeIcon","Button","CopyButton","LoadingSpinner","dhFreeze","dhRefresh","vsLock","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","cancelablePromise","state","error","loading","statistics","numRows","componentDidMount","maybeGenerateStatistics","componentWillUnmount","cancel","model","rowCount","pendingRowCount","setState","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","isColumnMovable","isColumnFrozen"],"sources":["../src/ColumnStatistics.tsx"],"sourcesContent":["import React, { Component, Key } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button, CopyButton, LoadingSpinner } from '@deephaven/components';\nimport { dhFreeze, dhRefresh, vsLock } from '@deephaven/icons';\nimport type {\n Column,\n ColumnStatistics as APIColumnStatistics,\n} from '@deephaven/jsapi-types';\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}\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\n this.cancelablePromise = null;\n\n this.state = {\n error: null,\n loading: false,\n statistics: null,\n numRows: 0,\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 maybeGenerateStatistics(): void {\n const { model } = this.props;\n\n const numRows = model.rowCount - model.pendingRowCount;\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 - model.pendingRowCount,\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 } = 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 <CopyButton\n className=\"column-statistics-copy\"\n tooltip=\"Copy column name\"\n 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
+ {"version":3,"file":"ColumnStatistics.js","names":["React","Component","classNames","FontAwesomeIcon","Button","CopyButton","LoadingSpinner","dhFreeze","dhRefresh","dhSortSlash","vsLock","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","cancelablePromise","state","error","loading","statistics","numRows","componentDidMount","maybeGenerateStatistics","componentWillUnmount","cancel","model","rowCount","pendingRowCount","setState","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","isColumnSortable","isColumnMovable","isColumnFrozen"],"sources":["../src/ColumnStatistics.tsx"],"sourcesContent":["import React, { Component, Key } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Button, CopyButton, LoadingSpinner } from '@deephaven/components';\nimport { dhFreeze, dhRefresh, dhSortSlash, vsLock } from '@deephaven/icons';\nimport type {\n Column,\n ColumnStatistics as APIColumnStatistics,\n} from '@deephaven/jsapi-types';\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}\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\n this.cancelablePromise = null;\n\n this.state = {\n error: null,\n loading: false,\n statistics: null,\n numRows: 0,\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 maybeGenerateStatistics(): void {\n const { model } = this.props;\n\n const numRows = model.rowCount - model.pendingRowCount;\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 - model.pendingRowCount,\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 } = 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 <CopyButton\n className=\"column-statistics-copy\"\n tooltip=\"Copy column name\"\n copy={column.name}\n />\n </div>\n {description != null && (\n <div className=\"column-statistics-description\">{description}</div>\n )}\n {columnIndex != null && !model.isColumnSortable(columnIndex) && (\n <div className=\"column-statistics-status\">\n <FontAwesomeIcon icon={dhSortSlash} className=\"mr-1\" />\n Not sortable\n </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":"IrisGrid.d.ts","sourceRoot":"","sources":["../src/IrisGrid.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EACZ,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,SAAS,EACV,MAAM,OAAO,CAAC;AACf,OAAO,OAAO,MAAM,UAAU,CAAC;AAG/B,OAAO,SAAS,MAAM,YAAY,CAAC;AAInC,OAAO,EAOL,OAAO,EACP,aAAa,EAKd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,IAAI,EACJ,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,aAAa,EAEb,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,SAAS,EAET,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAkBzB,OAAO,KAAK,EACV,MAAM,EACN,WAAW,EACX,YAAY,EAEZ,EAAE,IAAI,MAAM,EACZ,eAAe,EACf,IAAI,EACJ,KAAK,EACL,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,SAAS,EAET,UAAU,EACV,cAAc,EACd,WAAW,EAEX,aAAa,EACb,8BAA8B,EAC9B,iBAAiB,EACjB,QAAQ,EACT,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAKL,OAAO,EAIR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAEL,SAAS,IAAI,eAAe,EAC7B,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EACL,cAAc,IAAI,qBAAqB,EAExC,MAAM,6DAA6D,CAAC;AAErE,OAA4B,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAmBlD,OAAO,wBAAwB,MAAM,4BAA4B,CAAC;AAElE,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAClD,OAAsB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,iBAAiB,CAAC;AAEzB,OAAO,EASL,UAAU,EAEX,MAAM,WAAW,CAAC;AAEnB,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAG5C,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAA6B,EAC3B,4BAA4B,EAC7B,MAAM,gCAAgC,CAAC;AAOxC,OAAO,EACL,WAAW,EACX,mBAAmB,EACpB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,oBAAoB,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EAEf,MAAM,eAAe,CAAC;AACvB,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAoDpD,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,GAAG,CACzB,UAAU,EACV;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,UAAU,EAAE,CAAC;CAC1B,CACF,CAAC;AACF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,EAAE,yBAAyB,CAAC;IAC3C,gBAAgB,EAAE,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACrD,kBAAkB,EAAE,SAAS,UAAU,EAAE,CAAC;IAC1C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,qBAAqB,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACvD,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IACvC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IACpC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAC;IACrC,aAAa,EAAE,SAAS,eAAe,EAAE,CAAC;IAC1C,KAAK,EAAE,aAAa,CAAC;IACrB,aAAa,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9E,gBAAgB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClC,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9E,aAAa,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IAC5E,iBAAiB,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,wBAAwB,EAAE,4BAA4B,CAAC;IACvD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAC5C,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,cAAc,EAAE,YAAY,CAAC;IAC7B,kBAAkB,EAAE,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,KAAK,IAAI,CAAC;IAC/D,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,mBAAmB,EAAE,mBAAmB,CAAC;IAEzC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IAGxB,wBAAwB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,OAAO,CAAC;IAC5D,mBAAmB,EAAE,MAAM,CAAC;IAG5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB,EAAE,OAAO,CAAC;IAEjC,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,mBAAmB,EAAE,OAAO,CAAC;IAG7B,aAAa,EAAE,CAAC,GAAG,EAAE;QACnB,KAAK,EAAE,aAAa,CAAC;QACrB,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,cAAc,CAAC;QACzB,WAAW,EAAE,cAAc,CAAC;QAC5B,QAAQ,EAAE,cAAc,CAAC;QACzB,WAAW,EAAE,cAAc,CAAC;KAC7B,KAAK,aAAa,CAAC;IAEpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAEhD,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;IAGrC,KAAK,EAAE,aAAa,CAAC;IAErB,eAAe,EAAE,OAAO,CAAC;IAEzB,kBAAkB,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IACnC,aAAa,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAE3C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,SAAS,eAAe,EAAE,CAAC;IAG7C,YAAY,EAAE,sBAAsB,CAAC;IACrC,eAAe,EAAE,yBAAyB,CAAC;IAC3C,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,KAAK,EAAE,SAAS,IAAI,EAAE,CAAC;IACvB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC;IAG7C,cAAc,EAAE,SAAS,SAAS,EAAE,CAAC;IAGrC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IAGpC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAC;IAE7B,YAAY,EAAE,SAAS,aAAa,EAAE,CAAC;IACvC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAEpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,qBAAqB,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAEvD,kBAAkB,EAAE,SAAS,qBAAqB,EAAE,CAAC;IACrD,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,wBAAwB,CAAC,EAAE,qBAAqB,CAAC;IAGjD,iBAAiB,EAAE,cAAc,CAAC;IAElC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,0BAA0B,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1C,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,mBAAmB,EAAE,OAAO,CAAC;IAE7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,qBAAqB,EAAE,SAAS,UAAU,EAAE,CAAC;IAC7C,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC;IAExC,WAAW,EAAE,SAAS,UAAU,EAAE,CAAC;IAEnC,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,mBAAmB,CAAC;IACvC,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACzC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,YAAY,EAAE,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,SAAS,UAAU,EAAE,CAAC;IACrC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,EAAE,aAAa,GAAG,IAAI,CAAC;IACjD,sBAAsB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7C,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,aAAa,GAAG,IAAI,CAAC;IAC5C,qBAAqB,EAAE,MAAM,CAAC;IAE9B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IAErB,2BAA2B,EAAE,UAAU,CAAC;IACxC,uBAAuB,EAAE,eAAe,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAElB,kBAAkB,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAClD;AAED,qBAAa,QAAS,SAAQ,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACnE,MAAM,CAAC,WAAW,SAAO;IAEzB,MAAM,CAAC,WAAW,SAAO;IAEzB,MAAM,CAAC,mBAAmB,SAAO;IAEjC,MAAM,CAAC,YAAY;;;;;;;;;;;;;;gCAcK,IAAI;8BACN,IAAI;uBACX,IAAI;6BACE,IAAI;iCACA,IAAI;wCACG,IAAI;;;;;;;;;;;;;;;kCAYV,IAAI;;;;;;;;;;;;;;6BAcT,IAAI;;;;;;;;;;;;;;;;;;;;;;MAsBvB;gBAEU,KAAK,EAAE,aAAa;IAuVhC,iBAAiB,IAAI,IAAI;IAgBzB,kBAAkB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAyElD,oBAAoB,IAAI,IAAI;IAe5B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAElB,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnC,0BAA0B,CAAC,EAAE,MAAM,CAAC;IAEpC,gBAAgB,EAAE,IAAI,CACpB,aAAa,EACX,iBAAiB,GACjB,qBAAqB,GACrB,eAAe,GACf,cAAc,GACd,aAAa,GACb,cAAc,GACd,cAAc,GACd,uBAAuB,GACvB,OAAO,CACV,GAAG,IAAI,CAAC;IAET,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,OAAO,EAAE,OAAO,CAAC;IAEjB,mBAAmB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAEhD,wBAAwB,CAAC,EAAE,8BAA8B,CAAC;IAE1D,oBAAoB,EAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvD,oBAAoB,EAAE;QAAE,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvD,wBAAwB,EAAE,OAAO,CAAC;IAGlC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IAE7C,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAE9B,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAEnD,WAAW,EAAE,OAAO,CAAC;IAErB,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAElD,qBAAqB,EAAE,MAAM,CAAC;IAE9B,qBAAqB,EAAE,MAAM,CAAC;IAE9B,mBAAmB,EAAE,MAAM,CAAC;IAE5B,aAAa,EAAE,MAAM,CAAC;IAEtB,YAAY,EAAE,MAAM,CAAC;IAErB,cAAc,EAAE,aAAa,EAAE,CAAC;IAEhC,UAAU,EAAE,UAAU,CAAC;IAEvB,4BAA4B,YACjB,UAAU,6CAAV,UAAU,iBAEnB;IAEF,kCAAkC,WAEvB,aAAa,UACZ,MAAM,yBACS,qBAAqB,GAAG,SAAS,iBACzC,aAAa,GAAG,SAAS,aAC7B,SAAS,6CAJb,aAAa,UACZ,MAAM,yBACS,qBAAqB,GAAG,SAAS,iBACzC,aAAa,GAAG,SAAS,aAC7B,SAAS,kBAetB;IAEF,oBAAoB,6BAES,OAAO,4BACN,OAAO,4BACP,OAAO,qBACd,OAAO,qBACP,OAAO,6BACC,OAAO,qBACf,OAAO,yBACH,MAAM,yBACN,MAAM,uBACR,MAAM,oBACT,OAAO,iBACV,OAAO,kBACN,OAAO,mBACN,OAAO,eACX,OAAO,uBACC,OAAO,KAC3B,SAAS,UAAU,EAAE,+CAhBG,OAAO,4BACN,OAAO,4BACP,OAAO,qBACd,OAAO,qBACP,OAAO,6BACC,OAAO,qBACf,OAAO,yBACH,MAAM,yBACN,MAAM,uBACR,MAAM,oBACT,OAAO,iBACV,OAAO,kBACN,OAAO,mBACN,OAAO,eACX,OAAO,uBACC,OAAO,KAC3B,SAAS,UAAU,EAAE,EA6FxB;IAEF,sBAAsB,sBAEA,wBAAwB,qCAEzC,SAAS,UAAU,EAAE,wCAFJ,wBAAwB,qCAEzC,SAAS,UAAU,EAAE,EAKxB;IAEF,iBAAiB,aAEJ,SAAS,MAAM,EAAE,gBACZ,SAAS,WAAW,EAAE,KACnC,sBAAsB,+BAFd,SAAS,MAAM,EAAE,gBACZ,SAAS,WAAW,EAAE,KACnC,sBAAsB,EAYzB;IAEF,eAAe,aAEF,SAAS,MAAM,EAAE,gBACZ,SAAS,WAAW,EAAE,KACnC,oBAAoB,+BAFZ,SAAS,MAAM,EAAE,gBACZ,SAAS,WAAW,EAAE,KACnC,oBAAoB,EAmBvB;IAEF,iBAAiB,kBACA,SAAS,WAAW,EAAE,KAAG,oBAAoB,EAAE,oCAA/C,SAAS,WAAW,EAAE,KAAG,oBAAoB,EAAE,EAM9D;IAEF,sBAAsB,QAEd,MAAM,WACD,SAAS,MAAM,EAAE,SACnB,SAAS,qBAAqB,EAAE,6CAFnC,MAAM,WACD,SAAS,MAAM,EAAE,SACnB,SAAS,qBAAqB,EAAE,qBAEzC;IAEF;;;;;;;OAOG;IACH,6BAA6B,QAErB,MAAM,WACD,SAAS,MAAM,EAAE,cACd,SAAS,qBAAqB,EAAE,YAClC,qBAAqB,cACnB,MAAM,KACjB,YAAY,EAAE,0BALX,MAAM,WACD,SAAS,MAAM,EAAE,cACd,SAAS,qBAAqB,EAAE,YAClC,qBAAqB,cACnB,MAAM,KACjB,YAAY,EAAE,EAejB;IAEF,oBAAoB,qBAEC,SAAS,MAAM,EAAE,UAC1B,cAAc,GAAG,SAAS,uBACb,mBAAmB,gGAFvB,SAAS,MAAM,EAAE,UAC1B,cAAc,GAAG,SAAS,uBACb,mBAAmB,2DAO1C;IAEF,oBAAoB,aAEP,SAAS,MAAM,EAAE,UAClB,cAAc,GAAG,SAAS,uBACb,mBAAmB,KACvC,mBAAmB,GAAG,IAAI,+BAHlB,SAAS,MAAM,EAAE,UAClB,cAAc,GAAG,SAAS,uBACb,mBAAmB,KACvC,mBAAmB,GAAG,IAAI,EAe7B;IAEF,sBAAsB,uBAEC,cAAc,oBACf,OAAO,qBACN,OAAO,wBACJ,MAAM,GAAG,IAAI,2FAG5B,SAAS,IAAI,EAAE,eACT,WAAW,gBACV,cAAc,GAAG,SAAS,eAC3B,OAAO;;;;;;;;;;;8CATD,cAAc,oBACf,OAAO,qBACN,OAAO,wBACJ,MAAM,GAAG,IAAI,2FAG5B,SAAS,IAAI,EAAE,eACT,WAAW,gBACV,cAAc,GAAG,SAAS,eAC3B,OAAO;;;;;;;;;;;OActB;IAEF,eAAe,mBAEI,SAAS,eAAe,EAAE,sGAGvB,SAAS,eAAe,EAAE,gBAC9B,eAAe,GAAG,SAAS,2DAJ1B,SAAS,eAAe,EAAE,sGAGvB,SAAS,eAAe,EAAE,gBAC9B,eAAe,GAAG,SAAS,wBAS3C;IAEF,cAAc,WAEH,aAAa,cACR,OAAO,oBACD,MAAM,KACvB,QAAQ,iBAAiB,CAAC,6BAHpB,aAAa,cACR,OAAO,oBACD,MAAM,KACvB,QAAQ,iBAAiB,CAAC,EAQ7B;IAEF,eAAe,CACb,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,UAAQ,GACf,MAAM,GAAG,OAAO;IA2BnB,cAAc,CAAC,WAAW,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS;IAW1E,WAAW,CAAC,QAAQ,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,GAAG,SAAS;IAWpE,QAAQ,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAStC,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY;IAKtD,eAAe,CACb,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,IAAI;IASzB;;;;;OAKG;IACH,iBAAiB,CACf,YAAY,EAAE,WAAW,EAAE,EAC3B,eAAe,UAAQ,GACtB,IAAI;IA+BP;;;;;;OAMG;IACH,gBAAgB,CACd,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,YAAY,EAAE,cAAc,GAC3B,OAAO;IAuBV,oBAAoB,CAAC,eAAe,EAAE,yBAAyB,GAAG,IAAI;IAItE,iBAAiB,CACf,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAmBP;;;;;OAKG;IACH,cAAc,CACZ,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,IAAI,EAAE,MAAM,GACX,IAAI;IAYP;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAuCxC,kBAAkB,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI;IAsBjD,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI;IAWhD,eAAe,IAAI,IAAI;IAwBvB,qBAAqB,IAAI,IAAI;IAS7B,mBAAmB,IAAI,IAAI;IAM3B;;OAEG;IACH,cAAc,IAAI,IAAI;IAwCtB,UAAU,CAAC,EACT,YAAY,EACZ,eAAe,GAChB,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,GAAG,iBAAiB,CAAC,GAAG,IAAI;IAOjE,uBAAuB,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,UAAO,GAAG,IAAI;IAmDtE,qBAAqB,wBAEG,SAAS,UAAU,EAAE,WAChC,SAAS,MAAM,EAAE,gBACZ,SAAS,aAAa,EAAE,2BACb,MAAM,4BACL,MAAM,kBAChB,gBAAgB,KAC/B,SAAS,UAAU,EAAE,0CANF,SAAS,UAAU,EAAE,WAChC,SAAS,MAAM,EAAE,gBACZ,SAAS,aAAa,EAAE,2BACb,MAAM,4BACL,MAAM,kBAChB,gBAAgB,KAC/B,SAAS,UAAU,EAAE,EA4BxB;IAEF,eAAe,CACb,cAAc,EAAE;QAAE,qBAAqB,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;KAAE,EAC3E,WAAW,UAAO,GACjB,IAAI;IA6BP,aAAa,IAAI,IAAI;IAKrB,SAAS,IAAI,IAAI;IAyCX,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCjE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAYjE,QAAQ,CACN,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,UAAQ,GACf,IAAI;IAYP;;;;;;OAMG;IACH,UAAU,CACR,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,cAAc,UAAQ,EACtB,YAAY,UAAO,EACnB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAyBP,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,IAAI;IAiC5D,WAAW,IAAI,IAAI;IAenB;;OAEG;IACH,QAAQ,IAAI,IAAI;IA0ChB;;;OAGG;IACH,WAAW,IAAI,OAAO;IAItB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAgB1C,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IAgBzC,KAAK,IAAI,IAAI;IAIb,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAsC1C,wBAAwB,CAAC,kBAAkB,EAAE,YAAY,GAAG,IAAI;IAUhE,wBAAwB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IA2BtD,0BAA0B,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IA6BxD,6BAA6B,CAC3B,YAAY,EAAE,SAAS,UAAU,EAAE,EACnC,SAAS,EAAE,OAAO,GACjB,IAAI;IA2BP,2BAA2B,IAAI,IAAI;IAcnC,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,SAAS,UAAU,EAAE,EAC5C,mBAAmB,EAAE,OAAO,GAC3B,IAAI;IAkBP,kBAAkB,+CAED,MAAM,yBACI,SAAS,UAAU,EAAE,WACnC,SAAS,MAAM,EAAE,uBACL,OAAO,KAC3B,IAAI,EAYP;IAEF,mBAAmB,IAAI,IAAI;IAQ3B,oBAAoB,IAAI,IAAI;IAQ5B,kBAAkB,IAAI,IAAI;IAM1B,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS1C,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQ9C,uBAAuB,IAAI,IAAI;IAO/B,mBAAmB,IAAI,IAAI;IAI3B,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAW1C,cAAc,IAAI,IAAI;IAatB,UAAU,CAAC,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI;IAgBnE,WAAW,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,IAAI;IAMzC,UAAU,CACR,WAAW,EAAE,UAAU,EACvB,SAAS,GAAE,aAA6C,EACxD,KAAK,UAAQ,EACb,aAAa,UAAQ,GACpB,IAAI;IAgBP,OAAO,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAMvC,YAAY,IAAI,OAAO;IAKvB,eAAe,CAAC,UAAU,qBAAkC,GAAG,IAAI;IA6BnE,sBAAsB,IAAI,OAAO;IAejC,eAAe,IAAI,IAAI;IAqBvB,aAAa,CAAC,GAAG,SAAK,EAAE,KAAK,SAAK,EAAE,UAAU,SAAK,GAAG,IAAI;IA8CpD,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAwC9B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAcrC;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAKlC;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,GAAG,IAAI;IA0B/D,0BAA0B,CACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,eAAe,GAAG,IAAI,EAC9B,OAAO,EAAE,qBAAqB,GAC7B,IAAI;IAOP,8BAA8B,CAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,aAAa,EACxB,aAAa,UAAQ,GACpB,IAAI;IA8BP,wBAAwB,IAAI,IAAI;IAIhC,wBAAwB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAItD,mBAAmB,IAAI,IAAI;IAI3B,mBAAmB,IAAI,IAAI;IAI3B,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAiBnD,YAAY,IAAI,IAAI;IAKpB,iBAAiB,IAAI,IAAI;IAIzB,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAKvD,eAAe,CAAC,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAOpC,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAc1C,mBAAmB,CAAC,YAAY,UAAO,EAAE,YAAY,UAAO,GAAG,IAAI;IASnE,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI;IAU3C,qBAAqB,CACnB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,iBAAiB,GAAG,IAAI,GACvC,IAAI;IAuBP,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAKxD,eAAe,IAAI,IAAI;IAIvB,cAAc,IAAI,IAAI;IAQtB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAM1C,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAcvC,YAAY,IAAI,IAAI;IAqCpB,iBAAiB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAiC9C,sBAAsB,CAAC,cAAc,CAAC,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI;IAWnE,yBAAyB,CACvB,YAAY,EAAE,SAAS,aAAa,EAAE,EACtC,eAAe,CAAC,EAAE,MAAM,IAAI,GAC3B,IAAI;IAIP,yBAAyB,CAAC,kBAAkB,EAAE,SAAS,WAAW,EAAE,GAAG,IAAI;IAa3E,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IASxC,8BAA8B,CAC5B,kBAAkB,EAAE,SAAS,qBAAqB,EAAE,GACnD,IAAI;IAKP,6BAA6B,IAAI,IAAI;IAiBrC,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBhD,mCAAmC,6DACL,qBAAqB,KAAG,IAAI,EAIxD;IAEF,iCAAiC,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAkBtE,mCAAmC,IAAI,IAAI;IAO3C,yBAAyB,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI;IAmFjE,0BAA0B,IAAI,IAAI;IAWlC,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3C,2BAA2B,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5C,wBAAwB,IAAI,IAAI;IAYhC;;;OAGG;IACH,wBAAwB,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,IAAI;IAWxE;;;OAGG;IACH,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAevD;;;OAGG;IACH,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAiBrD,kBAAkB,CAAC,YAAY,EAAE,cAAc,GAAG,IAAI;IAwBtD,2BAA2B,CAAC,WAAW,EAAE,SAAS,UAAU,EAAE,GAAG,IAAI;IAsBrE,wBAAwB,IAAI,IAAI;IAgBhC,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,KAAK,EAClB,iBAAiB,EAAE,yBAAyB,EAC5C,cAAc,EAAE,SAAS,SAAS,EAAE,EACpC,WAAW,EAAE,SAAS,SAAS,EAAE,EACjC,oBAAoB,EAAE,OAAO,EAC7B,oBAAoB,EAAE,OAAO,GAC5B,IAAI;IAoCD,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAoItE,yBAAyB,IAAI,IAAI;IAKjC,4BAA4B,yDAED,MAAM,8BACD,MAAM,GAAG,IAAI,WAa3C;IAEF,uBAAuB,IAAI,IAAI;IAQ/B,sBAAsB,IAAI,IAAI;IAQ9B;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI;IAShD,oBAAoB,IAAI,IAAI;IAc5B,kBAAkB,CAAC,WAAW,UAAO,GAAG,IAAI;IAY5C,eAAe,IAAI,IAAI;IAWvB,mBAAmB,IAAI,IAAI;IAM3B,qBAAqB,IAAI,OAAO;IA4ChC,wBAAwB,gCACO,aAAa,KAAG,SAAS,kDAAzB,aAAa,KAAG,SAAS,EAgCtD;IAEF,oBAAoB,4BACO,aAAa,KAAG,SAAS,8CAAzB,aAAa,KAAG,SAAS,EAkClD;IAEF,mBAAmB,2BACO,aAAa,KAAG,SAAS,6CAAzB,aAAa,KAAG,SAAS,EA6BjD;IAEF,oCAAoC,IAAI,IAAI;IAK5C,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAuBvC,qCAAqC,CACnC,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,GACnC,IAAI;IAKP,gBAAgB,CACd,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,aAAa,GACnB,SAAS;IA+FZ,wCAAwC,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAwBtE,oCAAoC,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAIlE,sBAAsB,UAAW,MAAM,KAAG,IAAI,CAG5C;IAEF,gBAAgB,yCAAoB,MAAM,KAAG,IAAI,EAE3B;IAEtB,wBAAwB,CAAC,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI;IAKrD,MAAM,IAAI,YAAY,GAAG,IAAI;CA+yB9B;AAED,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"IrisGrid.d.ts","sourceRoot":"","sources":["../src/IrisGrid.tsx"],"names":[],"mappings":"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"}
package/dist/IrisGrid.js CHANGED
@@ -1656,13 +1656,17 @@ export class IrisGrid extends Component {
1656
1656
  var {
1657
1657
  model
1658
1658
  } = this.props;
1659
- var {
1660
- sorts: currentSorts
1661
- } = this.state;
1662
1659
  var modelColumn = this.getModelColumn(columnIndex);
1663
1660
  assertNotNull(modelColumn);
1664
- var sorts = TableUtils.toggleSortForColumn(currentSorts, model.columns, modelColumn, addToExisting);
1665
- this.updateSorts(sorts);
1661
+ if (model.isColumnSortable(columnIndex)) {
1662
+ var {
1663
+ sorts: currentSorts
1664
+ } = this.state;
1665
+ var sorts = TableUtils.toggleSortForColumn(currentSorts, model.columns, modelColumn, addToExisting);
1666
+ this.updateSorts(sorts);
1667
+ } else {
1668
+ log.debug('Column type was not sortable', model.columns[columnIndex]);
1669
+ }
1666
1670
  }
1667
1671
  updateSorts(sorts) {
1668
1672
  var _this$grid9;