@deephaven/iris-grid 0.13.3-treemap.2 → 0.14.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 +69 -63
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/AdvancedFilterCreator.js +79 -73
- package/dist/AdvancedFilterCreator.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.d.ts +45 -45
- package/dist/AdvancedFilterCreatorSelectValue.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +32 -36
- package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts +47 -52
- package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +24 -39
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
- package/dist/ColumnStatistics.d.ts +34 -22
- package/dist/ColumnStatistics.d.ts.map +1 -1
- package/dist/ColumnStatistics.js +8 -12
- package/dist/ColumnStatistics.js.map +1 -1
- package/dist/CommonTypes.d.ts +58 -0
- package/dist/CommonTypes.d.ts.map +1 -0
- package/dist/CommonTypes.js +2 -0
- package/dist/CommonTypes.js.map +1 -0
- package/dist/CrossColumnSearch.d.ts +26 -24
- package/dist/CrossColumnSearch.d.ts.map +1 -1
- package/dist/CrossColumnSearch.js +9 -13
- package/dist/CrossColumnSearch.js.map +1 -1
- package/dist/FilterInputField.d.ts +48 -51
- package/dist/FilterInputField.d.ts.map +1 -1
- package/dist/FilterInputField.js +30 -27
- package/dist/FilterInputField.js.map +1 -1
- package/dist/IrisGrid.d.ts +409 -453
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +514 -449
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts +1 -1
- package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
- package/dist/IrisGridCellOverflowModal.js.map +1 -1
- package/dist/IrisGridCopyHandler.d.ts +52 -46
- package/dist/IrisGridCopyHandler.d.ts.map +1 -1
- package/dist/IrisGridCopyHandler.js +22 -38
- package/dist/IrisGridCopyHandler.js.map +1 -1
- package/dist/IrisGridMetricCalculator.d.ts +5 -4
- package/dist/IrisGridMetricCalculator.d.ts.map +1 -1
- package/dist/IrisGridMetricCalculator.js +5 -1
- package/dist/IrisGridMetricCalculator.js.map +1 -1
- package/dist/IrisGridModel.d.ts +37 -35
- package/dist/IrisGridModel.d.ts.map +1 -1
- package/dist/IrisGridModel.js +19 -3
- package/dist/IrisGridModel.js.map +1 -1
- package/dist/IrisGridModelFactory.d.ts +7 -5
- package/dist/IrisGridModelFactory.d.ts.map +1 -1
- package/dist/IrisGridModelFactory.js +5 -5
- package/dist/IrisGridModelFactory.js.map +1 -1
- package/dist/IrisGridModelUpdater.d.ts +13 -11
- package/dist/IrisGridModelUpdater.d.ts.map +1 -1
- package/dist/IrisGridModelUpdater.js.map +1 -1
- package/dist/IrisGridPartitionSelector.d.ts +38 -39
- package/dist/IrisGridPartitionSelector.d.ts.map +1 -1
- package/dist/IrisGridPartitionSelector.js +18 -24
- package/dist/IrisGridPartitionSelector.js.map +1 -1
- package/dist/IrisGridProxyModel.d.ts +111 -32
- package/dist/IrisGridProxyModel.d.ts.map +1 -1
- package/dist/IrisGridProxyModel.js +212 -170
- package/dist/IrisGridProxyModel.js.map +1 -1
- package/dist/IrisGridRenderer.d.ts +59 -31
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +92 -46
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.d.ts +48 -147
- package/dist/IrisGridTableModel.d.ts.map +1 -1
- package/dist/IrisGridTableModel.js +58 -1381
- package/dist/IrisGridTableModel.js.map +1 -1
- package/dist/IrisGridTableModelTemplate.d.ts +219 -0
- package/dist/IrisGridTableModelTemplate.d.ts.map +1 -0
- package/dist/IrisGridTableModelTemplate.js +1623 -0
- package/dist/IrisGridTableModelTemplate.js.map +1 -0
- package/dist/IrisGridTestUtils.d.ts +18 -14
- package/dist/IrisGridTestUtils.d.ts.map +1 -1
- package/dist/IrisGridTestUtils.js +29 -1
- package/dist/IrisGridTestUtils.js.map +1 -1
- package/dist/IrisGridTheme.d.ts +35 -3
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTreeTableModel.d.ts +26 -7
- package/dist/IrisGridTreeTableModel.d.ts.map +1 -1
- package/dist/IrisGridTreeTableModel.js +24 -14
- package/dist/IrisGridTreeTableModel.js.map +1 -1
- package/dist/IrisGridUtils.d.ts +257 -162
- package/dist/IrisGridUtils.d.ts.map +1 -1
- package/dist/IrisGridUtils.js +132 -95
- package/dist/IrisGridUtils.js.map +1 -1
- package/dist/MissingKeyError.d.ts +5 -3
- package/dist/MissingKeyError.d.ts.map +1 -1
- package/dist/MissingKeyError.js.map +1 -1
- package/dist/PartitionSelectorSearch.d.ts +61 -40
- package/dist/PartitionSelectorSearch.d.ts.map +1 -1
- package/dist/PartitionSelectorSearch.js +25 -15
- package/dist/PartitionSelectorSearch.js.map +1 -1
- package/dist/PendingDataBottomBar.d.ts +3 -6
- package/dist/PendingDataBottomBar.d.ts.map +1 -1
- package/dist/PendingDataBottomBar.js.map +1 -1
- package/dist/TableViewportUpdater.d.ts +39 -55
- package/dist/TableViewportUpdater.d.ts.map +1 -1
- package/dist/TableViewportUpdater.js +42 -64
- package/dist/TableViewportUpdater.js.map +1 -1
- package/dist/TreeTableViewportUpdater.d.ts +29 -37
- package/dist/TreeTableViewportUpdater.d.ts.map +1 -1
- package/dist/TreeTableViewportUpdater.js +39 -50
- package/dist/TreeTableViewportUpdater.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +2 -0
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +1 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts +41 -130
- package/dist/mousehandlers/IrisGridContextMenuHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +426 -317
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js +2 -2
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js +1 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.d.ts +8 -4
- package/dist/mousehandlers/PendingMouseHandler.d.ts.map +1 -1
- package/dist/mousehandlers/PendingMouseHandler.js +4 -5
- package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
- package/dist/sidebar/ChartBuilder.d.ts +48 -33
- package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
- package/dist/sidebar/ChartBuilder.js +28 -27
- package/dist/sidebar/ChartBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.d.ts +51 -41
- package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +22 -18
- package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
- package/dist/sidebar/CustomColumnInput.d.ts +26 -36
- package/dist/sidebar/CustomColumnInput.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnInput.js +11 -20
- package/dist/sidebar/CustomColumnInput.js.map +1 -1
- package/dist/sidebar/InputEditor.d.ts +34 -35
- package/dist/sidebar/InputEditor.d.ts.map +1 -1
- package/dist/sidebar/InputEditor.js +43 -24
- package/dist/sidebar/InputEditor.js.map +1 -1
- package/dist/sidebar/RollupRows.d.ts +67 -52
- package/dist/sidebar/RollupRows.d.ts.map +1 -1
- package/dist/sidebar/RollupRows.js +51 -53
- package/dist/sidebar/RollupRows.js.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.d.ts +27 -21
- package/dist/sidebar/SelectDistinctBuilder.d.ts.map +1 -1
- package/dist/sidebar/SelectDistinctBuilder.js +6 -10
- package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
- package/dist/sidebar/TableCsvExporter.d.ts +42 -39
- package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
- package/dist/sidebar/TableCsvExporter.js +12 -20
- package/dist/sidebar/TableCsvExporter.js.map +1 -1
- package/dist/sidebar/TableSaver.d.ts +59 -60
- package/dist/sidebar/TableSaver.d.ts.map +1 -1
- package/dist/sidebar/TableSaver.js +154 -68
- package/dist/sidebar/TableSaver.js.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts +56 -45
- package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
- package/dist/sidebar/VisibilityOrderingBuilder.js +34 -29
- package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +2 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +6 -5
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +5 -0
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/icons/index.d.ts +7 -7
- package/dist/sidebar/icons/index.d.ts.map +1 -1
- package/dist/sidebar/icons/index.js.map +1 -1
- package/dist/sidebar/index.d.ts +12 -12
- package/dist/sidebar/index.d.ts.map +1 -1
- package/dist/sidebar/index.js.map +1 -1
- package/package.json +17 -16
|
@@ -1,34 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import React, { PureComponent } from 'react';
|
|
2
|
+
import { OperatorValue as FilterOperatorValue, TypeValue as FilterTypeValue } from '@deephaven/filters';
|
|
3
|
+
import { Formatter, SortDirection } from '@deephaven/jsapi-utils';
|
|
4
|
+
import { CancelablePromise } from '@deephaven/utils';
|
|
5
|
+
import { Column, FilterCondition, Table } from '@deephaven/jsapi-shim';
|
|
6
|
+
import './AdvancedFilterCreator.scss';
|
|
7
|
+
import IrisGridModel from './IrisGridModel';
|
|
8
|
+
import { AdvancedFilterOptions } from './CommonTypes';
|
|
9
|
+
declare type FilterChangeHandler = (selectedType: FilterTypeValue, value: string) => void;
|
|
10
|
+
interface AdvancedFilterCreatorProps {
|
|
11
|
+
model: IrisGridModel;
|
|
12
|
+
column: Column;
|
|
13
|
+
onFilterChange: (column: Column, filter: FilterCondition, options: AdvancedFilterOptions) => void;
|
|
14
|
+
onSortChange: (column: Column, direction: SortDirection, addToExisting?: boolean) => void;
|
|
15
|
+
onDone: () => void;
|
|
16
|
+
options: AdvancedFilterOptions;
|
|
17
|
+
sortDirection: SortDirection;
|
|
18
|
+
formatter: Formatter;
|
|
19
|
+
}
|
|
20
|
+
interface AdvancedFilterItem {
|
|
21
|
+
selectedType?: FilterTypeValue;
|
|
22
|
+
value?: string;
|
|
23
|
+
key: string;
|
|
24
|
+
}
|
|
25
|
+
interface AdvancedFilterCreatorState {
|
|
26
|
+
filterItems: AdvancedFilterItem[];
|
|
27
|
+
filterOperators: FilterOperatorValue[];
|
|
28
|
+
invertSelection: boolean;
|
|
29
|
+
selectedValues: unknown[];
|
|
30
|
+
valuesTableError: null;
|
|
31
|
+
valuesTable?: Table;
|
|
32
|
+
}
|
|
33
|
+
declare class AdvancedFilterCreator extends PureComponent<AdvancedFilterCreatorProps, AdvancedFilterCreatorState> {
|
|
3
34
|
static debounceFilterUpdate: number;
|
|
4
|
-
|
|
35
|
+
static defaultProps: {
|
|
36
|
+
options: {
|
|
37
|
+
filterItems: null;
|
|
38
|
+
filterOperators: null;
|
|
39
|
+
invertSelection: boolean;
|
|
40
|
+
selectedValues: never[];
|
|
41
|
+
};
|
|
42
|
+
sortDirection: null;
|
|
43
|
+
};
|
|
44
|
+
static makeFilterItem(): AdvancedFilterItem;
|
|
45
|
+
constructor(props: AdvancedFilterCreatorProps);
|
|
46
|
+
componentDidMount(): void;
|
|
47
|
+
componentWillUnmount(): void;
|
|
48
|
+
focusTrapContainer: React.RefObject<HTMLFormElement>;
|
|
49
|
+
debounceTimeout?: ReturnType<typeof setTimeout>;
|
|
50
|
+
filterKey: number;
|
|
51
|
+
valuesTablePromise?: CancelablePromise<Table>;
|
|
52
|
+
getFilterChangeHandler(index: number): FilterChangeHandler;
|
|
53
|
+
getFilterDeleteHandler(index: number): () => void;
|
|
54
|
+
getFilterTypes: (columnType: string) => FilterTypeValue[];
|
|
55
|
+
initValuesTable(): void;
|
|
56
|
+
handleFocusTrapEnd(): void;
|
|
57
|
+
handleFocusTrapStart(): void;
|
|
5
58
|
handleAddAnd(): void;
|
|
6
59
|
handleAddOr(): void;
|
|
7
|
-
handleChangeFilterOperator(event:
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
handleSelectValueChange(selectedValues: any, invertSelection: any): void;
|
|
60
|
+
handleChangeFilterOperator(event: React.MouseEvent<HTMLButtonElement>): void;
|
|
61
|
+
handleFilterChange(filterIndex: number, selectedType: FilterTypeValue, value: string): void;
|
|
62
|
+
handleFilterDelete(filterIndex: number): void;
|
|
63
|
+
handleSelectValueChange(selectedValues: unknown[], invertSelection: boolean): void;
|
|
12
64
|
handleReset(): void;
|
|
13
|
-
handleSortDown(event:
|
|
14
|
-
handleSortUp(event:
|
|
15
|
-
handleSubmit(event:
|
|
16
|
-
|
|
17
|
-
handleFocusTrapEnd(): void;
|
|
65
|
+
handleSortDown(event: React.MouseEvent<HTMLButtonElement>): void;
|
|
66
|
+
handleSortUp(event: React.MouseEvent<HTMLButtonElement>): void;
|
|
67
|
+
handleSubmit(event: React.FormEvent<HTMLFormElement>): void;
|
|
68
|
+
handleDone(event: React.MouseEvent<HTMLButtonElement>): void;
|
|
18
69
|
handleUpdateTimeout(): void;
|
|
19
|
-
focusTrapContainer: React.RefObject<any>;
|
|
20
|
-
debounceTimeout: NodeJS.Timeout | null;
|
|
21
|
-
filterKey: number;
|
|
22
|
-
valuesTablePromise: import("@deephaven/utils").CancelablePromise<import("@deephaven/jsapi-shim").Table> | null;
|
|
23
|
-
getFilterChangeHandler(index: any): (selectedType?: any, value?: any) => void;
|
|
24
|
-
getFilterDeleteHandler(index: any): () => void;
|
|
25
|
-
getFilterTypes: (this: any, columnType: any) => import("@deephaven/filters").Type[];
|
|
26
|
-
initValuesTable(): void;
|
|
27
|
-
makeFilterItem(updateKey?: boolean): {
|
|
28
|
-
selectedType: string;
|
|
29
|
-
value: string;
|
|
30
|
-
key: number;
|
|
31
|
-
};
|
|
32
70
|
/**
|
|
33
71
|
* Convenience function to check if the previous filter has been inputted, and
|
|
34
72
|
* we should show the add filter buttons (+ AND OR)
|
|
@@ -37,46 +75,14 @@ declare class AdvancedFilterCreator extends React.PureComponent<any, any, any> {
|
|
|
37
75
|
shouldShowAddFilter(): boolean;
|
|
38
76
|
/**
|
|
39
77
|
* Sorts the table in the specified direction. If already sorted in that direction, remove it.
|
|
40
|
-
* @param
|
|
41
|
-
* @param
|
|
78
|
+
* @param direction The sort direction, ASC or DESC
|
|
79
|
+
* @param addToExisting Add to the existing sort, or replace the existing table sort
|
|
42
80
|
*/
|
|
43
|
-
sortTable(direction:
|
|
81
|
+
sortTable(direction: SortDirection, addToExisting?: boolean): void;
|
|
44
82
|
startUpdateTimer(): void;
|
|
45
83
|
stopUpdateTimer(): void;
|
|
46
84
|
sendUpdate(): void;
|
|
85
|
+
render(): JSX.Element;
|
|
47
86
|
}
|
|
48
|
-
|
|
49
|
-
namespace propTypes {
|
|
50
|
-
const model: PropTypes.Validator<any>;
|
|
51
|
-
const column: PropTypes.Validator<PropTypes.InferProps<{
|
|
52
|
-
name: PropTypes.Requireable<string>;
|
|
53
|
-
type: PropTypes.Requireable<string>;
|
|
54
|
-
}>>;
|
|
55
|
-
const onFilterChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
56
|
-
const onSortChange: PropTypes.Validator<(...args: any[]) => any>;
|
|
57
|
-
const onDone: PropTypes.Validator<(...args: any[]) => any>;
|
|
58
|
-
const options: PropTypes.Requireable<PropTypes.InferProps<{
|
|
59
|
-
filterItems: PropTypes.Requireable<(PropTypes.InferProps<{}> | null | undefined)[]>;
|
|
60
|
-
filterOperators: PropTypes.Requireable<(PropTypes.InferProps<{}> | null | undefined)[]>;
|
|
61
|
-
invertSelection: PropTypes.Requireable<boolean>;
|
|
62
|
-
selectedValues: PropTypes.Requireable<any[]>;
|
|
63
|
-
}>>;
|
|
64
|
-
const sortDirection: PropTypes.Requireable<string>;
|
|
65
|
-
const formatter: PropTypes.Validator<Formatter>;
|
|
66
|
-
}
|
|
67
|
-
namespace defaultProps {
|
|
68
|
-
export namespace options_1 {
|
|
69
|
-
const filterItems: null;
|
|
70
|
-
const filterOperators: null;
|
|
71
|
-
const invertSelection: boolean;
|
|
72
|
-
const selectedValues: never[];
|
|
73
|
-
}
|
|
74
|
-
export { options_1 as options };
|
|
75
|
-
const sortDirection_1: null;
|
|
76
|
-
export { sortDirection_1 as sortDirection };
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
import React from "react";
|
|
80
|
-
import PropTypes from "prop-types";
|
|
81
|
-
import { Formatter } from "packages/jsapi-utils/src/Formatter";
|
|
87
|
+
export default AdvancedFilterCreator;
|
|
82
88
|
//# sourceMappingURL=AdvancedFilterCreator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdvancedFilterCreator.d.ts","sourceRoot":"","sources":["../src/AdvancedFilterCreator.
|
|
1
|
+
{"version":3,"file":"AdvancedFilterCreator.d.ts","sourceRoot":"","sources":["../src/AdvancedFilterCreator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,25 +4,38 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
4
4
|
// disabled for tab-index on focus traps, which are intentionally non-interactive
|
|
5
5
|
import React, { PureComponent } from 'react';
|
|
6
6
|
import classNames from 'classnames';
|
|
7
|
-
import PropTypes from 'prop-types';
|
|
8
7
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
9
8
|
import memoize from 'memoize-one';
|
|
10
|
-
import { Operator as FilterOperator } from '@deephaven/filters';
|
|
9
|
+
import { Operator as FilterOperator, assertOperatorValue as assertFilterOperatorValue } from '@deephaven/filters';
|
|
11
10
|
import { dhSortAmountDown, dhNewCircleLargeFilled } from '@deephaven/icons';
|
|
12
|
-
import {
|
|
11
|
+
import { TableUtils } from '@deephaven/jsapi-utils';
|
|
13
12
|
import { ContextActionUtils, Tooltip } from '@deephaven/components';
|
|
14
13
|
import Log from '@deephaven/log';
|
|
15
|
-
import { PromiseUtils } from '@deephaven/utils';
|
|
14
|
+
import { PromiseUtils, assertNotNull } from '@deephaven/utils';
|
|
15
|
+
import shortid from 'shortid';
|
|
16
16
|
import AdvancedFilterCreatorFilterItem from "./AdvancedFilterCreatorFilterItem.js";
|
|
17
17
|
import AdvancedFilterCreatorSelectValue from "./AdvancedFilterCreatorSelectValue.js";
|
|
18
|
-
import IrisGridModel from "./IrisGridModel.js";
|
|
19
18
|
import "./AdvancedFilterCreator.css";
|
|
20
19
|
var log = Log.module('AdvancedFilterCreator');
|
|
21
20
|
|
|
22
21
|
class AdvancedFilterCreator extends PureComponent {
|
|
22
|
+
static makeFilterItem() {
|
|
23
|
+
return {
|
|
24
|
+
key: shortid()
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
23
28
|
constructor(props) {
|
|
24
29
|
super(props);
|
|
25
30
|
|
|
31
|
+
_defineProperty(this, "focusTrapContainer", void 0);
|
|
32
|
+
|
|
33
|
+
_defineProperty(this, "debounceTimeout", void 0);
|
|
34
|
+
|
|
35
|
+
_defineProperty(this, "filterKey", void 0);
|
|
36
|
+
|
|
37
|
+
_defineProperty(this, "valuesTablePromise", void 0);
|
|
38
|
+
|
|
26
39
|
_defineProperty(this, "getFilterTypes", memoize(columnType => TableUtils.getFilterTypes(columnType)));
|
|
27
40
|
|
|
28
41
|
this.handleAddAnd = this.handleAddAnd.bind(this);
|
|
@@ -40,21 +53,29 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
40
53
|
this.handleFocusTrapEnd = this.handleFocusTrapEnd.bind(this);
|
|
41
54
|
this.handleUpdateTimeout = this.handleUpdateTimeout.bind(this);
|
|
42
55
|
this.focusTrapContainer = /*#__PURE__*/React.createRef();
|
|
43
|
-
this.debounceTimeout = null;
|
|
44
56
|
this.filterKey = 0;
|
|
45
|
-
this.valuesTablePromise = null;
|
|
46
57
|
var {
|
|
47
58
|
options
|
|
48
59
|
} = props;
|
|
49
60
|
var {
|
|
50
|
-
filterItems,
|
|
51
61
|
filterOperators,
|
|
52
62
|
invertSelection,
|
|
53
63
|
selectedValues
|
|
54
64
|
} = options;
|
|
65
|
+
var filterItems = options.filterItems.map(_ref => {
|
|
66
|
+
var {
|
|
67
|
+
selectedType,
|
|
68
|
+
value
|
|
69
|
+
} = _ref;
|
|
70
|
+
return {
|
|
71
|
+
selectedType,
|
|
72
|
+
value,
|
|
73
|
+
key: shortid()
|
|
74
|
+
};
|
|
75
|
+
});
|
|
55
76
|
|
|
56
77
|
if (filterItems == null) {
|
|
57
|
-
filterItems = [
|
|
78
|
+
filterItems = [AdvancedFilterCreator.makeFilterItem()];
|
|
58
79
|
}
|
|
59
80
|
|
|
60
81
|
if (filterOperators == null) {
|
|
@@ -77,7 +98,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
77
98
|
invertSelection,
|
|
78
99
|
selectedValues,
|
|
79
100
|
valuesTableError: null,
|
|
80
|
-
valuesTable:
|
|
101
|
+
valuesTable: undefined
|
|
81
102
|
};
|
|
82
103
|
}
|
|
83
104
|
|
|
@@ -135,13 +156,20 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
135
156
|
}
|
|
136
157
|
|
|
137
158
|
handleFocusTrapEnd() {
|
|
138
|
-
var
|
|
139
|
-
|
|
159
|
+
var _this$focusTrapContai, _this$focusTrapContai2;
|
|
160
|
+
|
|
161
|
+
((_this$focusTrapContai = this.focusTrapContainer) === null || _this$focusTrapContai === void 0 ? void 0 : (_this$focusTrapContai2 = _this$focusTrapContai.current) === null || _this$focusTrapContai2 === void 0 ? void 0 : _this$focusTrapContai2.querySelector('button,select,input,textarea')).focus();
|
|
140
162
|
}
|
|
141
163
|
|
|
142
164
|
handleFocusTrapStart() {
|
|
143
|
-
var
|
|
144
|
-
|
|
165
|
+
var _this$focusTrapContai3, _this$focusTrapContai4;
|
|
166
|
+
|
|
167
|
+
var inputs = (_this$focusTrapContai3 = this.focusTrapContainer) === null || _this$focusTrapContai3 === void 0 ? void 0 : (_this$focusTrapContai4 = _this$focusTrapContai3.current) === null || _this$focusTrapContai4 === void 0 ? void 0 : _this$focusTrapContai4.querySelectorAll('button,select,input,textarea');
|
|
168
|
+
|
|
169
|
+
if (inputs && inputs.length > 0) {
|
|
170
|
+
var element = inputs[inputs.length - 1];
|
|
171
|
+
element.focus();
|
|
172
|
+
}
|
|
145
173
|
}
|
|
146
174
|
|
|
147
175
|
handleAddAnd() {
|
|
@@ -149,7 +177,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
149
177
|
filterItems,
|
|
150
178
|
filterOperators
|
|
151
179
|
} = this.state;
|
|
152
|
-
filterItems = filterItems.concat(
|
|
180
|
+
filterItems = filterItems.concat(AdvancedFilterCreator.makeFilterItem());
|
|
153
181
|
filterOperators = filterOperators.concat(FilterOperator.and);
|
|
154
182
|
this.setState({
|
|
155
183
|
filterItems,
|
|
@@ -162,7 +190,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
162
190
|
filterItems,
|
|
163
191
|
filterOperators
|
|
164
192
|
} = this.state;
|
|
165
|
-
filterItems = filterItems.concat(
|
|
193
|
+
filterItems = filterItems.concat(AdvancedFilterCreator.makeFilterItem());
|
|
166
194
|
filterOperators = filterOperators.concat(FilterOperator.or);
|
|
167
195
|
this.setState({
|
|
168
196
|
filterItems,
|
|
@@ -171,14 +199,18 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
171
199
|
}
|
|
172
200
|
|
|
173
201
|
handleChangeFilterOperator(event) {
|
|
174
|
-
var
|
|
202
|
+
var target = event.currentTarget;
|
|
175
203
|
var {
|
|
176
|
-
operator
|
|
177
|
-
|
|
204
|
+
operator,
|
|
205
|
+
index: strIndex
|
|
206
|
+
} = target.dataset;
|
|
207
|
+
assertNotNull(strIndex);
|
|
208
|
+
var index = parseInt(strIndex, 10);
|
|
178
209
|
var {
|
|
179
210
|
filterOperators
|
|
180
211
|
} = this.state;
|
|
181
|
-
filterOperators = []
|
|
212
|
+
filterOperators = [...filterOperators];
|
|
213
|
+
assertFilterOperatorValue(operator);
|
|
182
214
|
filterOperators[index] = operator;
|
|
183
215
|
this.setState({
|
|
184
216
|
filterOperators
|
|
@@ -190,7 +222,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
190
222
|
var {
|
|
191
223
|
filterItems
|
|
192
224
|
} = this.state;
|
|
193
|
-
filterItems = []
|
|
225
|
+
filterItems = [...filterItems];
|
|
194
226
|
var {
|
|
195
227
|
key
|
|
196
228
|
} = filterItems[filterIndex];
|
|
@@ -210,8 +242,8 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
210
242
|
filterItems,
|
|
211
243
|
filterOperators
|
|
212
244
|
} = this.state;
|
|
213
|
-
filterItems = []
|
|
214
|
-
filterOperators = []
|
|
245
|
+
filterItems = [...filterItems];
|
|
246
|
+
filterOperators = [...filterOperators];
|
|
215
247
|
|
|
216
248
|
if (filterIndex < filterItems.length) {
|
|
217
249
|
filterItems.splice(filterIndex, 1);
|
|
@@ -225,7 +257,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
225
257
|
}
|
|
226
258
|
|
|
227
259
|
if (filterItems.length === 0) {
|
|
228
|
-
filterItems.push(
|
|
260
|
+
filterItems.push(AdvancedFilterCreator.makeFilterItem());
|
|
229
261
|
}
|
|
230
262
|
|
|
231
263
|
this.setState({
|
|
@@ -246,7 +278,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
246
278
|
handleReset() {
|
|
247
279
|
log.debug('Resetting Advanced Filter');
|
|
248
280
|
this.setState({
|
|
249
|
-
filterItems: [
|
|
281
|
+
filterItems: [AdvancedFilterCreator.makeFilterItem()],
|
|
250
282
|
filterOperators: [],
|
|
251
283
|
selectedValues: [],
|
|
252
284
|
invertSelection: true
|
|
@@ -283,24 +315,9 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
283
315
|
}
|
|
284
316
|
|
|
285
317
|
handleUpdateTimeout() {
|
|
286
|
-
this.debounceTimeout =
|
|
318
|
+
this.debounceTimeout = undefined;
|
|
287
319
|
this.sendUpdate();
|
|
288
320
|
}
|
|
289
|
-
|
|
290
|
-
makeFilterItem() {
|
|
291
|
-
var updateKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
292
|
-
var key = this.filterKey;
|
|
293
|
-
|
|
294
|
-
if (updateKey) {
|
|
295
|
-
this.filterKey += 1;
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
return {
|
|
299
|
-
selectedType: '',
|
|
300
|
-
value: '',
|
|
301
|
-
key
|
|
302
|
-
};
|
|
303
|
-
}
|
|
304
321
|
/**
|
|
305
322
|
* Convenience function to check if the previous filter has been inputted, and
|
|
306
323
|
* we should show the add filter buttons (+ AND OR)
|
|
@@ -326,8 +343,8 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
326
343
|
}
|
|
327
344
|
/**
|
|
328
345
|
* Sorts the table in the specified direction. If already sorted in that direction, remove it.
|
|
329
|
-
* @param
|
|
330
|
-
* @param
|
|
346
|
+
* @param direction The sort direction, ASC or DESC
|
|
347
|
+
* @param addToExisting Add to the existing sort, or replace the existing table sort
|
|
331
348
|
*/
|
|
332
349
|
|
|
333
350
|
|
|
@@ -346,9 +363,9 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
346
363
|
}
|
|
347
364
|
|
|
348
365
|
stopUpdateTimer() {
|
|
349
|
-
if (this.debounceTimeout) {
|
|
366
|
+
if (this.debounceTimeout !== undefined) {
|
|
350
367
|
clearTimeout(this.debounceTimeout);
|
|
351
|
-
this.debounceTimeout =
|
|
368
|
+
this.debounceTimeout = undefined;
|
|
352
369
|
}
|
|
353
370
|
}
|
|
354
371
|
|
|
@@ -368,7 +385,13 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
368
385
|
formatter
|
|
369
386
|
} = model;
|
|
370
387
|
var options = {
|
|
371
|
-
filterItems
|
|
388
|
+
filterItems: filterItems.filter(_ref2 => {
|
|
389
|
+
var {
|
|
390
|
+
selectedType,
|
|
391
|
+
value
|
|
392
|
+
} = _ref2;
|
|
393
|
+
return selectedType != null && value != null;
|
|
394
|
+
}),
|
|
372
395
|
filterOperators,
|
|
373
396
|
invertSelection,
|
|
374
397
|
selectedValues
|
|
@@ -406,8 +429,8 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
406
429
|
var filterItem = filterItems[i];
|
|
407
430
|
var {
|
|
408
431
|
key,
|
|
409
|
-
selectedType,
|
|
410
|
-
value
|
|
432
|
+
selectedType: _selectedType,
|
|
433
|
+
value: _value
|
|
411
434
|
} = filterItem;
|
|
412
435
|
var element = /*#__PURE__*/React.createElement(AdvancedFilterCreatorFilterItem, {
|
|
413
436
|
key: key,
|
|
@@ -415,8 +438,8 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
415
438
|
filterTypes: filterTypes,
|
|
416
439
|
onChange: this.getFilterChangeHandler(i),
|
|
417
440
|
onDelete: this.getFilterDeleteHandler(i),
|
|
418
|
-
selectedType:
|
|
419
|
-
value:
|
|
441
|
+
selectedType: _selectedType,
|
|
442
|
+
value: _value
|
|
420
443
|
});
|
|
421
444
|
filterItemElements.push(element);
|
|
422
445
|
|
|
@@ -474,7 +497,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
474
497
|
className: "advanced-filter-creator",
|
|
475
498
|
role: "presentation"
|
|
476
499
|
}, /*#__PURE__*/React.createElement("div", {
|
|
477
|
-
tabIndex:
|
|
500
|
+
tabIndex: 0,
|
|
478
501
|
onFocus: this.handleFocusTrapStart
|
|
479
502
|
}), /*#__PURE__*/React.createElement("form", {
|
|
480
503
|
onSubmit: this.handleSubmit,
|
|
@@ -506,7 +529,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
506
529
|
className: "advanced-filter-column-name"
|
|
507
530
|
}, column.name, "\xA0", /*#__PURE__*/React.createElement("span", {
|
|
508
531
|
className: "column-type"
|
|
509
|
-
}, "(", columnType, ")")), filterItemElements, isValuesTableAvailable && !valuesTableError && /*#__PURE__*/React.createElement(React.Fragment, null, !isBoolean && /*#__PURE__*/React.createElement("hr", null), /*#__PURE__*/React.createElement("div", {
|
|
532
|
+
}, "(", columnType, ")")), filterItemElements, isValuesTableAvailable && !valuesTableError && /*#__PURE__*/React.createElement(React.Fragment, null, !isBoolean && /*#__PURE__*/React.createElement("hr", null), valuesTable && /*#__PURE__*/React.createElement("div", {
|
|
510
533
|
className: "form-group"
|
|
511
534
|
}, /*#__PURE__*/React.createElement(AdvancedFilterCreatorSelectValue, {
|
|
512
535
|
table: valuesTable,
|
|
@@ -527,7 +550,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
527
550
|
className: "btn btn-primary",
|
|
528
551
|
onClick: this.handleDone
|
|
529
552
|
}, "Done"))), /*#__PURE__*/React.createElement("div", {
|
|
530
|
-
tabIndex:
|
|
553
|
+
tabIndex: 0,
|
|
531
554
|
onFocus: this.handleFocusTrapEnd
|
|
532
555
|
}));
|
|
533
556
|
}
|
|
@@ -536,25 +559,7 @@ class AdvancedFilterCreator extends PureComponent {
|
|
|
536
559
|
|
|
537
560
|
_defineProperty(AdvancedFilterCreator, "debounceFilterUpdate", 250);
|
|
538
561
|
|
|
539
|
-
AdvancedFilterCreator
|
|
540
|
-
model: PropTypes.instanceOf(IrisGridModel).isRequired,
|
|
541
|
-
column: PropTypes.shape({
|
|
542
|
-
name: PropTypes.string,
|
|
543
|
-
type: PropTypes.string
|
|
544
|
-
}).isRequired,
|
|
545
|
-
onFilterChange: PropTypes.func.isRequired,
|
|
546
|
-
onSortChange: PropTypes.func.isRequired,
|
|
547
|
-
onDone: PropTypes.func.isRequired,
|
|
548
|
-
options: PropTypes.shape({
|
|
549
|
-
filterItems: PropTypes.arrayOf(PropTypes.shape({})),
|
|
550
|
-
filterOperators: PropTypes.arrayOf(PropTypes.shape({})),
|
|
551
|
-
invertSelection: PropTypes.bool,
|
|
552
|
-
selectedValues: PropTypes.arrayOf(PropTypes.any)
|
|
553
|
-
}),
|
|
554
|
-
sortDirection: PropTypes.string,
|
|
555
|
-
formatter: PropTypes.instanceOf(Formatter).isRequired
|
|
556
|
-
};
|
|
557
|
-
AdvancedFilterCreator.defaultProps = {
|
|
562
|
+
_defineProperty(AdvancedFilterCreator, "defaultProps", {
|
|
558
563
|
options: {
|
|
559
564
|
filterItems: null,
|
|
560
565
|
filterOperators: null,
|
|
@@ -562,6 +567,7 @@ AdvancedFilterCreator.defaultProps = {
|
|
|
562
567
|
selectedValues: []
|
|
563
568
|
},
|
|
564
569
|
sortDirection: null
|
|
565
|
-
};
|
|
570
|
+
});
|
|
571
|
+
|
|
566
572
|
export default AdvancedFilterCreator;
|
|
567
573
|
//# sourceMappingURL=AdvancedFilterCreator.js.map
|