@deephaven/iris-grid 0.22.3-embed-pandas.11 → 0.23.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.
Files changed (243) hide show
  1. package/dist/AdvancedFilterCreator.d.ts +1 -1
  2. package/dist/AdvancedFilterCreator.d.ts.map +1 -1
  3. package/dist/AdvancedFilterCreator.js +7 -65
  4. package/dist/AdvancedFilterCreator.js.map +1 -1
  5. package/dist/AdvancedFilterCreatorFilterItem.d.ts +1 -1
  6. package/dist/AdvancedFilterCreatorFilterItem.d.ts.map +1 -1
  7. package/dist/AdvancedFilterCreatorFilterItem.js +0 -23
  8. package/dist/AdvancedFilterCreatorFilterItem.js.map +1 -1
  9. package/dist/AdvancedFilterCreatorSelectValue.js +0 -52
  10. package/dist/AdvancedFilterCreatorSelectValue.js.map +1 -1
  11. package/dist/AdvancedFilterCreatorSelectValueList.d.ts +1 -5
  12. package/dist/AdvancedFilterCreatorSelectValueList.d.ts.map +1 -1
  13. package/dist/AdvancedFilterCreatorSelectValueList.js +2 -42
  14. package/dist/AdvancedFilterCreatorSelectValueList.js.map +1 -1
  15. package/dist/ColumnHeaderGroup.js +0 -11
  16. package/dist/ColumnHeaderGroup.js.map +1 -1
  17. package/dist/ColumnStatistics.d.ts +0 -2
  18. package/dist/ColumnStatistics.d.ts.map +1 -1
  19. package/dist/ColumnStatistics.js +8 -40
  20. package/dist/ColumnStatistics.js.map +1 -1
  21. package/dist/CommonTypes.d.ts +14 -14
  22. package/dist/CommonTypes.d.ts.map +1 -1
  23. package/dist/CrossColumnSearch.js +2 -23
  24. package/dist/CrossColumnSearch.js.map +1 -1
  25. package/dist/FilterInputField.js +2 -36
  26. package/dist/FilterInputField.js.map +1 -1
  27. package/dist/GotoRow.d.ts +1 -1
  28. package/dist/GotoRow.d.ts.map +1 -1
  29. package/dist/GotoRow.js +2 -7
  30. package/dist/GotoRow.js.map +1 -1
  31. package/dist/IrisGrid.d.ts +46 -40
  32. package/dist/IrisGrid.d.ts.map +1 -1
  33. package/dist/IrisGrid.js +84 -526
  34. package/dist/IrisGrid.js.map +1 -1
  35. package/dist/IrisGridBottomBar.d.ts +2 -2
  36. package/dist/IrisGridBottomBar.d.ts.map +1 -1
  37. package/dist/IrisGridBottomBar.js +2 -2
  38. package/dist/IrisGridBottomBar.js.map +1 -1
  39. package/dist/IrisGridCellOverflowModal.d.ts.map +1 -1
  40. package/dist/IrisGridCellOverflowModal.js +13 -46
  41. package/dist/IrisGridCellOverflowModal.js.map +1 -1
  42. package/dist/IrisGridCopyHandler.d.ts +3 -3
  43. package/dist/IrisGridCopyHandler.d.ts.map +1 -1
  44. package/dist/IrisGridCopyHandler.js +6 -53
  45. package/dist/IrisGridCopyHandler.js.map +1 -1
  46. package/dist/IrisGridMetricCalculator.js +2 -12
  47. package/dist/IrisGridMetricCalculator.js.map +1 -1
  48. package/dist/IrisGridModel.d.ts +3 -3
  49. package/dist/IrisGridModel.d.ts.map +1 -1
  50. package/dist/IrisGridModel.js +32 -58
  51. package/dist/IrisGridModel.js.map +1 -1
  52. package/dist/IrisGridModelFactory.js +0 -7
  53. package/dist/IrisGridModelFactory.js.map +1 -1
  54. package/dist/IrisGridModelUpdater.js +0 -4
  55. package/dist/IrisGridModelUpdater.js.map +1 -1
  56. package/dist/IrisGridPartitionSelector.js +0 -23
  57. package/dist/IrisGridPartitionSelector.js.map +1 -1
  58. package/dist/IrisGridProxyModel.js +9 -153
  59. package/dist/IrisGridProxyModel.js.map +1 -1
  60. package/dist/IrisGridRenderer.d.ts +1 -1
  61. package/dist/IrisGridRenderer.d.ts.map +1 -1
  62. package/dist/IrisGridRenderer.js +41 -183
  63. package/dist/IrisGridRenderer.js.map +1 -1
  64. package/dist/IrisGridShortcuts.js.map +1 -1
  65. package/dist/IrisGridTableModel.d.ts +3 -3
  66. package/dist/IrisGridTableModel.d.ts.map +1 -1
  67. package/dist/IrisGridTableModel.js +10 -90
  68. package/dist/IrisGridTableModel.js.map +1 -1
  69. package/dist/IrisGridTableModelTemplate.d.ts +3 -3
  70. package/dist/IrisGridTableModelTemplate.d.ts.map +1 -1
  71. package/dist/IrisGridTableModelTemplate.js +70 -461
  72. package/dist/IrisGridTableModelTemplate.js.map +1 -1
  73. package/dist/IrisGridTestUtils.js +0 -23
  74. package/dist/IrisGridTestUtils.js.map +1 -1
  75. package/dist/IrisGridTheme.d.ts +1 -1
  76. package/dist/IrisGridTheme.d.ts.map +1 -1
  77. package/dist/IrisGridTheme.js.map +1 -1
  78. package/dist/IrisGridTreeTableModel.js +3 -42
  79. package/dist/IrisGridTreeTableModel.js.map +1 -1
  80. package/dist/IrisGridUtils.d.ts +13 -7
  81. package/dist/IrisGridUtils.d.ts.map +1 -1
  82. package/dist/IrisGridUtils.js +98 -196
  83. package/dist/IrisGridUtils.js.map +1 -1
  84. package/dist/MissingKeyError.js +0 -7
  85. package/dist/MissingKeyError.js.map +1 -1
  86. package/dist/PartitionSelectorSearch.d.ts +2 -2
  87. package/dist/PartitionSelectorSearch.js +2 -48
  88. package/dist/PartitionSelectorSearch.js.map +1 -1
  89. package/dist/PendingDataBottomBar.d.ts +2 -2
  90. package/dist/PendingDataBottomBar.d.ts.map +1 -1
  91. package/dist/PendingDataBottomBar.js +2 -7
  92. package/dist/PendingDataBottomBar.js.map +1 -1
  93. package/dist/TableViewportUpdater.d.ts +2 -2
  94. package/dist/TableViewportUpdater.d.ts.map +1 -1
  95. package/dist/TableViewportUpdater.js +3 -29
  96. package/dist/TableViewportUpdater.js.map +1 -1
  97. package/dist/ToastBottomBar.d.ts +2 -2
  98. package/dist/ToastBottomBar.d.ts.map +1 -1
  99. package/dist/ToastBottomBar.js +2 -4
  100. package/dist/ToastBottomBar.js.map +1 -1
  101. package/dist/TreeTableViewportUpdater.js +0 -21
  102. package/dist/TreeTableViewportUpdater.js.map +1 -1
  103. package/dist/format-context-menus/CustomFormatAction.d.ts +1 -1
  104. package/dist/format-context-menus/CustomFormatAction.d.ts.map +1 -1
  105. package/dist/format-context-menus/CustomFormatAction.js +4 -25
  106. package/dist/format-context-menus/CustomFormatAction.js.map +1 -1
  107. package/dist/format-context-menus/DateTimeFormatContextMenu.js +0 -7
  108. package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +1 -1
  109. package/dist/format-context-menus/DecimalFormatContextMenu.js +0 -9
  110. package/dist/format-context-menus/DecimalFormatContextMenu.js.map +1 -1
  111. package/dist/format-context-menus/FormatContextMenuUtils.js +3 -9
  112. package/dist/format-context-menus/FormatContextMenuUtils.js.map +1 -1
  113. package/dist/format-context-menus/IntegerFormatContextMenu.js +0 -8
  114. package/dist/format-context-menus/IntegerFormatContextMenu.js.map +1 -1
  115. package/dist/format-context-menus/index.js.map +1 -1
  116. package/dist/index.d.ts +3 -3
  117. package/dist/index.d.ts.map +1 -1
  118. package/dist/index.js +3 -3
  119. package/dist/index.js.map +1 -1
  120. package/dist/key-handlers/ClearFilterKeyHandler.js +0 -8
  121. package/dist/key-handlers/ClearFilterKeyHandler.js.map +1 -1
  122. package/dist/key-handlers/CopyKeyHandler.js +1 -10
  123. package/dist/key-handlers/CopyKeyHandler.js.map +1 -1
  124. package/dist/key-handlers/ReverseKeyHandler.js +0 -11
  125. package/dist/key-handlers/ReverseKeyHandler.js.map +1 -1
  126. package/dist/key-handlers/index.js.map +1 -1
  127. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +2 -32
  128. package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -1
  129. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +4 -34
  130. package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +1 -1
  131. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +0 -20
  132. package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +1 -1
  133. package/dist/mousehandlers/IrisGridContextMenuHandler.js +17 -107
  134. package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +1 -1
  135. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +0 -9
  136. package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +1 -1
  137. package/dist/mousehandlers/IrisGridFilterMouseHandler.js +0 -17
  138. package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +1 -1
  139. package/dist/mousehandlers/IrisGridSortMouseHandler.js +2 -15
  140. package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +1 -1
  141. package/dist/mousehandlers/PendingMouseHandler.js +0 -6
  142. package/dist/mousehandlers/PendingMouseHandler.js.map +1 -1
  143. package/dist/mousehandlers/index.js.map +1 -1
  144. package/dist/sidebar/AdvancedSettings.js.map +1 -1
  145. package/dist/sidebar/AdvancedSettingsMenu.d.ts +6 -6
  146. package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
  147. package/dist/sidebar/AdvancedSettingsMenu.js +2 -6
  148. package/dist/sidebar/AdvancedSettingsMenu.js.map +1 -1
  149. package/dist/sidebar/AdvancedSettingsType.js +0 -2
  150. package/dist/sidebar/AdvancedSettingsType.js.map +1 -1
  151. package/dist/sidebar/ChartBuilder.d.ts +2 -2
  152. package/dist/sidebar/ChartBuilder.d.ts.map +1 -1
  153. package/dist/sidebar/ChartBuilder.js +2 -46
  154. package/dist/sidebar/ChartBuilder.js.map +1 -1
  155. package/dist/sidebar/CustomColumnBuilder.d.ts +2 -2
  156. package/dist/sidebar/CustomColumnBuilder.d.ts.map +1 -1
  157. package/dist/sidebar/CustomColumnBuilder.js +6 -58
  158. package/dist/sidebar/CustomColumnBuilder.js.map +1 -1
  159. package/dist/sidebar/CustomColumnInput.js +4 -15
  160. package/dist/sidebar/CustomColumnInput.js.map +1 -1
  161. package/dist/sidebar/InputEditor.js +5 -36
  162. package/dist/sidebar/InputEditor.js.map +1 -1
  163. package/dist/sidebar/OptionType.js +0 -2
  164. package/dist/sidebar/OptionType.js.map +1 -1
  165. package/dist/sidebar/RollupRows.d.ts +3 -3
  166. package/dist/sidebar/RollupRows.d.ts.map +1 -1
  167. package/dist/sidebar/RollupRows.js +9 -65
  168. package/dist/sidebar/RollupRows.js.map +1 -1
  169. package/dist/sidebar/SelectDistinctBuilder.js +0 -13
  170. package/dist/sidebar/SelectDistinctBuilder.js.map +1 -1
  171. package/dist/sidebar/TableCsvExporter.css +3 -0
  172. package/dist/sidebar/TableCsvExporter.css.map +1 -1
  173. package/dist/sidebar/TableCsvExporter.d.ts +12 -6
  174. package/dist/sidebar/TableCsvExporter.d.ts.map +1 -1
  175. package/dist/sidebar/TableCsvExporter.js +88 -82
  176. package/dist/sidebar/TableCsvExporter.js.map +1 -1
  177. package/dist/sidebar/TableSaver.d.ts +5 -3
  178. package/dist/sidebar/TableSaver.d.ts.map +1 -1
  179. package/dist/sidebar/TableSaver.js +52 -132
  180. package/dist/sidebar/TableSaver.js.map +1 -1
  181. package/dist/sidebar/VisibilityOrderingBuilder.d.ts +5 -4
  182. package/dist/sidebar/VisibilityOrderingBuilder.d.ts.map +1 -1
  183. package/dist/sidebar/VisibilityOrderingBuilder.js +37 -116
  184. package/dist/sidebar/VisibilityOrderingBuilder.js.map +1 -1
  185. package/dist/sidebar/aggregations/AggregationEdit.d.ts +2 -2
  186. package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
  187. package/dist/sidebar/aggregations/AggregationEdit.js +2 -14
  188. package/dist/sidebar/aggregations/AggregationEdit.js.map +1 -1
  189. package/dist/sidebar/aggregations/AggregationOperation.js +0 -2
  190. package/dist/sidebar/aggregations/AggregationOperation.js.map +1 -1
  191. package/dist/sidebar/aggregations/AggregationUtils.js +2 -5
  192. package/dist/sidebar/aggregations/AggregationUtils.js.map +1 -1
  193. package/dist/sidebar/aggregations/Aggregations.d.ts +4 -4
  194. package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
  195. package/dist/sidebar/aggregations/Aggregations.js +2 -12
  196. package/dist/sidebar/aggregations/Aggregations.js.map +1 -1
  197. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +1 -1
  198. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
  199. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -16
  200. package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +1 -1
  201. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +1 -1
  202. package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
  203. package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -35
  204. package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
  205. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +4 -4
  206. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
  207. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +2 -12
  208. package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
  209. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +0 -3
  210. package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +1 -1
  211. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +5 -5
  212. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
  213. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +16 -26
  214. package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
  215. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +3 -3
  216. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
  217. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +9 -172
  218. package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
  219. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +1 -1
  220. package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
  221. package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -16
  222. package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +1 -1
  223. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts +1 -1
  224. package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
  225. package/dist/sidebar/conditional-formatting/StyleEditor.js +2 -12
  226. package/dist/sidebar/conditional-formatting/StyleEditor.js.map +1 -1
  227. package/dist/sidebar/icons/BarIcon.js +0 -3
  228. package/dist/sidebar/icons/BarIcon.js.map +1 -1
  229. package/dist/sidebar/icons/FormatColumnWhereIcon.js +2 -5
  230. package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +1 -1
  231. package/dist/sidebar/icons/FormatRowWhereIcon.js +2 -5
  232. package/dist/sidebar/icons/FormatRowWhereIcon.js.map +1 -1
  233. package/dist/sidebar/icons/HistogramIcon.js +0 -3
  234. package/dist/sidebar/icons/HistogramIcon.js.map +1 -1
  235. package/dist/sidebar/icons/LineIcon.js +0 -3
  236. package/dist/sidebar/icons/LineIcon.js.map +1 -1
  237. package/dist/sidebar/icons/PieIcon.js +0 -3
  238. package/dist/sidebar/icons/PieIcon.js.map +1 -1
  239. package/dist/sidebar/icons/ScatterIcon.js +0 -3
  240. package/dist/sidebar/icons/ScatterIcon.js.map +1 -1
  241. package/dist/sidebar/icons/index.js.map +1 -1
  242. package/dist/sidebar/index.js.map +1 -1
  243. package/package.json +15 -15
@@ -6,7 +6,7 @@ import { Column, FilterCondition, Table } from '@deephaven/jsapi-shim';
6
6
  import './AdvancedFilterCreator.scss';
7
7
  import IrisGridModel from './IrisGridModel';
8
8
  import { AdvancedFilterOptions } from './CommonTypes';
9
- declare type FilterChangeHandler = (selectedType: FilterTypeValue, value: string) => void;
9
+ type FilterChangeHandler = (selectedType: FilterTypeValue, value: string) => void;
10
10
  interface AdvancedFilterCreatorProps {
11
11
  model: IrisGridModel;
12
12
  column: Column;
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
-
3
2
  /* eslint-disable jsx-a11y/no-noninteractive-tabindex */
4
3
  // disabled for tab-index on focus traps, which are intentionally non-interactive
4
+
5
5
  import React, { PureComponent } from 'react';
6
6
  import classNames from 'classnames';
7
7
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
@@ -17,27 +17,19 @@ import AdvancedFilterCreatorFilterItem from "./AdvancedFilterCreatorFilterItem.j
17
17
  import AdvancedFilterCreatorSelectValue from "./AdvancedFilterCreatorSelectValue.js";
18
18
  import "./AdvancedFilterCreator.css";
19
19
  var log = Log.module('AdvancedFilterCreator');
20
-
21
20
  class AdvancedFilterCreator extends PureComponent {
22
21
  static makeFilterItem() {
23
22
  return {
24
23
  key: shortid()
25
24
  };
26
25
  }
27
-
28
26
  constructor(props) {
29
27
  var _options$filterItems$, _options$filterItems;
30
-
31
28
  super(props);
32
-
33
29
  _defineProperty(this, "focusTrapContainer", void 0);
34
-
35
30
  _defineProperty(this, "debounceTimeout", void 0);
36
-
37
31
  _defineProperty(this, "valuesTablePromise", void 0);
38
-
39
32
  _defineProperty(this, "getFilterTypes", memoize(columnType => TableUtils.getFilterTypes(columnType)));
40
-
41
33
  this.handleAddAnd = this.handleAddAnd.bind(this);
42
34
  this.handleAddOr = this.handleAddOr.bind(this);
43
35
  this.handleChangeFilterOperator = this.handleChangeFilterOperator.bind(this);
@@ -60,8 +52,9 @@ class AdvancedFilterCreator extends PureComponent {
60
52
  filterOperators,
61
53
  invertSelection,
62
54
  selectedValues
63
- } = options; // can be null or an empty array
55
+ } = options;
64
56
 
57
+ // can be null or an empty array
65
58
  var filterItems = (_options$filterItems$ = (_options$filterItems = options.filterItems) === null || _options$filterItems === void 0 ? void 0 : _options$filterItems.map(_ref => {
66
59
  var {
67
60
  selectedType,
@@ -73,23 +66,18 @@ class AdvancedFilterCreator extends PureComponent {
73
66
  key: shortid()
74
67
  };
75
68
  })) !== null && _options$filterItems$ !== void 0 ? _options$filterItems$ : [];
76
-
77
69
  if (filterItems.length === 0) {
78
70
  filterItems.push(AdvancedFilterCreator.makeFilterItem());
79
71
  }
80
-
81
72
  if (filterOperators == null) {
82
73
  filterOperators = [];
83
74
  }
84
-
85
75
  if (invertSelection == null) {
86
76
  invertSelection = true;
87
77
  }
88
-
89
78
  if (selectedValues == null) {
90
79
  selectedValues = [];
91
80
  }
92
-
93
81
  this.state = {
94
82
  // Filter items
95
83
  filterItems,
@@ -101,41 +89,33 @@ class AdvancedFilterCreator extends PureComponent {
101
89
  valuesTable: undefined
102
90
  };
103
91
  }
104
-
105
92
  componentDidMount() {
106
93
  this.initValuesTable();
107
94
  }
108
-
109
95
  componentWillUnmount() {
110
96
  if (this.debounceTimeout != null) {
111
97
  clearTimeout(this.debounceTimeout);
112
98
  this.sendUpdate();
113
99
  }
114
-
115
100
  if (this.valuesTablePromise != null) {
116
101
  this.valuesTablePromise.cancel();
117
102
  }
118
103
  }
119
-
120
104
  getFilterChangeHandler(index) {
121
105
  return this.handleFilterChange.bind(this, index);
122
106
  }
123
-
124
107
  getFilterDeleteHandler(index) {
125
108
  return this.handleFilterDelete.bind(this, index);
126
109
  }
127
-
128
110
  initValuesTable() {
129
111
  var {
130
112
  model,
131
113
  column
132
114
  } = this.props;
133
-
134
115
  if (!model.isValuesTableAvailable) {
135
116
  log.debug('No values table for this model, just ignore');
136
117
  return;
137
118
  }
138
-
139
119
  this.valuesTablePromise = TableUtils.makeCancelableTablePromise(model.valuesTable(column));
140
120
  this.valuesTablePromise.then(valuesTable => {
141
121
  var sort = valuesTable.columns[0].sort().asc();
@@ -147,31 +127,24 @@ class AdvancedFilterCreator extends PureComponent {
147
127
  if (PromiseUtils.isCanceled(error)) {
148
128
  return;
149
129
  }
150
-
151
130
  log.error('Unable to open values table', error);
152
131
  this.setState({
153
132
  valuesTableError: error
154
133
  });
155
134
  });
156
135
  }
157
-
158
136
  handleFocusTrapEnd() {
159
137
  var _this$focusTrapContai, _this$focusTrapContai2;
160
-
161
138
  ((_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();
162
139
  }
163
-
164
140
  handleFocusTrapStart() {
165
141
  var _this$focusTrapContai3, _this$focusTrapContai4;
166
-
167
142
  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
143
  if (inputs && inputs.length > 0) {
170
144
  var element = inputs[inputs.length - 1];
171
145
  element.focus();
172
146
  }
173
147
  }
174
-
175
148
  handleAddAnd() {
176
149
  var {
177
150
  filterItems,
@@ -184,7 +157,6 @@ class AdvancedFilterCreator extends PureComponent {
184
157
  filterOperators
185
158
  });
186
159
  }
187
-
188
160
  handleAddOr() {
189
161
  var {
190
162
  filterItems,
@@ -197,7 +169,6 @@ class AdvancedFilterCreator extends PureComponent {
197
169
  filterOperators
198
170
  });
199
171
  }
200
-
201
172
  handleChangeFilterOperator(index, operator) {
202
173
  var {
203
174
  filterOperators
@@ -210,7 +181,6 @@ class AdvancedFilterCreator extends PureComponent {
210
181
  });
211
182
  this.startUpdateTimer();
212
183
  }
213
-
214
184
  handleFilterChange(filterIndex, selectedType, value) {
215
185
  var {
216
186
  filterItems
@@ -229,7 +199,6 @@ class AdvancedFilterCreator extends PureComponent {
229
199
  });
230
200
  this.startUpdateTimer();
231
201
  }
232
-
233
202
  handleFilterDelete(filterIndex) {
234
203
  var {
235
204
  filterItems,
@@ -237,29 +206,24 @@ class AdvancedFilterCreator extends PureComponent {
237
206
  } = this.state;
238
207
  filterItems = [...filterItems];
239
208
  filterOperators = [...filterOperators];
240
-
241
209
  if (filterIndex < filterItems.length) {
242
210
  filterItems.splice(filterIndex, 1);
243
211
  }
244
-
245
212
  if (filterIndex < filterOperators.length) {
246
213
  filterOperators.splice(filterIndex, 1);
247
214
  } else if (filterIndex === filterOperators.length) {
248
215
  // When deleting the last filter item, we also need to remove the last filter operator
249
216
  filterOperators.splice(filterOperators.length - 1, 1);
250
217
  }
251
-
252
218
  if (filterItems.length === 0) {
253
219
  filterItems.push(AdvancedFilterCreator.makeFilterItem());
254
220
  }
255
-
256
221
  this.setState({
257
222
  filterItems,
258
223
  filterOperators
259
224
  });
260
225
  this.startUpdateTimer();
261
226
  }
262
-
263
227
  handleSelectValueChange(selectedValues, invertSelection) {
264
228
  this.setState({
265
229
  selectedValues,
@@ -267,7 +231,6 @@ class AdvancedFilterCreator extends PureComponent {
267
231
  });
268
232
  this.startUpdateTimer();
269
233
  }
270
-
271
234
  handleReset() {
272
235
  log.debug('Resetting Advanced Filter');
273
236
  this.setState({
@@ -278,24 +241,20 @@ class AdvancedFilterCreator extends PureComponent {
278
241
  });
279
242
  this.startUpdateTimer();
280
243
  }
281
-
282
244
  handleSortDown(event) {
283
245
  var addToExisting = ContextActionUtils.isModifierKeyDown(event);
284
246
  this.sortTable(TableUtils.sortDirection.descending, addToExisting);
285
247
  }
286
-
287
248
  handleSortUp(event) {
288
249
  var addToExisting = ContextActionUtils.isModifierKeyDown(event);
289
250
  this.sortTable(TableUtils.sortDirection.ascending, addToExisting);
290
251
  }
291
-
292
252
  handleSubmit(event) {
293
253
  log.debug('Submitting Advanced Filter');
294
254
  this.stopUpdateTimer();
295
255
  this.sendUpdate();
296
256
  event.preventDefault();
297
257
  }
298
-
299
258
  handleDone(event) {
300
259
  log.debug('Submitting and Closing Advanced Filter');
301
260
  this.stopUpdateTimer();
@@ -306,27 +265,23 @@ class AdvancedFilterCreator extends PureComponent {
306
265
  onDone();
307
266
  event.preventDefault();
308
267
  }
309
-
310
268
  handleUpdateTimeout() {
311
269
  this.debounceTimeout = undefined;
312
270
  this.sendUpdate();
313
271
  }
272
+
314
273
  /**
315
274
  * Convenience function to check if the previous filter has been inputted, and
316
275
  * we should show the add filter buttons (+ AND OR)
317
276
  * @returns true If the add filter buttons should be shown, false otherwise
318
277
  */
319
-
320
-
321
278
  shouldShowAddFilter() {
322
279
  var {
323
280
  filterItems
324
281
  } = this.state;
325
-
326
282
  if (filterItems.length === 0) {
327
283
  return false;
328
284
  }
329
-
330
285
  var filterItem = filterItems[filterItems.length - 1];
331
286
  var {
332
287
  selectedType,
@@ -334,13 +289,12 @@ class AdvancedFilterCreator extends PureComponent {
334
289
  } = filterItem;
335
290
  return selectedType != null && selectedType.length > 0 && value != null && value.length > 0;
336
291
  }
292
+
337
293
  /**
338
294
  * Sorts the table in the specified direction. If already sorted in that direction, remove it.
339
295
  * @param direction The sort direction, ASC or DESC
340
296
  * @param addToExisting Add to the existing sort, or replace the existing table sort
341
297
  */
342
-
343
-
344
298
  sortTable(direction) {
345
299
  var addToExisting = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
346
300
  var {
@@ -349,19 +303,16 @@ class AdvancedFilterCreator extends PureComponent {
349
303
  } = this.props;
350
304
  onSortChange(column, direction, addToExisting);
351
305
  }
352
-
353
306
  startUpdateTimer() {
354
307
  this.stopUpdateTimer();
355
308
  this.debounceTimeout = setTimeout(this.handleUpdateTimeout, AdvancedFilterCreator.debounceFilterUpdate);
356
309
  }
357
-
358
310
  stopUpdateTimer() {
359
311
  if (this.debounceTimeout !== undefined) {
360
312
  clearTimeout(this.debounceTimeout);
361
313
  this.debounceTimeout = undefined;
362
314
  }
363
315
  }
364
-
365
316
  sendUpdate() {
366
317
  var {
367
318
  filterItems,
@@ -384,7 +335,8 @@ class AdvancedFilterCreator extends PureComponent {
384
335
  } = _ref2;
385
336
  return selectedType != null && value != null && value !== '';
386
337
  });
387
- var operators = filterOperators.filter((operator, i) => operator != null && filterItems[i].selectedType != null && filterItems[i].value != null && filterItems[i].value !== '').slice(0, items.length - 1); // slice last operator, user may have set an operator but not a value
338
+ var operators = filterOperators.filter((operator, i) => operator != null && filterItems[i].selectedType != null && filterItems[i].value != null && filterItems[i].value !== '').slice(0, items.length - 1);
339
+ // slice last operator, user may have set an operator but not a value
388
340
 
389
341
  var options = {
390
342
  filterItems: items,
@@ -395,10 +347,8 @@ class AdvancedFilterCreator extends PureComponent {
395
347
  var filter = TableUtils.makeAdvancedFilter(column, options, formatter.timeZone);
396
348
  onFilterChange(column, filter, options);
397
349
  }
398
-
399
350
  render() {
400
351
  var _this = this;
401
-
402
352
  var {
403
353
  column,
404
354
  model,
@@ -421,7 +371,6 @@ class AdvancedFilterCreator extends PureComponent {
421
371
  var filterTypes = this.getFilterTypes(column.type);
422
372
  var columnType = column.type.substring(column.type.lastIndexOf('.') + 1);
423
373
  var filterItemElements = [];
424
-
425
374
  if (!isBoolean && filterTypes.length) {
426
375
  var _loop = function _loop(i) {
427
376
  var filterItem = filterItems[i];
@@ -441,7 +390,6 @@ class AdvancedFilterCreator extends PureComponent {
441
390
  formatter: formatter
442
391
  });
443
392
  filterItemElements.push(element);
444
-
445
393
  if (i < filterOperators.length) {
446
394
  var filterOperator = filterOperators[i];
447
395
  var isAndFilter = filterOperator === FilterOperator.and;
@@ -464,12 +412,10 @@ class AdvancedFilterCreator extends PureComponent {
464
412
  filterItemElements.push(operatorElement);
465
413
  }
466
414
  };
467
-
468
415
  for (var i = 0; i < filterItems.length; i += 1) {
469
416
  _loop(i);
470
417
  }
471
418
  }
472
-
473
419
  var showAddFilterItem = this.shouldShowAddFilter();
474
420
  var addFilterItem = /*#__PURE__*/React.createElement("div", {
475
421
  key: "addFilterItem",
@@ -556,11 +502,8 @@ class AdvancedFilterCreator extends PureComponent {
556
502
  onFocus: this.handleFocusTrapEnd
557
503
  }));
558
504
  }
559
-
560
505
  }
561
-
562
506
  _defineProperty(AdvancedFilterCreator, "debounceFilterUpdate", 250);
563
-
564
507
  _defineProperty(AdvancedFilterCreator, "defaultProps", {
565
508
  options: {
566
509
  filterItems: null,
@@ -570,6 +513,5 @@ _defineProperty(AdvancedFilterCreator, "defaultProps", {
570
513
  },
571
514
  sortDirection: null
572
515
  });
573
-
574
516
  export default AdvancedFilterCreator;
575
517
  //# sourceMappingURL=AdvancedFilterCreator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AdvancedFilterCreator.js","names":["React","PureComponent","classNames","FontAwesomeIcon","memoize","Operator","FilterOperator","assertOperatorValue","assertFilterOperatorValue","dhSortAmountDown","dhNewCircleLargeFilled","TableUtils","Button","ContextActionUtils","Log","PromiseUtils","shortid","AdvancedFilterCreatorFilterItem","AdvancedFilterCreatorSelectValue","log","module","AdvancedFilterCreator","makeFilterItem","key","constructor","props","columnType","getFilterTypes","handleAddAnd","bind","handleAddOr","handleChangeFilterOperator","handleDone","handleFilterChange","handleFilterDelete","handleSelectValueChange","handleReset","handleSortDown","handleSortUp","handleSubmit","handleFocusTrapStart","handleFocusTrapEnd","handleUpdateTimeout","focusTrapContainer","createRef","options","filterOperators","invertSelection","selectedValues","filterItems","map","selectedType","value","length","push","state","valuesTableError","valuesTable","undefined","componentDidMount","initValuesTable","componentWillUnmount","debounceTimeout","clearTimeout","sendUpdate","valuesTablePromise","cancel","getFilterChangeHandler","index","getFilterDeleteHandler","model","column","isValuesTableAvailable","debug","makeCancelableTablePromise","then","sort","columns","asc","applySort","setState","catch","error","isCanceled","current","querySelector","focus","inputs","querySelectorAll","element","concat","and","or","operator","startUpdateTimer","filterIndex","splice","event","addToExisting","isModifierKeyDown","sortTable","sortDirection","descending","ascending","stopUpdateTimer","preventDefault","onDone","shouldShowAddFilter","filterItem","direction","onSortChange","setTimeout","debounceFilterUpdate","onFilterChange","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"],"sources":["../src/AdvancedFilterCreator.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n// disabled for tab-index on focus traps, which are intentionally non-interactive\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport memoize from 'memoize-one';\nimport {\n Operator as FilterOperator,\n OperatorValue as FilterOperatorValue,\n TypeValue as FilterTypeValue,\n assertOperatorValue as assertFilterOperatorValue,\n} from '@deephaven/filters';\nimport { dhSortAmountDown, dhNewCircleLargeFilled } from '@deephaven/icons';\nimport {\n Formatter,\n TableUtils,\n SortDirection,\n FilterItem,\n} from '@deephaven/jsapi-utils';\nimport { Button, ContextActionUtils } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { CancelablePromise, PromiseUtils } from '@deephaven/utils';\nimport { 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(index: number, operator: string): void {\n let { filterOperators } = this.state;\n filterOperators = [...filterOperators];\n\n assertFilterOperatorValue(operator);\n\n filterOperators[index] = operator;\n\n this.setState({ filterOperators });\n\n this.startUpdateTimer();\n }\n\n handleFilterChange(\n filterIndex: number,\n selectedType: FilterTypeValue,\n value: string\n ): void {\n let { filterItems } = this.state;\n filterItems = [...filterItems];\n const { key } = filterItems[filterIndex];\n filterItems[filterIndex] = { key, selectedType, value };\n\n this.setState({ filterItems });\n\n this.startUpdateTimer();\n }\n\n handleFilterDelete(filterIndex: number): void {\n let { filterItems, filterOperators } = this.state;\n filterItems = [...filterItems];\n filterOperators = [...filterOperators];\n if (filterIndex < filterItems.length) {\n filterItems.splice(filterIndex, 1);\n }\n\n if (filterIndex < filterOperators.length) {\n filterOperators.splice(filterIndex, 1);\n } else if (filterIndex === filterOperators.length) {\n // When deleting the last filter item, we also need to remove the last filter operator\n filterOperators.splice(filterOperators.length - 1, 1);\n }\n\n if (filterItems.length === 0) {\n filterItems.push(AdvancedFilterCreator.makeFilterItem());\n }\n\n this.setState({ filterItems, filterOperators });\n\n this.startUpdateTimer();\n }\n\n handleSelectValueChange(\n selectedValues: unknown[],\n invertSelection: boolean\n ): void {\n this.setState({ selectedValues, invertSelection });\n\n this.startUpdateTimer();\n }\n\n handleReset(): void {\n log.debug('Resetting Advanced Filter');\n\n this.setState({\n filterItems: [AdvancedFilterCreator.makeFilterItem()],\n filterOperators: [],\n selectedValues: [],\n invertSelection: true,\n });\n\n this.startUpdateTimer();\n }\n\n handleSortDown(event: React.MouseEvent<HTMLButtonElement>): void {\n const addToExisting = ContextActionUtils.isModifierKeyDown(event);\n this.sortTable(TableUtils.sortDirection.descending, addToExisting);\n }\n\n handleSortUp(event: React.MouseEvent<HTMLButtonElement>): void {\n const addToExisting = ContextActionUtils.isModifierKeyDown(event);\n this.sortTable(TableUtils.sortDirection.ascending, addToExisting);\n }\n\n handleSubmit(event: React.FormEvent<HTMLFormElement>): void {\n log.debug('Submitting Advanced Filter');\n this.stopUpdateTimer();\n this.sendUpdate();\n\n event.preventDefault();\n }\n\n handleDone(event: React.MouseEvent<HTMLButtonElement>): void {\n log.debug('Submitting and Closing Advanced Filter');\n this.stopUpdateTimer();\n this.sendUpdate();\n\n const { onDone } = this.props;\n onDone();\n\n event.preventDefault();\n }\n\n handleUpdateTimeout(): void {\n this.debounceTimeout = undefined;\n this.sendUpdate();\n }\n\n /**\n * Convenience function to check if the previous filter has been inputted, and\n * we should show the add filter buttons (+ AND OR)\n * @returns true If the add filter buttons should be shown, false otherwise\n */\n shouldShowAddFilter(): boolean {\n const { filterItems } = this.state;\n if (filterItems.length === 0) {\n return false;\n }\n\n const filterItem = filterItems[filterItems.length - 1];\n const { selectedType, value } = filterItem;\n\n return (\n selectedType != null &&\n selectedType.length > 0 &&\n value != null &&\n value.length > 0\n );\n }\n\n /**\n * Sorts the table in the specified direction. If already sorted in that direction, remove it.\n * @param direction The sort direction, ASC or DESC\n * @param addToExisting Add to the existing sort, or replace the existing table sort\n */\n sortTable(direction: SortDirection, addToExisting = false): void {\n const { column, onSortChange } = this.props;\n onSortChange(column, direction, addToExisting);\n }\n\n startUpdateTimer(): void {\n this.stopUpdateTimer();\n\n this.debounceTimeout = setTimeout(\n this.handleUpdateTimeout,\n AdvancedFilterCreator.debounceFilterUpdate\n );\n }\n\n stopUpdateTimer(): void {\n if (this.debounceTimeout !== undefined) {\n clearTimeout(this.debounceTimeout);\n this.debounceTimeout = undefined;\n }\n }\n\n sendUpdate(): void {\n const {\n filterItems,\n filterOperators,\n invertSelection,\n selectedValues,\n } = this.state;\n const { column, onFilterChange, model } = 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 kind=\"ghost\"\n className={classNames('filter-operator', {\n active: isAndFilter,\n })}\n onClick={() =>\n this.handleChangeFilterOperator(i, FilterOperator.and)\n }\n >\n AND\n </Button>\n <Button\n kind=\"ghost\"\n className={classNames('filter-operator', {\n active: !isAndFilter,\n })}\n onClick={() =>\n this.handleChangeFilterOperator(i, FilterOperator.or)\n }\n >\n OR\n </Button>\n </div>\n );\n filterItemElements.push(operatorElement);\n }\n }\n }\n const showAddFilterItem = this.shouldShowAddFilter();\n const addFilterItem = (\n <div\n key=\"addFilterItem\"\n className={classNames('form-row justify-content-end add-filter-item', {\n hidden: !showAddFilterItem,\n })}\n >\n <span className=\"text-muted\">\n <FontAwesomeIcon icon={dhNewCircleLargeFilled} />\n </span>\n <Button\n kind=\"ghost\"\n className=\"btn-filter-item\"\n onClick={this.handleAddAnd}\n disabled={!showAddFilterItem}\n tooltip=\"Add filter with AND\"\n >\n AND\n </Button>\n <Button\n kind=\"ghost\"\n className=\"btn-filter-item\"\n onClick={this.handleAddOr}\n disabled={!showAddFilterItem}\n tooltip=\"Add filter with OR\"\n >\n OR\n </Button>\n </div>\n );\n filterItemElements.push(addFilterItem);\n\n return (\n <div className=\"advanced-filter-creator\" role=\"presentation\">\n <div tabIndex={0} onFocus={this.handleFocusTrapStart} />\n <form onSubmit={this.handleSubmit} ref={this.focusTrapContainer}>\n <div className=\"title-bar\">\n <h6 className=\"advanced-filter-title\">Advanced Filters</h6>\n <div className=\"advanced-filter-menu-buttons\">\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: sortDirection === TableUtils.sortDirection.descending,\n })}\n onClick={this.handleSortDown}\n icon={dhSortAmountDown}\n tooltip={`Sort ${column.name} Descending`}\n />\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: sortDirection === TableUtils.sortDirection.ascending,\n })}\n onClick={this.handleSortUp}\n icon={\n <FontAwesomeIcon icon={dhSortAmountDown} rotation={180} />\n }\n tooltip={`Sort ${column.name} Ascending`}\n />\n </div>\n </div>\n <hr />\n <div className=\"advanced-filter-column-name\">\n {column.name}&nbsp;\n <span className=\"column-type\">({columnType})</span>\n </div>\n {filterItemElements}\n {isValuesTableAvailable && valuesTableError == null && (\n <>\n {!isBoolean && <hr />}\n <div className=\"form-group\">\n <AdvancedFilterCreatorSelectValue<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 kind=\"secondary\"\n className=\"mr-2\"\n onClick={this.handleReset}\n >\n Reset\n </Button>\n <Button kind=\"primary\" onClick={this.handleDone}>\n Done\n </Button>\n </div>\n </form>\n <div tabIndex={0} onFocus={this.handleFocusTrapEnd} />\n </div>\n );\n }\n}\n\nexport default AdvancedFilterCreator;\n"],"mappings":"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"}
1
+ {"version":3,"file":"AdvancedFilterCreator.js","names":["React","PureComponent","classNames","FontAwesomeIcon","memoize","Operator","FilterOperator","assertOperatorValue","assertFilterOperatorValue","dhSortAmountDown","dhNewCircleLargeFilled","TableUtils","Button","ContextActionUtils","Log","PromiseUtils","shortid","AdvancedFilterCreatorFilterItem","AdvancedFilterCreatorSelectValue","log","module","AdvancedFilterCreator","makeFilterItem","key","constructor","props","columnType","getFilterTypes","handleAddAnd","bind","handleAddOr","handleChangeFilterOperator","handleDone","handleFilterChange","handleFilterDelete","handleSelectValueChange","handleReset","handleSortDown","handleSortUp","handleSubmit","handleFocusTrapStart","handleFocusTrapEnd","handleUpdateTimeout","focusTrapContainer","createRef","options","filterOperators","invertSelection","selectedValues","filterItems","map","selectedType","value","length","push","state","valuesTableError","valuesTable","undefined","componentDidMount","initValuesTable","componentWillUnmount","debounceTimeout","clearTimeout","sendUpdate","valuesTablePromise","cancel","getFilterChangeHandler","index","getFilterDeleteHandler","model","column","isValuesTableAvailable","debug","makeCancelableTablePromise","then","sort","columns","asc","applySort","setState","catch","error","isCanceled","current","querySelector","focus","inputs","querySelectorAll","element","concat","and","or","operator","startUpdateTimer","filterIndex","splice","event","addToExisting","isModifierKeyDown","sortTable","sortDirection","descending","ascending","stopUpdateTimer","preventDefault","onDone","shouldShowAddFilter","filterItem","direction","onSortChange","setTimeout","debounceFilterUpdate","onFilterChange","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"],"sources":["../src/AdvancedFilterCreator.tsx"],"sourcesContent":["/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n// disabled for tab-index on focus traps, which are intentionally non-interactive\n\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport memoize from 'memoize-one';\nimport {\n Operator as FilterOperator,\n OperatorValue as FilterOperatorValue,\n TypeValue as FilterTypeValue,\n assertOperatorValue as assertFilterOperatorValue,\n} from '@deephaven/filters';\nimport { dhSortAmountDown, dhNewCircleLargeFilled } from '@deephaven/icons';\nimport {\n Formatter,\n TableUtils,\n SortDirection,\n FilterItem,\n} from '@deephaven/jsapi-utils';\nimport { Button, ContextActionUtils } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { CancelablePromise, PromiseUtils } from '@deephaven/utils';\nimport { 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(index: number, operator: string): void {\n let { filterOperators } = this.state;\n filterOperators = [...filterOperators];\n\n assertFilterOperatorValue(operator);\n\n filterOperators[index] = operator;\n\n this.setState({ filterOperators });\n\n this.startUpdateTimer();\n }\n\n handleFilterChange(\n filterIndex: number,\n selectedType: FilterTypeValue,\n value: string\n ): void {\n let { filterItems } = this.state;\n filterItems = [...filterItems];\n const { key } = filterItems[filterIndex];\n filterItems[filterIndex] = { key, selectedType, value };\n\n this.setState({ filterItems });\n\n this.startUpdateTimer();\n }\n\n handleFilterDelete(filterIndex: number): void {\n let { filterItems, filterOperators } = this.state;\n filterItems = [...filterItems];\n filterOperators = [...filterOperators];\n if (filterIndex < filterItems.length) {\n filterItems.splice(filterIndex, 1);\n }\n\n if (filterIndex < filterOperators.length) {\n filterOperators.splice(filterIndex, 1);\n } else if (filterIndex === filterOperators.length) {\n // When deleting the last filter item, we also need to remove the last filter operator\n filterOperators.splice(filterOperators.length - 1, 1);\n }\n\n if (filterItems.length === 0) {\n filterItems.push(AdvancedFilterCreator.makeFilterItem());\n }\n\n this.setState({ filterItems, filterOperators });\n\n this.startUpdateTimer();\n }\n\n handleSelectValueChange(\n selectedValues: unknown[],\n invertSelection: boolean\n ): void {\n this.setState({ selectedValues, invertSelection });\n\n this.startUpdateTimer();\n }\n\n handleReset(): void {\n log.debug('Resetting Advanced Filter');\n\n this.setState({\n filterItems: [AdvancedFilterCreator.makeFilterItem()],\n filterOperators: [],\n selectedValues: [],\n invertSelection: true,\n });\n\n this.startUpdateTimer();\n }\n\n handleSortDown(event: React.MouseEvent<HTMLButtonElement>): void {\n const addToExisting = ContextActionUtils.isModifierKeyDown(event);\n this.sortTable(TableUtils.sortDirection.descending, addToExisting);\n }\n\n handleSortUp(event: React.MouseEvent<HTMLButtonElement>): void {\n const addToExisting = ContextActionUtils.isModifierKeyDown(event);\n this.sortTable(TableUtils.sortDirection.ascending, addToExisting);\n }\n\n handleSubmit(event: React.FormEvent<HTMLFormElement>): void {\n log.debug('Submitting Advanced Filter');\n this.stopUpdateTimer();\n this.sendUpdate();\n\n event.preventDefault();\n }\n\n handleDone(event: React.MouseEvent<HTMLButtonElement>): void {\n log.debug('Submitting and Closing Advanced Filter');\n this.stopUpdateTimer();\n this.sendUpdate();\n\n const { onDone } = this.props;\n onDone();\n\n event.preventDefault();\n }\n\n handleUpdateTimeout(): void {\n this.debounceTimeout = undefined;\n this.sendUpdate();\n }\n\n /**\n * Convenience function to check if the previous filter has been inputted, and\n * we should show the add filter buttons (+ AND OR)\n * @returns true If the add filter buttons should be shown, false otherwise\n */\n shouldShowAddFilter(): boolean {\n const { filterItems } = this.state;\n if (filterItems.length === 0) {\n return false;\n }\n\n const filterItem = filterItems[filterItems.length - 1];\n const { selectedType, value } = filterItem;\n\n return (\n selectedType != null &&\n selectedType.length > 0 &&\n value != null &&\n value.length > 0\n );\n }\n\n /**\n * Sorts the table in the specified direction. If already sorted in that direction, remove it.\n * @param direction The sort direction, ASC or DESC\n * @param addToExisting Add to the existing sort, or replace the existing table sort\n */\n sortTable(direction: SortDirection, addToExisting = false): void {\n const { column, onSortChange } = this.props;\n onSortChange(column, direction, addToExisting);\n }\n\n startUpdateTimer(): void {\n this.stopUpdateTimer();\n\n this.debounceTimeout = setTimeout(\n this.handleUpdateTimeout,\n AdvancedFilterCreator.debounceFilterUpdate\n );\n }\n\n stopUpdateTimer(): void {\n if (this.debounceTimeout !== undefined) {\n clearTimeout(this.debounceTimeout);\n this.debounceTimeout = undefined;\n }\n }\n\n sendUpdate(): void {\n const {\n filterItems,\n filterOperators,\n invertSelection,\n selectedValues,\n } = this.state;\n const { column, onFilterChange, model } = 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 kind=\"ghost\"\n className={classNames('filter-operator', {\n active: isAndFilter,\n })}\n onClick={() =>\n this.handleChangeFilterOperator(i, FilterOperator.and)\n }\n >\n AND\n </Button>\n <Button\n kind=\"ghost\"\n className={classNames('filter-operator', {\n active: !isAndFilter,\n })}\n onClick={() =>\n this.handleChangeFilterOperator(i, FilterOperator.or)\n }\n >\n OR\n </Button>\n </div>\n );\n filterItemElements.push(operatorElement);\n }\n }\n }\n const showAddFilterItem = this.shouldShowAddFilter();\n const addFilterItem = (\n <div\n key=\"addFilterItem\"\n className={classNames('form-row justify-content-end add-filter-item', {\n hidden: !showAddFilterItem,\n })}\n >\n <span className=\"text-muted\">\n <FontAwesomeIcon icon={dhNewCircleLargeFilled} />\n </span>\n <Button\n kind=\"ghost\"\n className=\"btn-filter-item\"\n onClick={this.handleAddAnd}\n disabled={!showAddFilterItem}\n tooltip=\"Add filter with AND\"\n >\n AND\n </Button>\n <Button\n kind=\"ghost\"\n className=\"btn-filter-item\"\n onClick={this.handleAddOr}\n disabled={!showAddFilterItem}\n tooltip=\"Add filter with OR\"\n >\n OR\n </Button>\n </div>\n );\n filterItemElements.push(addFilterItem);\n\n return (\n <div className=\"advanced-filter-creator\" role=\"presentation\">\n <div tabIndex={0} onFocus={this.handleFocusTrapStart} />\n <form onSubmit={this.handleSubmit} ref={this.focusTrapContainer}>\n <div className=\"title-bar\">\n <h6 className=\"advanced-filter-title\">Advanced Filters</h6>\n <div className=\"advanced-filter-menu-buttons\">\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: sortDirection === TableUtils.sortDirection.descending,\n })}\n onClick={this.handleSortDown}\n icon={dhSortAmountDown}\n tooltip={`Sort ${column.name} Descending`}\n />\n <Button\n kind=\"ghost\"\n className={classNames('sort-operator', {\n active: sortDirection === TableUtils.sortDirection.ascending,\n })}\n onClick={this.handleSortUp}\n icon={\n <FontAwesomeIcon icon={dhSortAmountDown} rotation={180} />\n }\n tooltip={`Sort ${column.name} Ascending`}\n />\n </div>\n </div>\n <hr />\n <div className=\"advanced-filter-column-name\">\n {column.name}&nbsp;\n <span className=\"column-type\">({columnType})</span>\n </div>\n {filterItemElements}\n {isValuesTableAvailable && valuesTableError == null && (\n <>\n {!isBoolean && <hr />}\n <div className=\"form-group\">\n <AdvancedFilterCreatorSelectValue<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 kind=\"secondary\"\n className=\"mr-2\"\n onClick={this.handleReset}\n >\n Reset\n </Button>\n <Button kind=\"primary\" onClick={this.handleDone}>\n Done\n </Button>\n </div>\n </form>\n <div tabIndex={0} onFocus={this.handleFocusTrapEnd} />\n </div>\n );\n }\n}\n\nexport default AdvancedFilterCreator;\n"],"mappings":"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"}
@@ -12,7 +12,7 @@ export interface AdvancedFilterCreatorFilterItemProps {
12
12
  value?: string;
13
13
  formatter: Formatter;
14
14
  }
15
- export declare type AdvancedFilterCreatorFilterItemState = AdvancedFilterItemType;
15
+ export type AdvancedFilterCreatorFilterItemState = AdvancedFilterItemType;
16
16
  export declare class AdvancedFilterCreatorFilterItem extends PureComponent<AdvancedFilterCreatorFilterItemProps, AdvancedFilterCreatorFilterItemState> {
17
17
  static getLabelForFilter(columnType: string, filterType: FilterTypeValue): string;
18
18
  constructor(props: AdvancedFilterCreatorFilterItemProps);
@@ -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;AAE7C,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;CAkEtB;AAED,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"AdvancedFilterCreatorFilterItem.d.ts","sourceRoot":"","sources":["../src/AdvancedFilterCreatorFilterItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,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,MAAM,MAAM,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;CAkEtB;AAED,eAAe,+BAA+B,CAAC"}