@deephaven/iris-grid 0.15.7-beta.0 → 0.16.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/AdvancedFilterCreator.js +2 -1
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.css +8 -0
- package/dist/AdvancedFilterCreatorFilterItem.css.map +1 -0
- package/dist/AdvancedFilterCreatorFilterItem.d.ts +6 -4
- package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorFilterItem.js +20 -4
- package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
- package/dist/IrisGrid.d.ts +1 -15
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +4 -9
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +2 -2
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +2 -2
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/package.json +15 -16
|
@@ -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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"}
|
|
@@ -442,7 +442,8 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
442
442
|
onChange: this.getFilterChangeHandler(i),
|
|
443
443
|
onDelete: this.getFilterDeleteHandler(i),
|
|
444
444
|
selectedType: _selectedType,
|
|
445
|
-
value: _value
|
|
445
|
+
value: _value,
|
|
446
|
+
formatter: formatter
|
|
446
447
|
});
|
|
447
448
|
filterItemElements.push(element);
|
|
448
449
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/AdvancedFilterCreator.tsx"],"names":["React","PureComponent","classNames","FontAwesomeIcon","memoize","Operator","FilterOperator","assertOperatorValue","assertFilterOperatorValue","dhSortAmountDown","dhNewCircleLargeFilled","TableUtils","ContextActionUtils","Tooltip","Log","PromiseUtils","assertNotNull","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","event","target","currentTarget","operator","strIndex","dataset","parseInt","startUpdateTimer","filterIndex","splice","addToExisting","isModifierKeyDown","sortTable","sortDirection","descending","ascending","stopUpdateTimer","preventDefault","onDone","shouldShowAddFilter","filterItem","direction","onSortChange","setTimeout","debounceFilterUpdate","onFilterChange","formatter","items","filter","operators","i","slice","makeAdvancedFilter","timeZone","render","isBoolean","isBooleanType","type","isDateType","filterTypes","substring","lastIndexOf","filterItemElements","filterOperator","isAndFilter","operatorElement","active","showAddFilterItem","addFilterItem","hidden","name"],"mappings":"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","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 { ContextActionUtils, Tooltip } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport {\n CancelablePromise,\n PromiseUtils,\n assertNotNull,\n} from '@deephaven/utils';\nimport { Column, FilterCondition, Table } from '@deephaven/jsapi-shim';\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}\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(event: React.MouseEvent<HTMLButtonElement>): void {\n const target = event.currentTarget;\n\n const { operator, index: strIndex } = target.dataset;\n assertNotNull(strIndex);\n const index = parseInt(strIndex, 10);\n\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 } = 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 } = this.props;\n const {\n filterItems,\n filterOperators,\n invertSelection,\n selectedValues,\n valuesTable,\n valuesTableError,\n } = this.state;\n const { 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 />\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 type=\"button\"\n className={classNames('btn btn-link filter-operator', {\n active: isAndFilter,\n })}\n onClick={this.handleChangeFilterOperator}\n data-index={i}\n data-operator={FilterOperator.and}\n >\n AND\n </button>\n <button\n type=\"button\"\n className={classNames('btn btn-link filter-operator', {\n active: !isAndFilter,\n })}\n onClick={this.handleChangeFilterOperator}\n data-index={i}\n data-operator={FilterOperator.or}\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 type=\"button\"\n className=\"btn btn-link btn-filter-item\"\n onClick={this.handleAddAnd}\n disabled={!showAddFilterItem}\n >\n AND\n <Tooltip>Add filter with AND</Tooltip>\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link btn-filter-item\"\n onClick={this.handleAddOr}\n disabled={!showAddFilterItem}\n >\n OR\n <Tooltip>Add filter with OR</Tooltip>\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 type=\"button\"\n className={classNames(\n 'btn btn-link btn-link-icon sort-operator',\n {\n active:\n sortDirection === TableUtils.sortDirection.descending,\n }\n )}\n onClick={this.handleSortDown}\n >\n <FontAwesomeIcon icon={dhSortAmountDown} />\n <Tooltip>Sort {column.name} Descending</Tooltip>\n </button>\n <button\n type=\"button\"\n className={classNames(\n 'btn btn-link btn-link-icon sort-operator',\n {\n active:\n sortDirection === TableUtils.sortDirection.ascending,\n }\n )}\n onClick={this.handleSortUp}\n >\n <FontAwesomeIcon rotation={180} icon={dhSortAmountDown} />\n <Tooltip>Sort {column.name} Ascending</Tooltip>\n </button>\n </div>\n </div>\n <hr />\n <div className=\"advanced-filter-column-name\">\n {column.name} \n <span className=\"column-type\">({columnType})</span>\n </div>\n {filterItemElements}\n {isValuesTableAvailable && !valuesTableError && (\n <>\n {!isBoolean && <hr />}\n <div className=\"form-group\">\n <AdvancedFilterCreatorSelectValue<unknown>\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 type=\"button\"\n className=\"btn btn-outline-primary mr-2\"\n onClick={this.handleReset}\n >\n Reset\n </button>\n <button\n type=\"button\"\n className=\"btn btn-primary\"\n onClick={this.handleDone}\n >\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"],"file":"AdvancedFilterCreator.js"}
|
|
1
|
+
{"version":3,"sources":["../src/AdvancedFilterCreator.tsx"],"names":["React","PureComponent","classNames","FontAwesomeIcon","memoize","Operator","FilterOperator","assertOperatorValue","assertFilterOperatorValue","dhSortAmountDown","dhNewCircleLargeFilled","TableUtils","ContextActionUtils","Tooltip","Log","PromiseUtils","assertNotNull","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","event","target","currentTarget","operator","strIndex","dataset","parseInt","startUpdateTimer","filterIndex","splice","addToExisting","isModifierKeyDown","sortTable","sortDirection","descending","ascending","stopUpdateTimer","preventDefault","onDone","shouldShowAddFilter","filterItem","direction","onSortChange","setTimeout","debounceFilterUpdate","onFilterChange","formatter","items","filter","operators","i","slice","makeAdvancedFilter","timeZone","render","isBoolean","isBooleanType","type","isDateType","filterTypes","substring","lastIndexOf","filterItemElements","filterOperator","isAndFilter","operatorElement","active","showAddFilterItem","addFilterItem","hidden","name"],"mappings":"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","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 { ContextActionUtils, Tooltip } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport {\n CancelablePromise,\n PromiseUtils,\n assertNotNull,\n} from '@deephaven/utils';\nimport { Column, FilterCondition, Table } from '@deephaven/jsapi-shim';\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}\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(event: React.MouseEvent<HTMLButtonElement>): void {\n const target = event.currentTarget;\n\n const { operator, index: strIndex } = target.dataset;\n assertNotNull(strIndex);\n const index = parseInt(strIndex, 10);\n\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 } = 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 } = this.props;\n const {\n filterItems,\n filterOperators,\n invertSelection,\n selectedValues,\n valuesTable,\n valuesTableError,\n } = this.state;\n const { 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 />\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 type=\"button\"\n className={classNames('btn btn-link filter-operator', {\n active: isAndFilter,\n })}\n onClick={this.handleChangeFilterOperator}\n data-index={i}\n data-operator={FilterOperator.and}\n >\n AND\n </button>\n <button\n type=\"button\"\n className={classNames('btn btn-link filter-operator', {\n active: !isAndFilter,\n })}\n onClick={this.handleChangeFilterOperator}\n data-index={i}\n data-operator={FilterOperator.or}\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 type=\"button\"\n className=\"btn btn-link btn-filter-item\"\n onClick={this.handleAddAnd}\n disabled={!showAddFilterItem}\n >\n AND\n <Tooltip>Add filter with AND</Tooltip>\n </button>\n <button\n type=\"button\"\n className=\"btn btn-link btn-filter-item\"\n onClick={this.handleAddOr}\n disabled={!showAddFilterItem}\n >\n OR\n <Tooltip>Add filter with OR</Tooltip>\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 type=\"button\"\n className={classNames(\n 'btn btn-link btn-link-icon sort-operator',\n {\n active:\n sortDirection === TableUtils.sortDirection.descending,\n }\n )}\n onClick={this.handleSortDown}\n >\n <FontAwesomeIcon icon={dhSortAmountDown} />\n <Tooltip>Sort {column.name} Descending</Tooltip>\n </button>\n <button\n type=\"button\"\n className={classNames(\n 'btn btn-link btn-link-icon sort-operator',\n {\n active:\n sortDirection === TableUtils.sortDirection.ascending,\n }\n )}\n onClick={this.handleSortUp}\n >\n <FontAwesomeIcon rotation={180} icon={dhSortAmountDown} />\n <Tooltip>Sort {column.name} Ascending</Tooltip>\n </button>\n </div>\n </div>\n <hr />\n <div className=\"advanced-filter-column-name\">\n {column.name} \n <span className=\"column-type\">({columnType})</span>\n </div>\n {filterItemElements}\n {isValuesTableAvailable && !valuesTableError && (\n <>\n {!isBoolean && <hr />}\n <div className=\"form-group\">\n <AdvancedFilterCreatorSelectValue<unknown>\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 type=\"button\"\n className=\"btn btn-outline-primary mr-2\"\n onClick={this.handleReset}\n >\n Reset\n </button>\n <button\n type=\"button\"\n className=\"btn btn-primary\"\n onClick={this.handleDone}\n >\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"],"file":"AdvancedFilterCreator.js"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
.advanced-filter-creator-filter-item input.error {
|
|
2
|
+
color: #f95d84;
|
|
3
|
+
}
|
|
4
|
+
.advanced-filter-creator-filter-item input.error:focus {
|
|
5
|
+
box-shadow: inset 0 0 0 2px #f95d84, 0 0 0 0.2rem rgba(72, 120, 234, 0.35);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/*# sourceMappingURL=AdvancedFilterCreatorFilterItem.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/AdvancedFilterCreatorFilterItem.scss","../../components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAGE;EACE,OCDE;;ADEF;EACE","file":"AdvancedFilterCreatorFilterItem.css"}
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import React, { PureComponent } from 'react';
|
|
2
2
|
import { TypeValue as FilterTypeValue } from '@deephaven/filters';
|
|
3
|
-
import {
|
|
3
|
+
import { Column } from '@deephaven/jsapi-shim';
|
|
4
|
+
import { AdvancedFilterItemType, Formatter } from '@deephaven/jsapi-utils';
|
|
5
|
+
import './AdvancedFilterCreatorFilterItem.scss';
|
|
4
6
|
export interface AdvancedFilterCreatorFilterItemProps {
|
|
5
|
-
column:
|
|
6
|
-
type: string;
|
|
7
|
-
};
|
|
7
|
+
column: Column;
|
|
8
8
|
filterTypes: FilterTypeValue[];
|
|
9
9
|
onChange(type: FilterTypeValue, value: string): void;
|
|
10
10
|
onDelete(): void;
|
|
11
11
|
selectedType?: FilterTypeValue;
|
|
12
12
|
value?: string;
|
|
13
|
+
formatter: Formatter;
|
|
13
14
|
}
|
|
14
15
|
export declare type AdvancedFilterCreatorFilterItemState = AdvancedFilterItemType;
|
|
15
16
|
export declare class AdvancedFilterCreatorFilterItem extends PureComponent<AdvancedFilterCreatorFilterItemProps, AdvancedFilterCreatorFilterItemState> {
|
|
@@ -21,6 +22,7 @@ export declare class AdvancedFilterCreatorFilterItem extends PureComponent<Advan
|
|
|
21
22
|
handleTypeChange(event: React.ChangeEvent<HTMLSelectElement>): void;
|
|
22
23
|
handleValueChange(event: React.ChangeEvent<HTMLInputElement>): void;
|
|
23
24
|
handleDelete(): void;
|
|
25
|
+
getCachedIsValid: (column: Column, operation: FilterTypeValue, value: string, timeZone: string) => boolean;
|
|
24
26
|
render(): JSX.Element;
|
|
25
27
|
}
|
|
26
28
|
export default AdvancedFilterCreatorFilterItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdvancedFilterCreatorFilterItem.d.ts","sourceRoot":"","sources":["../src/AdvancedFilterCreatorFilterItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAKL,SAAS,IAAI,eAAe,EAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"AdvancedFilterCreatorFilterItem.d.ts","sourceRoot":"","sources":["../src/AdvancedFilterCreatorFilterItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAG7C,OAAO,EAKL,SAAS,IAAI,eAAe,EAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,SAAS,EAEV,MAAM,wBAAwB,CAAC;AAIhC,OAAO,wCAAwC,CAAC;AAIhD,MAAM,WAAW,oCAAoC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD,QAAQ,IAAI,IAAI,CAAC;IACjB,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,oBAAY,oCAAoC,GAAG,sBAAsB,CAAC;AAE1E,qBAAa,+BAAgC,SAAQ,aAAa,CAChE,oCAAoC,EACpC,oCAAoC,CACrC;IACC,MAAM,CAAC,iBAAiB,CACtB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,eAAe,GAC1B,MAAM;gBAwBG,KAAK,EAAE,oCAAoC;IAgBvD,iBAAiB,IAAI,IAAI;IAIzB,kBAAkB,CAAC,SAAS,EAAE,oCAAoC,GAAG,IAAI;IAUzE,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAEvC,gBAAgB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,IAAI;IAanE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAanE,YAAY,IAAI,IAAI;IAOpB,gBAAgB,WAEJ,MAAM,aACH,eAAe,SACnB,MAAM,YACH,MAAM,KACf,OAAO,CAgBV;IAEF,MAAM,IAAI,GAAG,CAAC,OAAO;CAmEtB;AAED,eAAe,+BAA+B,CAAC"}
|
|
@@ -8,6 +8,9 @@ import { getLabelForBooleanFilter, getLabelForDateFilter, getLabelForNumberFilte
|
|
|
8
8
|
import { vsTrash } from '@deephaven/icons';
|
|
9
9
|
import { TableUtils } from '@deephaven/jsapi-utils';
|
|
10
10
|
import Log from '@deephaven/log';
|
|
11
|
+
import classNames from 'classnames';
|
|
12
|
+
import memoizeOne from 'memoize-one';
|
|
13
|
+
import "./AdvancedFilterCreatorFilterItem.css";
|
|
11
14
|
var log = Log.module('AdvancedFilterCreatorFilterItem');
|
|
12
15
|
export class AdvancedFilterCreatorFilterItem extends PureComponent {
|
|
13
16
|
static getLabelForFilter(columnType, filterType) {
|
|
@@ -40,18 +43,27 @@ export class AdvancedFilterCreatorFilterItem extends PureComponent {
|
|
|
40
43
|
|
|
41
44
|
_defineProperty(this, "typeDropdown", void 0);
|
|
42
45
|
|
|
46
|
+
_defineProperty(this, "getCachedIsValid", memoizeOne((column, operation, value, timeZone) => {
|
|
47
|
+
try {
|
|
48
|
+
// We don't want to show an error for an empty value
|
|
49
|
+
return !value || TableUtils.makeAdvancedValueFilter(column, operation, value, timeZone) != null;
|
|
50
|
+
} catch (e) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}));
|
|
54
|
+
|
|
43
55
|
this.handleDelete = this.handleDelete.bind(this);
|
|
44
56
|
this.handleTypeChange = this.handleTypeChange.bind(this);
|
|
45
57
|
this.handleValueChange = this.handleValueChange.bind(this);
|
|
46
58
|
this.typeDropdown = null;
|
|
47
59
|
var {
|
|
48
|
-
value = '',
|
|
60
|
+
value: _value = '',
|
|
49
61
|
filterTypes,
|
|
50
62
|
selectedType = filterTypes[0]
|
|
51
63
|
} = props;
|
|
52
64
|
this.state = {
|
|
53
65
|
selectedType,
|
|
54
|
-
value
|
|
66
|
+
value: _value
|
|
55
67
|
};
|
|
56
68
|
}
|
|
57
69
|
|
|
@@ -131,7 +143,8 @@ export class AdvancedFilterCreatorFilterItem extends PureComponent {
|
|
|
131
143
|
render() {
|
|
132
144
|
var {
|
|
133
145
|
column,
|
|
134
|
-
filterTypes
|
|
146
|
+
filterTypes,
|
|
147
|
+
formatter
|
|
135
148
|
} = this.props;
|
|
136
149
|
var {
|
|
137
150
|
selectedType,
|
|
@@ -139,6 +152,7 @@ export class AdvancedFilterCreatorFilterItem extends PureComponent {
|
|
|
139
152
|
} = this.state;
|
|
140
153
|
var showValueInput = !TableUtils.isBooleanType(column.type);
|
|
141
154
|
var typeOptionElements = [];
|
|
155
|
+
var isValid = this.getCachedIsValid(column, selectedType, value, formatter.timeZone);
|
|
142
156
|
|
|
143
157
|
for (var i = 0; i < filterTypes.length; i += 1) {
|
|
144
158
|
var _type = filterTypes[i];
|
|
@@ -169,7 +183,9 @@ export class AdvancedFilterCreatorFilterItem extends PureComponent {
|
|
|
169
183
|
className: "input-group"
|
|
170
184
|
}, /*#__PURE__*/React.createElement("input", {
|
|
171
185
|
type: "text",
|
|
172
|
-
className:
|
|
186
|
+
className: classNames('form-control', {
|
|
187
|
+
error: !isValid
|
|
188
|
+
}),
|
|
173
189
|
placeholder: "Enter value",
|
|
174
190
|
value: value,
|
|
175
191
|
onChange: this.handleValueChange
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/AdvancedFilterCreatorFilterItem.tsx"],"names":["React","PureComponent","FontAwesomeIcon","Tooltip","getLabelForBooleanFilter","getLabelForDateFilter","getLabelForNumberFilter","getLabelForTextFilter","vsTrash","TableUtils","Log","log","module","AdvancedFilterCreatorFilterItem","getLabelForFilter","columnType","filterType","isNumberType","isCharType","isTextType","isDateType","isBooleanType","Error","e","warn","constructor","props","handleDelete","bind","handleTypeChange","handleValueChange","typeDropdown","value","filterTypes","selectedType","state","componentDidMount","focus","componentDidUpdate","prevProps","undefined","setState","event","target","debug2","onChange","length","debug","onDelete","render","column","showValueInput","type","typeOptionElements","i","label","element","push"],"mappings":"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","sourcesContent":["/* eslint react/no-did-update-set-state: \"off\" */\nimport React, { PureComponent } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Tooltip } from '@deephaven/components';\nimport {\n getLabelForBooleanFilter,\n getLabelForDateFilter,\n getLabelForNumberFilter,\n getLabelForTextFilter,\n TypeValue as FilterTypeValue,\n} from '@deephaven/filters';\nimport { vsTrash } from '@deephaven/icons';\nimport { AdvancedFilterItemType, TableUtils } from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\n\nconst log = Log.module('AdvancedFilterCreatorFilterItem');\n\nexport interface AdvancedFilterCreatorFilterItemProps {\n column: { type: string };\n filterTypes: FilterTypeValue[];\n onChange(type: FilterTypeValue, value: string): void;\n onDelete(): void;\n selectedType?: FilterTypeValue;\n value?: string;\n}\n\nexport type AdvancedFilterCreatorFilterItemState = AdvancedFilterItemType;\n\nexport class AdvancedFilterCreatorFilterItem extends PureComponent<\n AdvancedFilterCreatorFilterItemProps,\n AdvancedFilterCreatorFilterItemState\n> {\n static getLabelForFilter(\n columnType: string,\n filterType: FilterTypeValue\n ): string {\n try {\n if (\n TableUtils.isNumberType(columnType) ||\n TableUtils.isCharType(columnType)\n ) {\n return getLabelForNumberFilter(filterType);\n }\n if (TableUtils.isTextType(columnType)) {\n return getLabelForTextFilter(filterType);\n }\n if (TableUtils.isDateType(columnType)) {\n return getLabelForDateFilter(filterType);\n }\n if (TableUtils.isBooleanType(columnType)) {\n return getLabelForBooleanFilter(filterType);\n }\n throw new Error(`Unrecognized column type: ${columnType}`);\n } catch (e) {\n log.warn(e);\n return '';\n }\n }\n\n constructor(props: AdvancedFilterCreatorFilterItemProps) {\n super(props);\n\n this.handleDelete = this.handleDelete.bind(this);\n this.handleTypeChange = this.handleTypeChange.bind(this);\n this.handleValueChange = this.handleValueChange.bind(this);\n this.typeDropdown = null;\n\n const { value = '', filterTypes, selectedType = filterTypes[0] } = props;\n\n this.state = {\n selectedType,\n value,\n };\n }\n\n componentDidMount(): void {\n this.typeDropdown?.focus();\n }\n\n componentDidUpdate(prevProps: AdvancedFilterCreatorFilterItemProps): void {\n const { value, selectedType } = this.props;\n if (selectedType !== undefined && prevProps.selectedType !== selectedType) {\n this.setState({ selectedType });\n }\n if (value !== undefined && prevProps.value !== value) {\n this.setState({ value });\n }\n }\n\n typeDropdown: HTMLSelectElement | null;\n\n handleTypeChange(event: React.ChangeEvent<HTMLSelectElement>): void {\n const selectedType = event.target.value as FilterTypeValue;\n log.debug2('typeChange', selectedType);\n this.setState({ selectedType });\n\n const { onChange } = this.props;\n const { value } = this.state;\n if (value != null && value.length > 0) {\n // Don't send an update unless there's already a value entered\n onChange(selectedType, value);\n }\n }\n\n handleValueChange(event: React.ChangeEvent<HTMLInputElement>): void {\n log.debug2('valueChange');\n const { value } = event.target;\n this.setState({ value });\n\n const { onChange } = this.props;\n const { selectedType } = this.state;\n if (selectedType != null) {\n // Don't send an update unless they've already selected a type\n onChange(selectedType, value);\n }\n }\n\n handleDelete(): void {\n log.debug('delete');\n\n const { onDelete } = this.props;\n onDelete();\n }\n\n render(): JSX.Element {\n const { column, filterTypes } = this.props;\n const { selectedType, value } = this.state;\n const showValueInput = !TableUtils.isBooleanType(column.type);\n const typeOptionElements = [];\n for (let i = 0; i < filterTypes.length; i += 1) {\n const type = filterTypes[i];\n const label = AdvancedFilterCreatorFilterItem.getLabelForFilter(\n column.type,\n type\n );\n const element = (\n <option key={type} value={type}>\n {label}\n </option>\n );\n typeOptionElements.push(element);\n }\n\n return (\n <div className=\"advanced-filter-creator-filter-item\">\n <div className=\"form-row\">\n <div className=\"form-group col\">\n <select\n className=\"form-control custom-select\"\n value={selectedType}\n onChange={this.handleTypeChange}\n ref={typeDropdown => {\n this.typeDropdown = typeDropdown;\n }}\n >\n {typeOptionElements}\n </select>\n </div>\n {showValueInput && (\n <div className=\"form-group col\">\n <div className=\"input-group\">\n <input\n type=\"text\"\n className=\"form-control\"\n placeholder=\"Enter value\"\n value={value}\n onChange={this.handleValueChange}\n />\n </div>\n </div>\n )}\n <div className=\"form-group col-1 px-0\">\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon w-100 h-100 p-0 m-0\"\n onClick={this.handleDelete}\n >\n <FontAwesomeIcon icon={vsTrash} />\n <Tooltip>Remove Filter</Tooltip>\n </button>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default AdvancedFilterCreatorFilterItem;\n"],"file":"AdvancedFilterCreatorFilterItem.js"}
|
|
1
|
+
{"version":3,"sources":["../src/AdvancedFilterCreatorFilterItem.tsx"],"names":["React","PureComponent","FontAwesomeIcon","Tooltip","getLabelForBooleanFilter","getLabelForDateFilter","getLabelForNumberFilter","getLabelForTextFilter","vsTrash","TableUtils","Log","classNames","memoizeOne","log","module","AdvancedFilterCreatorFilterItem","getLabelForFilter","columnType","filterType","isNumberType","isCharType","isTextType","isDateType","isBooleanType","Error","e","warn","constructor","props","column","operation","value","timeZone","makeAdvancedValueFilter","handleDelete","bind","handleTypeChange","handleValueChange","typeDropdown","filterTypes","selectedType","state","componentDidMount","focus","componentDidUpdate","prevProps","undefined","setState","event","target","debug2","onChange","length","debug","onDelete","render","formatter","showValueInput","type","typeOptionElements","isValid","getCachedIsValid","i","label","element","push","error"],"mappings":"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","sourcesContent":["/* eslint react/no-did-update-set-state: \"off\" */\nimport React, { PureComponent } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { Tooltip } from '@deephaven/components';\nimport {\n getLabelForBooleanFilter,\n getLabelForDateFilter,\n getLabelForNumberFilter,\n getLabelForTextFilter,\n TypeValue as FilterTypeValue,\n} from '@deephaven/filters';\nimport { vsTrash } from '@deephaven/icons';\nimport { Column } from '@deephaven/jsapi-shim';\nimport {\n AdvancedFilterItemType,\n Formatter,\n TableUtils,\n} from '@deephaven/jsapi-utils';\nimport Log from '@deephaven/log';\nimport classNames from 'classnames';\nimport memoizeOne from 'memoize-one';\nimport './AdvancedFilterCreatorFilterItem.scss';\n\nconst log = Log.module('AdvancedFilterCreatorFilterItem');\n\nexport interface AdvancedFilterCreatorFilterItemProps {\n column: Column;\n filterTypes: FilterTypeValue[];\n onChange(type: FilterTypeValue, value: string): void;\n onDelete(): void;\n selectedType?: FilterTypeValue;\n value?: string;\n formatter: Formatter;\n}\n\nexport type AdvancedFilterCreatorFilterItemState = AdvancedFilterItemType;\n\nexport class AdvancedFilterCreatorFilterItem extends PureComponent<\n AdvancedFilterCreatorFilterItemProps,\n AdvancedFilterCreatorFilterItemState\n> {\n static getLabelForFilter(\n columnType: string,\n filterType: FilterTypeValue\n ): string {\n try {\n if (\n TableUtils.isNumberType(columnType) ||\n TableUtils.isCharType(columnType)\n ) {\n return getLabelForNumberFilter(filterType);\n }\n if (TableUtils.isTextType(columnType)) {\n return getLabelForTextFilter(filterType);\n }\n if (TableUtils.isDateType(columnType)) {\n return getLabelForDateFilter(filterType);\n }\n if (TableUtils.isBooleanType(columnType)) {\n return getLabelForBooleanFilter(filterType);\n }\n throw new Error(`Unrecognized column type: ${columnType}`);\n } catch (e) {\n log.warn(e);\n return '';\n }\n }\n\n constructor(props: AdvancedFilterCreatorFilterItemProps) {\n super(props);\n\n this.handleDelete = this.handleDelete.bind(this);\n this.handleTypeChange = this.handleTypeChange.bind(this);\n this.handleValueChange = this.handleValueChange.bind(this);\n this.typeDropdown = null;\n\n const { value = '', filterTypes, selectedType = filterTypes[0] } = props;\n\n this.state = {\n selectedType,\n value,\n };\n }\n\n componentDidMount(): void {\n this.typeDropdown?.focus();\n }\n\n componentDidUpdate(prevProps: AdvancedFilterCreatorFilterItemProps): void {\n const { value, selectedType } = this.props;\n if (selectedType !== undefined && prevProps.selectedType !== selectedType) {\n this.setState({ selectedType });\n }\n if (value !== undefined && prevProps.value !== value) {\n this.setState({ value });\n }\n }\n\n typeDropdown: HTMLSelectElement | null;\n\n handleTypeChange(event: React.ChangeEvent<HTMLSelectElement>): void {\n const selectedType = event.target.value as FilterTypeValue;\n log.debug2('typeChange', selectedType);\n this.setState({ selectedType });\n\n const { onChange } = this.props;\n const { value } = this.state;\n if (value != null && value.length > 0) {\n // Don't send an update unless there's already a value entered\n onChange(selectedType, value);\n }\n }\n\n handleValueChange(event: React.ChangeEvent<HTMLInputElement>): void {\n log.debug2('valueChange');\n const { value } = event.target;\n this.setState({ value });\n\n const { onChange } = this.props;\n const { selectedType } = this.state;\n if (selectedType != null) {\n // Don't send an update unless they've already selected a type\n onChange(selectedType, value);\n }\n }\n\n handleDelete(): void {\n log.debug('delete');\n\n const { onDelete } = this.props;\n onDelete();\n }\n\n getCachedIsValid = memoizeOne(\n (\n column: Column,\n operation: FilterTypeValue,\n value: string,\n timeZone: string\n ): boolean => {\n try {\n // We don't want to show an error for an empty value\n return (\n !value ||\n TableUtils.makeAdvancedValueFilter(\n column,\n operation,\n value,\n timeZone\n ) != null\n );\n } catch (e) {\n return false;\n }\n }\n );\n\n render(): JSX.Element {\n const { column, filterTypes, formatter } = this.props;\n const { selectedType, value } = this.state;\n const showValueInput = !TableUtils.isBooleanType(column.type);\n const typeOptionElements = [];\n const isValid = this.getCachedIsValid(\n column,\n selectedType,\n value,\n formatter.timeZone\n );\n for (let i = 0; i < filterTypes.length; i += 1) {\n const type = filterTypes[i];\n const label = AdvancedFilterCreatorFilterItem.getLabelForFilter(\n column.type,\n type\n );\n const element = (\n <option key={type} value={type}>\n {label}\n </option>\n );\n typeOptionElements.push(element);\n }\n\n return (\n <div className=\"advanced-filter-creator-filter-item\">\n <div className=\"form-row\">\n <div className=\"form-group col\">\n <select\n className=\"form-control custom-select\"\n value={selectedType}\n onChange={this.handleTypeChange}\n ref={typeDropdown => {\n this.typeDropdown = typeDropdown;\n }}\n >\n {typeOptionElements}\n </select>\n </div>\n {showValueInput && (\n <div className=\"form-group col\">\n <div className=\"input-group\">\n <input\n type=\"text\"\n className={classNames('form-control', { error: !isValid })}\n placeholder=\"Enter value\"\n value={value}\n onChange={this.handleValueChange}\n />\n </div>\n </div>\n )}\n <div className=\"form-group col-1 px-0\">\n <button\n type=\"button\"\n className=\"btn btn-link btn-link-icon w-100 h-100 p-0 m-0\"\n onClick={this.handleDelete}\n >\n <FontAwesomeIcon icon={vsTrash} />\n <Tooltip>Remove Filter</Tooltip>\n </button>\n </div>\n </div>\n </div>\n );\n }\n}\n\nexport default AdvancedFilterCreatorFilterItem;\n"],"file":"AdvancedFilterCreatorFilterItem.js"}
|
package/dist/IrisGrid.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
|
|
|
4
4
|
import { Tooltip, ContextAction } from '@deephaven/components';
|
|
5
5
|
import { Grid, GridMetrics, GridMouseHandler, GridRange, GridRangeIndex, GridThemeType, KeyHandler, ModelIndex, ModelSizeMap, MoveOperation, VisibleIndex, GridState, BoundedAxisRange } from '@deephaven/grid';
|
|
6
6
|
import { Column, CustomColumn, FilterCondition, Sort, Table, TableViewportSubscription } from '@deephaven/jsapi-shim';
|
|
7
|
-
import { Formatter, FormattingRule, ReverseType, SortDirection, DateTimeColumnFormatterOptions, TableColumnFormat } from '@deephaven/jsapi-utils';
|
|
7
|
+
import { Formatter, FormattingRule, ReverseType, SortDirection, DateTimeColumnFormatterOptions, TableColumnFormat, Settings } from '@deephaven/jsapi-utils';
|
|
8
8
|
import { Pending } from '@deephaven/utils';
|
|
9
9
|
import { FormattingRule as SidebarFormattingRule } from './sidebar/conditional-formatting/ConditionalFormattingUtils';
|
|
10
10
|
import { CopyOperation } from './IrisGridCopyHandler';
|
|
@@ -24,20 +24,6 @@ import AggregationOperation from './sidebar/aggregations/AggregationOperation';
|
|
|
24
24
|
import { UIRollupConfig } from './sidebar/RollupRows';
|
|
25
25
|
import { VisibilityOptionType } from './sidebar/VisibilityOrderingBuilder';
|
|
26
26
|
import { AdvancedFilterMap, ColumnName, QuickFilterMap, AggregationMap, OperationMap, Action, OptionItem, UITotalsTableConfig, InputFilter, PendingDataMap, AdvancedFilterOptions } from './CommonTypes';
|
|
27
|
-
declare type Settings = {
|
|
28
|
-
defaultDateTimeFormat?: string;
|
|
29
|
-
defaultDecimalFormatOptions?: {
|
|
30
|
-
defaultFormatString?: string;
|
|
31
|
-
};
|
|
32
|
-
defaultIntegerFormatOptions?: {
|
|
33
|
-
defaultFormatString?: string;
|
|
34
|
-
};
|
|
35
|
-
formatter?: FormattingRule[];
|
|
36
|
-
timeZone?: string;
|
|
37
|
-
showTimeZone?: boolean;
|
|
38
|
-
showTSeparator?: boolean;
|
|
39
|
-
truncateNumbersWithPound?: boolean;
|
|
40
|
-
};
|
|
41
27
|
export declare type FilterMap = Map<ColumnName, {
|
|
42
28
|
columnType: string;
|
|
43
29
|
text: string;
|
package/dist/IrisGrid.d.ts.map
CHANGED
|
@@ -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,EASL,OAAO,EACP,aAAa,EAGd,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,EACjB,MAAM,iBAAiB,CAAC;AAiBzB,OAAW,EACT,MAAM,EACN,YAAY,EACZ,eAAe,EACf,IAAI,EACJ,KAAK,EACL,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAEL,SAAS,EAGT,cAAc,EACd,WAAW,EACX,aAAa,EACb,8BAA8B,EAC9B,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAEL,OAAO,EAGR,MAAM,kBAAkB,CAAC;AAI1B,OAAO,EACL,cAAc,IAAI,qBAAqB,EAExC,MAAM,6DAA6D,CAAC;AAErE,OAA4B,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAiBlD,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,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EACL,iBAAiB,EACjB,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,cAAc,EACd,qBAAqB,EACtB,MAAM,eAAe,CAAC;AAiDvB,aAAK,QAAQ,GAAG;IACd,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,2BAA2B,CAAC,EAAE;QAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,2BAA2B,CAAC,EAAE;QAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,oBAAY,SAAS,GAAG,GAAG,CACzB,UAAU,EACV;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CACrD,CAAC;AACF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,eAAe,EAAE,iBAAiB,CAAC;IACnC,gBAAgB,EAAE,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IACrD,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,uBAAuB,EAAE,OAAO,CAAC;IACjC,kBAAkB,EAAE,qBAAqB,EAAE,CAAC;IAC5C,qBAAqB,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACvD,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,aAAa,EAAE,OAAO,EAAE,CAAC;IACzB,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,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,cAAc,GAAG,IAAI,CAAC;IACpC,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IAEpC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,cAAc,EAAE,YAAY,CAAC;IAC7B,kBAAkB,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;IACtD,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,UAAU,EAAE,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAC;IAE7B,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,UAAU,EAAE,CAAC;IAG5B,KAAK,EAAE,aAAa,CAAC;IAErB,eAAe,EAAE,OAAO,CAAC;CAC1B;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,UAAU,EAAE,CAAC;IAC1B,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAElC,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,KAAK,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAGpC,YAAY,EAAE,cAAc,CAAC;IAC7B,eAAe,EAAE,iBAAiB,CAAC;IACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,UAAU,EAAE,CAAC;IAC5B,qBAAqB,EAAE,UAAU,EAAE,CAAC;IAGpC,cAAc,EAAE,SAAS,EAAE,CAAC;IAG5B,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,aAAa,EAAE,CAAC;IAC9B,SAAS,EAAE,aAAa,EAAE,CAAC;IAE3B,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,qBAAqB,EAAE,CAAC;IAC5C,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,UAAU,EAAE,CAAC;IACpC,mBAAmB,EAAE,OAAO,CAAC;IAE7B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,qBAAqB,EAAE,EAAE,CAAC;IAC1B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,mBAAmB,EAAE,WAAW,GAAG,IAAI,CAAC;IAExC,WAAW,EAAE,UAAU,EAAE,CAAC;IAE1B,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IACxC,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,UAAU,EAAE,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B,EAAE,aAAa,GAAG,IAAI,CAAC;IAEjD,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC;CACzB;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;IAEF,MAAM,CAAC,eAAe,CACpB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,IAAI;gBASb,KAAK,EAAE,aAAa;IAkThC,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,cAAc,EAAE,CAAC;IAEvC,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,4BAA4B,gFAG1B;IAEF,kCAAkC,0RAoBhC;IAEF,oBAAoB,szBA4GlB;IAEF,sBAAsB,gFAGnB;IAEH,iBAAiB,aACL,MAAM,EAAE,gBAAgB,WAAW,EAAE,KAAG,cAAc,+BAAtD,MAAM,EAAE,gBAAgB,WAAW,EAAE,KAAG,cAAc,EAYhE;IAEF,eAAe,aACH,MAAM,EAAE,gBAAgB,WAAW,EAAE,KAAG,YAAY,+BAApD,MAAM,EAAE,gBAAgB,WAAW,EAAE,KAAG,YAAY,EAmB9D;IAEF,iBAAiB,kBACA,WAAW,EAAE,KAAG,oBAAoB,EAAE,oCAAtC,WAAW,EAAE,KAAG,oBAAoB,EAAE,EAMrD;IAEF,sBAAsB,kHAEpB;IAIF,qBAAqB,wGAAoD;IAEzE;;;;;;;OAOG;IACH,6BAA6B,aAEhB,MAAM,EAAE,cACL,qBAAqB,EAAE,kFAGlC,YAAY,EAAE,+BAJN,MAAM,EAAE,cACL,qBAAqB,EAAE,kFAGlC,YAAY,EAAE,EAejB;IAEF,oBAAoB,kQAOlB;IAEF,oBAAoB,4DACsB,mBAAmB,GAAG,IAAI,8EAA1B,mBAAmB,GAAG,IAAI,EAelE;IAEF,sBAAsB;;;;;;;;;;;;;;;;;;;;;;OAyBpB;IAEF,eAAe,0PAeb;IAEF,cAAc,WAEH,aAAa,cACR,OAAO,KAClB,QAAQ,iBAAiB,CAAC,6BAFpB,aAAa,cACR,OAAO,KAClB,QAAQ,iBAAiB,CAAC,EAM7B;IAEF,eAAe,CACb,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,UAAQ,GACf,MAAM,GAAG,OAAO;IAgBnB,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;IAQtC,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,YAAY;IAKtD;;;;;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;IA8BV,oBAAoB,CAAC,eAAe,EAAE,iBAAiB,GAAG,IAAI;IAI9D,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,EACvB,IAAI,EAAE,MAAM,GACX,IAAI;IAYP;;;OAGG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAqCxC,kBAAkB,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI;IAsBjD,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,UAAU,EAAE,WACvB,MAAM,EAAE,gBACH,aAAa,EAAE,2BACJ,MAAM,4BACL,MAAM,qGAJZ,UAAU,EAAE,WACvB,MAAM,EAAE,gBACH,aAAa,EAAE,2BACJ,MAAM,4BACL,MAAM,6DA8BlC;IAEF,eAAe,CACb,cAAc,EAAE;QAAE,qBAAqB,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAA;KAAE,EAC3E,WAAW,UAAO,GACjB,IAAI;IA2BP,aAAa,IAAI,IAAI;IAKrB,SAAS,IAAI,IAAI;IAwCX,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoCjE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAWjE,QAAQ,CACN,WAAW,EAAE,cAAc,EAC3B,QAAQ,EAAE,cAAc,EACxB,QAAQ,UAAQ,GACf,IAAI;IAcP;;;;;;OAMG;IACH,UAAU,CACR,MAAM,EAAE,SAAS,EAAE,EACnB,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;IA+B1C,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,UAAU,EAAE,EAC1B,gBAAgB,CAAC,EAAE,oBAAoB,GACtC,IAAI;IAgBP,uBAAuB,CACrB,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,UAAU,EAAE,EACnC,mBAAmB,EAAE,OAAO,GAC3B,IAAI;IAiBP,kBAAkB,+CAED,MAAM,yBACI,UAAU,EAAE,WAC1B,MAAM,EAAE,uBACI,OAAO,KAC3B,IAAI,EAUP;IAEF,mBAAmB,IAAI,IAAI;IAS3B,oBAAoB,IAAI,IAAI;IAQ5B,kBAAkB,IAAI,IAAI;IAM1B,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM1C,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAK9C,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,IAAI,EAAE,GAAG,IAAI;IAMhC,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;IAcjC,eAAe,IAAI,IAAI;IAqBvB,aAAa,CAAC,GAAG,SAAK,GAAG,IAAI;IAkBvB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC9B,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;IAmB/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;IA6BP,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,EAAE,GAAG,IAAI;IAW1D,yBAAyB,CACvB,YAAY,EAAE,aAAa,EAAE,EAC7B,eAAe,GAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAsB,GACrD,IAAI;IAIP,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IASxC,8BAA8B,CAC5B,kBAAkB,EAAE,qBAAqB,EAAE,GAC1C,IAAI;IAKP,6BAA6B,IAAI,IAAI;IAiBrC,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAkBhD,mCAAmC,mGACmB,IAAI,EAIxD;IAEF,iCAAiC,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAkBtE,mCAAmC,IAAI,IAAI;IAO3C,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;IA+ExD,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;IAuBtD,2BAA2B,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI;IAsB5D,wBAAwB,IAAI,IAAI;IAgBhC,mBAAmB,CACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,KAAK,EAClB,iBAAiB,EAAE,yBAAyB,EAC5C,UAAU,EAAE,SAAS,EAAE,GACtB,IAAI;IA8BP,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,EAAE,GAAG,IAAI;IASvC,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,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,MAAM,IAAI,YAAY,GAAG,IAAI;CAkwB9B;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
|
@@ -939,15 +939,10 @@ export class IrisGrid extends Component {
|
|
|
939
939
|
}
|
|
940
940
|
}
|
|
941
941
|
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
text: value,
|
|
947
|
-
filter
|
|
948
|
-
});
|
|
949
|
-
}
|
|
950
|
-
|
|
942
|
+
quickFilters.set(modelIndex, {
|
|
943
|
+
text: value,
|
|
944
|
+
filter: IrisGrid.makeQuickFilter(column, value, formatter.timeZone)
|
|
945
|
+
});
|
|
951
946
|
return true;
|
|
952
947
|
}
|
|
953
948
|
|