@deephaven/iris-grid 0.11.3-beta.0 → 0.11.3-beta.5
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 +1 -1
- package/dist/AdvancedFilterCreator.d.ts.map +1 -1
- package/dist/IrisGrid.css +3 -0
- package/dist/IrisGrid.css.map +1 -1
- package/dist/IrisGrid.d.ts +2 -0
- package/dist/IrisGrid.d.ts.map +1 -1
- package/dist/IrisGrid.js +53 -7
- package/dist/IrisGrid.js.map +1 -1
- package/dist/IrisGridCellOverflowModal.css +16 -0
- package/dist/IrisGridCellOverflowModal.css.map +1 -0
- package/dist/IrisGridCellOverflowModal.d.ts +10 -0
- package/dist/IrisGridCellOverflowModal.d.ts.map +1 -0
- package/dist/IrisGridCellOverflowModal.js +167 -0
- package/dist/IrisGridCellOverflowModal.js.map +1 -0
- package/dist/IrisGridRenderer.d.ts +19 -1
- package/dist/IrisGridRenderer.d.ts.map +1 -1
- package/dist/IrisGridRenderer.js +172 -9
- package/dist/IrisGridRenderer.js.map +1 -1
- package/dist/IrisGridTableModel.js +2 -2
- package/dist/IrisGridTheme.d.ts.map +1 -1
- package/dist/IrisGridTheme.js +5 -2
- package/dist/IrisGridTheme.js.map +1 -1
- package/dist/IrisGridTheme.module.css +3 -0
- package/dist/IrisGridTheme.module.css.map +1 -1
- package/dist/IrisGridTreeTableModel.js +2 -2
- package/dist/IrisGridUtils.js +2 -2
- package/dist/PendingDataBottomBar.d.ts +1 -0
- package/dist/PendingDataBottomBar.d.ts.map +1 -1
- package/dist/TableUtils.d.ts +1 -0
- package/dist/TableUtils.d.ts.map +1 -1
- package/dist/TableUtils.js +5 -3
- package/dist/TableUtils.js.map +1 -1
- package/dist/filters/FilterOperator.d.ts +2 -6
- package/dist/filters/FilterOperator.d.ts.map +1 -1
- package/dist/filters/FilterOperator.js +1 -9
- package/dist/filters/FilterOperator.js.map +1 -1
- package/dist/filters/FilterType.d.ts +2 -25
- package/dist/filters/FilterType.d.ts.map +1 -1
- package/dist/filters/FilterType.js +1 -46
- package/dist/filters/FilterType.js.map +1 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts +21 -0
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.d.ts.map +1 -0
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +199 -0
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +1 -0
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +2 -2
- package/dist/mousehandlers/index.d.ts +1 -0
- package/dist/mousehandlers/index.d.ts.map +1 -1
- package/dist/mousehandlers/index.js +1 -0
- package/dist/mousehandlers/index.js.map +1 -1
- package/dist/sidebar/AdvancedSettingsMenu.d.ts +1 -0
- package/dist/sidebar/AdvancedSettingsMenu.d.ts.map +1 -1
- package/dist/sidebar/CustomColumnBuilder.js +2 -2
- package/dist/sidebar/InputEditor.js +2 -2
- package/dist/sidebar/aggregations/AggregationEdit.d.ts +1 -0
- package/dist/sidebar/aggregations/AggregationEdit.d.ts.map +1 -1
- package/dist/sidebar/aggregations/AggregationEdit.js +2 -2
- package/dist/sidebar/aggregations/Aggregations.d.ts +1 -0
- package/dist/sidebar/aggregations/Aggregations.d.ts.map +1 -1
- package/dist/sidebar/aggregations/Aggregations.js +2 -2
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts +1 -0
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +2 -2
- package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts +1 -0
- package/dist/sidebar/conditional-formatting/ConditionEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.js +2 -2
- package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts +1 -0
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +3 -2
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts +1 -0
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts +1 -0
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +10 -4
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts +1 -0
- package/dist/sidebar/conditional-formatting/RowFormatEditor.d.ts.map +1 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js +2 -2
- package/dist/sidebar/conditional-formatting/StyleEditor.d.ts +1 -0
- package/dist/sidebar/conditional-formatting/StyleEditor.d.ts.map +1 -1
- package/package.json +21 -18
|
@@ -0,0 +1,199 @@
|
|
|
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
|
+
import { GridMouseHandler } from '@deephaven/grid';
|
|
4
|
+
import deepEqual from 'deep-equal';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Handles cursor and click action for cell overflow button
|
|
8
|
+
* The button is rendered via IrisGridRenderer
|
|
9
|
+
*/
|
|
10
|
+
class IrisGridCellOverflowMouseHandler extends GridMouseHandler {
|
|
11
|
+
constructor(irisGrid) {
|
|
12
|
+
super(850); // Needs to be before GridSelectionMouseHandler
|
|
13
|
+
|
|
14
|
+
_defineProperty(this, "irisGrid", void 0);
|
|
15
|
+
|
|
16
|
+
this.irisGrid = irisGrid;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
destroyColumnTooltip() {
|
|
20
|
+
this.irisGrid.setState({
|
|
21
|
+
overflowButtonTooltipProps: null
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
setCursor(point) {
|
|
26
|
+
if (this.isHoveringOverflowButton(point)) {
|
|
27
|
+
this.cursor = 'pointer';
|
|
28
|
+
return {
|
|
29
|
+
stopPropagation: false,
|
|
30
|
+
preventDefault: false
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
this.cursor = null;
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
getButtonPosition(_ref) {
|
|
39
|
+
var {
|
|
40
|
+
x,
|
|
41
|
+
y,
|
|
42
|
+
column,
|
|
43
|
+
row
|
|
44
|
+
} = _ref;
|
|
45
|
+
|
|
46
|
+
if (column == null || row == null) {
|
|
47
|
+
return null;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
var {
|
|
51
|
+
renderer,
|
|
52
|
+
grid,
|
|
53
|
+
state,
|
|
54
|
+
props
|
|
55
|
+
} = this.irisGrid;
|
|
56
|
+
|
|
57
|
+
if (!grid) {
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
var {
|
|
62
|
+
metrics
|
|
63
|
+
} = state;
|
|
64
|
+
var {
|
|
65
|
+
model
|
|
66
|
+
} = props;
|
|
67
|
+
var {
|
|
68
|
+
canvasContext: context
|
|
69
|
+
} = grid || {};
|
|
70
|
+
var theme = grid.getTheme();
|
|
71
|
+
var rendererState = {
|
|
72
|
+
context,
|
|
73
|
+
mouseX: x,
|
|
74
|
+
mouseY: y,
|
|
75
|
+
metrics,
|
|
76
|
+
model,
|
|
77
|
+
theme
|
|
78
|
+
};
|
|
79
|
+
var {
|
|
80
|
+
left,
|
|
81
|
+
top,
|
|
82
|
+
width,
|
|
83
|
+
height
|
|
84
|
+
} = renderer.getCellOverflowButtonPosition(rendererState);
|
|
85
|
+
|
|
86
|
+
if (left == null || width == null || top == null || height == null) {
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
return {
|
|
91
|
+
left,
|
|
92
|
+
top,
|
|
93
|
+
width,
|
|
94
|
+
height
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
isHoveringOverflowButton(point) {
|
|
99
|
+
var _this$getButtonPositi;
|
|
100
|
+
|
|
101
|
+
var {
|
|
102
|
+
x,
|
|
103
|
+
y
|
|
104
|
+
} = point;
|
|
105
|
+
var {
|
|
106
|
+
left,
|
|
107
|
+
top,
|
|
108
|
+
width,
|
|
109
|
+
height
|
|
110
|
+
} = (_this$getButtonPositi = this.getButtonPosition(point)) !== null && _this$getButtonPositi !== void 0 ? _this$getButtonPositi : {};
|
|
111
|
+
|
|
112
|
+
if (left == null || width == null || top == null || height == null) {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
var {
|
|
117
|
+
renderer,
|
|
118
|
+
grid,
|
|
119
|
+
state,
|
|
120
|
+
props
|
|
121
|
+
} = this.irisGrid;
|
|
122
|
+
|
|
123
|
+
if (!grid) {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
var {
|
|
128
|
+
metrics
|
|
129
|
+
} = state;
|
|
130
|
+
var {
|
|
131
|
+
model
|
|
132
|
+
} = props;
|
|
133
|
+
var {
|
|
134
|
+
canvasContext: context
|
|
135
|
+
} = grid || {};
|
|
136
|
+
var theme = grid.getTheme();
|
|
137
|
+
var rendererState = {
|
|
138
|
+
context,
|
|
139
|
+
mouseX: x,
|
|
140
|
+
mouseY: y,
|
|
141
|
+
metrics,
|
|
142
|
+
model,
|
|
143
|
+
theme
|
|
144
|
+
};
|
|
145
|
+
return renderer.shouldRenderOverflowButton(rendererState) && x >= left && x <= left + width && y >= top && y <= top + height;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
onMove(point) {
|
|
149
|
+
if (this.isHoveringOverflowButton(point)) {
|
|
150
|
+
var {
|
|
151
|
+
overflowButtonTooltipProps
|
|
152
|
+
} = this.irisGrid.state;
|
|
153
|
+
var newProps = this.getButtonPosition(point);
|
|
154
|
+
|
|
155
|
+
if (!deepEqual(overflowButtonTooltipProps, newProps)) {
|
|
156
|
+
this.irisGrid.setState({
|
|
157
|
+
overflowButtonTooltipProps: newProps
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
} else {
|
|
161
|
+
this.destroyColumnTooltip();
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
return this.setCursor(point);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
onWheel(point) {
|
|
168
|
+
this.destroyColumnTooltip();
|
|
169
|
+
return this.onMove(point);
|
|
170
|
+
} // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
onDown(point) {
|
|
174
|
+
this.destroyColumnTooltip();
|
|
175
|
+
var {
|
|
176
|
+
column,
|
|
177
|
+
row
|
|
178
|
+
} = point;
|
|
179
|
+
if (this.isHoveringOverflowButton(point)) this.irisGrid.setState({
|
|
180
|
+
showOverflowModal: true,
|
|
181
|
+
overflowText: this.irisGrid.getValueForCell(column, row)
|
|
182
|
+
});
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
onContextMenu() {
|
|
187
|
+
this.destroyColumnTooltip();
|
|
188
|
+
return false;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
onLeave() {
|
|
192
|
+
this.destroyColumnTooltip();
|
|
193
|
+
return false;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export default IrisGridCellOverflowMouseHandler;
|
|
199
|
+
//# sourceMappingURL=IrisGridCellOverflowMouseHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/mousehandlers/IrisGridCellOverflowMouseHandler.ts"],"names":["GridMouseHandler","deepEqual","IrisGridCellOverflowMouseHandler","constructor","irisGrid","destroyColumnTooltip","setState","overflowButtonTooltipProps","setCursor","point","isHoveringOverflowButton","cursor","stopPropagation","preventDefault","getButtonPosition","x","y","column","row","renderer","grid","state","props","metrics","model","canvasContext","context","theme","getTheme","rendererState","mouseX","mouseY","left","top","width","height","getCellOverflowButtonPosition","shouldRenderOverflowButton","onMove","newProps","onWheel","onDown","showOverflowModal","overflowText","getValueForCell","onContextMenu","onLeave"],"mappings":"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","sourcesContent":["import {\n GridPoint,\n GridMouseHandler,\n EventHandlerResult,\n} from '@deephaven/grid';\nimport deepEqual from 'deep-equal';\nimport type IrisGrid from '../IrisGrid';\n\n/**\n * Handles cursor and click action for cell overflow button\n * The button is rendered via IrisGridRenderer\n */\nclass IrisGridCellOverflowMouseHandler extends GridMouseHandler {\n private irisGrid: IrisGrid;\n\n constructor(irisGrid: IrisGrid) {\n super(850); // Needs to be before GridSelectionMouseHandler\n\n this.irisGrid = irisGrid;\n }\n\n private destroyColumnTooltip(): void {\n this.irisGrid.setState({ overflowButtonTooltipProps: null });\n }\n\n private setCursor(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n this.cursor = 'pointer';\n return { stopPropagation: false, preventDefault: false };\n }\n\n this.cursor = null;\n return false;\n }\n\n private getButtonPosition({\n x,\n y,\n column,\n row,\n }: GridPoint): {\n left: number;\n top: number;\n width: number;\n height: number;\n } | null {\n if (column == null || row == null) {\n return null;\n }\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return null;\n }\n const { metrics } = state;\n const { model } = props;\n const { canvasContext: context } = grid || {};\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n };\n\n const { left, top, width, height } = renderer.getCellOverflowButtonPosition(\n rendererState\n );\n if (left == null || width == null || top == null || height == null) {\n return null;\n }\n\n return { left, top, width, height };\n }\n\n private isHoveringOverflowButton(point: GridPoint): boolean {\n const { x, y } = point;\n const { left, top, width, height } = this.getButtonPosition(point) ?? {};\n if (left == null || width == null || top == null || height == null) {\n return false;\n }\n\n const { renderer, grid, state, props } = this.irisGrid;\n if (!grid) {\n return false;\n }\n const { metrics } = state;\n const { model } = props;\n const { canvasContext: context } = grid || {};\n const theme = grid.getTheme();\n const rendererState = {\n context,\n mouseX: x,\n mouseY: y,\n metrics,\n model,\n theme,\n };\n\n return (\n renderer.shouldRenderOverflowButton(rendererState) &&\n x >= left &&\n x <= left + width &&\n y >= top &&\n y <= top + height\n );\n }\n\n onMove(point: GridPoint): EventHandlerResult {\n if (this.isHoveringOverflowButton(point)) {\n const { overflowButtonTooltipProps } = this.irisGrid.state;\n const newProps = this.getButtonPosition(point);\n if (!deepEqual(overflowButtonTooltipProps, newProps)) {\n this.irisGrid.setState({ overflowButtonTooltipProps: newProps });\n }\n } else {\n this.destroyColumnTooltip();\n }\n return this.setCursor(point);\n }\n\n onWheel(point: GridPoint): EventHandlerResult {\n this.destroyColumnTooltip();\n return this.onMove(point);\n }\n\n // Needs to be onDown and not onClick b/c of GridSelectionMouseHandler shifting cell onDown\n onDown(point: GridPoint): boolean {\n this.destroyColumnTooltip();\n const { column, row } = point;\n\n if (this.isHoveringOverflowButton(point))\n this.irisGrid.setState({\n showOverflowModal: true,\n overflowText: this.irisGrid.getValueForCell(column, row),\n });\n\n return false;\n }\n\n onContextMenu(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n\n onLeave(): EventHandlerResult {\n this.destroyColumnTooltip();\n return false;\n }\n}\n\nexport default IrisGridCellOverflowMouseHandler;\n"],"file":"IrisGridCellOverflowMouseHandler.js"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
2
|
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
|
|
5
5
|
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; }
|
|
6
6
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { default as IrisGridCellOverflowMouseHandler } from './IrisGridCellOverflowMouseHandler';
|
|
1
2
|
export { default as IrisGridColumnSelectMouseHandler } from './IrisGridColumnSelectMouseHandler';
|
|
2
3
|
export { default as IrisGridColumnTooltipMouseHandler } from './IrisGridColumnTooltipMouseHandler';
|
|
3
4
|
export { default as IrisGridContextMenuHandler } from './IrisGridContextMenuHandler';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mousehandlers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAE,OAAO,IAAI,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACnG,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAE,OAAO,IAAI,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { default as IrisGridCellOverflowMouseHandler } from "./IrisGridCellOverflowMouseHandler.js";
|
|
1
2
|
export { default as IrisGridColumnSelectMouseHandler } from "./IrisGridColumnSelectMouseHandler.js";
|
|
2
3
|
export { default as IrisGridColumnTooltipMouseHandler } from "./IrisGridColumnTooltipMouseHandler.js";
|
|
3
4
|
export { default as IrisGridContextMenuHandler } from "./IrisGridContextMenuHandler.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/mousehandlers/index.ts"],"names":["default","IrisGridColumnSelectMouseHandler","IrisGridColumnTooltipMouseHandler","IrisGridContextMenuHandler","IrisGridDataSelectMouseHandler","IrisGridFilterMouseHandler","IrisGridSortMouseHandler","PendingMouseHandler"],"mappings":"SAASA,OAAO,IAAIC,gC;SACXD,OAAO,IAAIE,
|
|
1
|
+
{"version":3,"sources":["../../src/mousehandlers/index.ts"],"names":["default","IrisGridCellOverflowMouseHandler","IrisGridColumnSelectMouseHandler","IrisGridColumnTooltipMouseHandler","IrisGridContextMenuHandler","IrisGridDataSelectMouseHandler","IrisGridFilterMouseHandler","IrisGridSortMouseHandler","PendingMouseHandler"],"mappings":"SAASA,OAAO,IAAIC,gC;SACXD,OAAO,IAAIE,gC;SACXF,OAAO,IAAIG,iC;SACXH,OAAO,IAAII,0B;SACXJ,OAAO,IAAIK,8B;SACXL,OAAO,IAAIM,0B;SACXN,OAAO,IAAIO,wB;SACXP,OAAO,IAAIQ,mB","sourcesContent":["export { default as IrisGridCellOverflowMouseHandler } from './IrisGridCellOverflowMouseHandler';\nexport { default as IrisGridColumnSelectMouseHandler } from './IrisGridColumnSelectMouseHandler';\nexport { default as IrisGridColumnTooltipMouseHandler } from './IrisGridColumnTooltipMouseHandler';\nexport { default as IrisGridContextMenuHandler } from './IrisGridContextMenuHandler';\nexport { default as IrisGridDataSelectMouseHandler } from './IrisGridDataSelectMouseHandler';\nexport { default as IrisGridFilterMouseHandler } from './IrisGridFilterMouseHandler';\nexport { default as IrisGridSortMouseHandler } from './IrisGridSortMouseHandler';\nexport { default as PendingMouseHandler } from './PendingMouseHandler';\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdvancedSettingsMenu.d.ts","sourceRoot":"","sources":["../../src/sidebar/AdvancedSettingsMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,oBAAY,4BAA4B,GAAG,CACzC,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,OAAO,KACV,IAAI,CAAC;AAEV,oBAAY,yBAAyB,GAAG;IACtC,KAAK,EAAE,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,4BAA4B,CAAC;CACzC,CAAC;AAEF,QAAA,MAAM,oBAAoB;2BAGvB,yBAAyB,GAAG,WAAW;wCAanC,oBAAoB,GACxB,MAAM;CAJR,CAAC;AAaF,eAAe,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"AdvancedSettingsMenu.d.ts","sourceRoot":"","sources":["../../src/sidebar/AdvancedSettingsMenu.tsx"],"names":[],"mappings":";AAEA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,oBAAY,4BAA4B,GAAG,CACzC,GAAG,EAAE,oBAAoB,EACzB,IAAI,EAAE,OAAO,KACV,IAAI,CAAC;AAEV,oBAAY,yBAAyB,GAAG;IACtC,KAAK,EAAE,GAAG,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,4BAA4B,CAAC;CACzC,CAAC;AAEF,QAAA,MAAM,oBAAoB;2BAGvB,yBAAyB,GAAG,WAAW;wCAanC,oBAAoB,GACxB,MAAM;CAJR,CAAC;AAaF,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
4
|
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6
6
|
|
|
7
7
|
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; }
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
2
|
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
|
|
5
5
|
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; }
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AggregationEdit.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,wBAAwB,CAAC;AAQhC,oBAAY,oBAAoB,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAUF,QAAA,MAAM,eAAe,wCAIlB,oBAAoB,KAAG,WA2IzB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"AggregationEdit.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/AggregationEdit.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,wBAAwB,CAAC;AAQhC,oBAAY,oBAAoB,GAAG;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC9C,CAAC;AAUF,QAAA,MAAM,eAAe,wCAIlB,oBAAoB,KAAG,WA2IzB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
2
|
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
|
|
5
5
|
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; }
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Aggregations.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/Aggregations.tsx"],"names":[],"mappings":"AA2BA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,OAAO,qBAAqB,CAAC;AAI7B,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClD,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,kBAAkB,wBAc9B,CAAC;AAEF,QAAA,MAAM,YAAY,8CAKf,iBAAiB,KAAG,WAoPtB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"Aggregations.d.ts","sourceRoot":"","sources":["../../../src/sidebar/aggregations/Aggregations.tsx"],"names":[],"mappings":";AA2BA,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,OAAO,qBAAqB,CAAC;AAI7B,oBAAY,WAAW,GAAG;IACxB,SAAS,EAAE,oBAAoB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,oBAAY,mBAAmB,GAAG;IAChC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,oBAAY,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,QAAQ,EAAE,CAAC,QAAQ,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClD,MAAM,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,kBAAkB,wBAc9B,CAAC;AAEF,QAAA,MAAM,YAAY,8CAKf,iBAAiB,KAAG,WAoPtB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
2
|
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
|
|
5
5
|
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; }
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnFormatEditor.d.ts","sourceRoot":"","sources":["../../../src/sidebar/conditional-formatting/ColumnFormatEditor.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,gBAAgB,EAChB,cAAc,EAId,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAMtC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAeD,QAAA,MAAM,kBAAkB,UAAW,uBAAuB,KAAG,WA0G5D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"ColumnFormatEditor.d.ts","sourceRoot":"","sources":["../../../src/sidebar/conditional-formatting/ColumnFormatEditor.tsx"],"names":[],"mappings":";AAGA,OAAO,EACL,gBAAgB,EAChB,cAAc,EAId,WAAW,EACZ,MAAM,8BAA8B,CAAC;AAMtC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAeD,QAAA,MAAM,kBAAkB,UAAW,uBAAuB,KAAG,WA0G5D,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
2
|
|
|
3
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
4
|
|
|
5
5
|
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; }
|
|
6
6
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionEditor.d.ts","sourceRoot":"","sources":["../../../src/sidebar/conditional-formatting/ConditionEditor.tsx"],"names":[],"mappings":"AAGA,OAAO,EAOL,WAAW,EACX,eAAe,EAMhB,MAAM,8BAA8B,CAAC;AAItC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAChE;AAgOD,QAAA,MAAM,eAAe,UAAW,oBAAoB,KAAG,WAwKtD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"ConditionEditor.d.ts","sourceRoot":"","sources":["../../../src/sidebar/conditional-formatting/ConditionEditor.tsx"],"names":[],"mappings":";AAGA,OAAO,EAOL,WAAW,EACX,eAAe,EAMhB,MAAM,8BAA8B,CAAC;AAItC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CAChE;AAgOD,QAAA,MAAM,eAAe,UAAW,oBAAoB,KAAG,WAwKtD,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -173,7 +173,7 @@ var ConditionEditor = props => {
|
|
|
173
173
|
return charConditions;
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
-
if (TableUtils.
|
|
176
|
+
if (TableUtils.isStringType(selectedColumnType)) {
|
|
177
177
|
return stringConditions;
|
|
178
178
|
}
|
|
179
179
|
|
|
@@ -247,7 +247,7 @@ var ConditionEditor = props => {
|
|
|
247
247
|
return getCharInputs(selectedCondition, handleValueChange, conditionValue);
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
-
if (TableUtils.
|
|
250
|
+
if (TableUtils.isStringType(selectedColumnType)) {
|
|
251
251
|
return getStringInputs(selectedCondition, handleValueChange, conditionValue);
|
|
252
252
|
}
|
|
253
253
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/sidebar/conditional-formatting/ConditionEditor.tsx"],"names":["React","useCallback","useEffect","useMemo","useState","Log","TableUtils","StringCondition","DateCondition","getLabelForNumberCondition","getLabelForDateCondition","getLabelForStringCondition","NumberCondition","getDefaultConditionForType","getLabelForBooleanCondition","BooleanCondition","CharCondition","getLabelForCharCondition","log","module","DEFAULT_CALLBACK","undefined","numberConditionOptions","IS_EQUAL","IS_NOT_EQUAL","IS_BETWEEN","GREATER_THAN","GREATER_THAN_OR_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","IS_NULL","IS_NOT_NULL","map","option","stringConditions","IS_EXACTLY","IS_NOT_EXACTLY","CONTAINS","DOES_NOT_CONTAIN","STARTS_WITH","ENDS_WITH","dateConditions","IS_BEFORE","IS_BEFORE_OR_EQUAL","IS_AFTER","IS_AFTER_OR_EQUAL","booleanConditions","IS_TRUE","IS_FALSE","charConditions","isNumberConditionValid","condition","value","startValue","endValue","Number","isNaN","parseFloat","getNumberInputs","selectedCondition","handleValueChange","handleStartValueChange","handleEndValueChange","conditionValue","getStringInputs","getDateInputs","getBooleanInputs","getCharInputs","ConditionEditor","props","column","config","onChange","selectedColumnType","type","prevColumnType","setPrevColumnType","setCondition","setValue","setStartValue","start","setEndValue","end","conditions","isNumberType","isCharType","isTextType","isDateType","isBooleanType","handleConditionChange","e","target","debug","isValid","conditionInputs"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport Log from '@deephaven/log';\nimport TableUtils from '../../TableUtils';\nimport {\n StringCondition,\n DateCondition,\n getLabelForNumberCondition,\n getLabelForDateCondition,\n getLabelForStringCondition,\n NumberCondition,\n ModelColumn,\n ConditionConfig,\n getDefaultConditionForType,\n getLabelForBooleanCondition,\n BooleanCondition,\n CharCondition,\n getLabelForCharCondition,\n} from './ConditionalFormattingUtils';\n\nconst log = Log.module('ConditionEditor');\n\nexport interface ConditionEditorProps {\n column: ModelColumn;\n config: ConditionConfig;\n onChange?: (config: ConditionConfig, isValid: boolean) => void;\n}\n\nconst DEFAULT_CALLBACK = () => undefined;\n\nconst numberConditionOptions = [\n NumberCondition.IS_EQUAL,\n NumberCondition.IS_NOT_EQUAL,\n NumberCondition.IS_BETWEEN,\n NumberCondition.GREATER_THAN,\n NumberCondition.GREATER_THAN_OR_EQUAL,\n NumberCondition.LESS_THAN,\n NumberCondition.LESS_THAN_OR_EQUAL,\n NumberCondition.IS_NULL,\n NumberCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForNumberCondition(option)}\n </option>\n));\n\nconst stringConditions = [\n StringCondition.IS_EXACTLY,\n StringCondition.IS_NOT_EXACTLY,\n StringCondition.CONTAINS,\n StringCondition.DOES_NOT_CONTAIN,\n StringCondition.STARTS_WITH,\n StringCondition.ENDS_WITH,\n StringCondition.IS_NULL,\n StringCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForStringCondition(option)}\n </option>\n));\n\nconst dateConditions = [\n DateCondition.IS_EXACTLY,\n DateCondition.IS_NOT_EXACTLY,\n DateCondition.IS_BEFORE,\n DateCondition.IS_BEFORE_OR_EQUAL,\n DateCondition.IS_AFTER,\n DateCondition.IS_AFTER_OR_EQUAL,\n DateCondition.IS_NULL,\n DateCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForDateCondition(option)}\n </option>\n));\n\nconst booleanConditions = [\n BooleanCondition.IS_TRUE,\n BooleanCondition.IS_FALSE,\n BooleanCondition.IS_NULL,\n BooleanCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForBooleanCondition(option)}\n </option>\n));\n\nconst charConditions = [\n CharCondition.IS_EQUAL,\n CharCondition.IS_NOT_EQUAL,\n CharCondition.IS_NULL,\n CharCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForCharCondition(option)}\n </option>\n));\n\nfunction isNumberConditionValid(\n condition: NumberCondition,\n value?: string,\n startValue?: string,\n endValue?: string\n) {\n if (\n condition === NumberCondition.IS_NULL ||\n condition === NumberCondition.IS_NOT_NULL\n ) {\n return true;\n }\n if (\n condition === NumberCondition.IS_BETWEEN &&\n startValue &&\n !Number.isNaN(Number.parseFloat(startValue)) &&\n endValue &&\n !Number.isNaN(Number.parseFloat(endValue))\n ) {\n return true;\n }\n if (\n condition !== NumberCondition.IS_BETWEEN &&\n value &&\n !Number.isNaN(Number.parseFloat(value))\n ) {\n return true;\n }\n return false;\n}\n\nfunction getNumberInputs(\n selectedCondition: NumberCondition,\n handleValueChange: (e: unknown) => void,\n handleStartValueChange: (e: unknown) => void,\n handleEndValueChange: (e: unknown) => void,\n conditionValue?: string,\n startValue?: string,\n endValue?: string\n) {\n switch (selectedCondition) {\n case NumberCondition.IS_EQUAL:\n case NumberCondition.IS_NOT_EQUAL:\n case NumberCondition.GREATER_THAN:\n case NumberCondition.GREATER_THAN_OR_EQUAL:\n case NumberCondition.LESS_THAN:\n case NumberCondition.LESS_THAN_OR_EQUAL:\n return (\n <input\n type=\"number\"\n className=\"form-control\"\n placeholder=\"Enter value\"\n value={conditionValue ?? ''}\n onChange={handleValueChange}\n />\n );\n case NumberCondition.IS_BETWEEN:\n return (\n <div className=\"d-flex flex-row\">\n <input\n type=\"number\"\n className=\"form-control d-flex mr-2\"\n placeholder=\"Start value\"\n value={startValue ?? ''}\n onChange={handleStartValueChange}\n />\n <input\n type=\"number\"\n className=\"form-control d-flex\"\n placeholder=\"End value\"\n value={endValue ?? ''}\n onChange={handleEndValueChange}\n />\n </div>\n );\n case NumberCondition.IS_NULL:\n case NumberCondition.IS_NOT_NULL:\n return null;\n }\n}\n\nfunction getStringInputs(\n selectedCondition: StringCondition,\n handleValueChange: (e: unknown) => void,\n conditionValue?: string\n) {\n switch (selectedCondition) {\n case StringCondition.IS_NULL:\n case StringCondition.IS_NOT_NULL:\n return null;\n default:\n return (\n <input\n type=\"text\"\n className=\"form-control\"\n placeholder=\"Enter value\"\n value={conditionValue ?? ''}\n onChange={handleValueChange}\n />\n );\n }\n}\n\nfunction getDateInputs(\n selectedCondition: DateCondition,\n handleValueChange: (e: unknown) => void,\n conditionValue?: string\n) {\n switch (selectedCondition) {\n case DateCondition.IS_NULL:\n case DateCondition.IS_NOT_NULL:\n return null;\n default:\n return (\n <input\n type=\"text\"\n className=\"form-control\"\n placeholder=\"Enter value\"\n value={conditionValue ?? ''}\n onChange={handleValueChange}\n />\n );\n }\n}\n\nfunction getBooleanInputs() {\n return null;\n}\n\nfunction getCharInputs(\n selectedCondition: CharCondition,\n handleValueChange: (e: unknown) => void,\n conditionValue?: string\n) {\n switch (selectedCondition) {\n case CharCondition.IS_NULL:\n case CharCondition.IS_NOT_NULL:\n return null;\n default:\n return (\n <input\n type=\"text\"\n className=\"form-control\"\n maxLength={1}\n placeholder=\"Enter value\"\n value={conditionValue ?? ''}\n onChange={handleValueChange}\n />\n );\n }\n}\n\nconst ConditionEditor = (props: ConditionEditorProps): JSX.Element => {\n const { column, config, onChange = DEFAULT_CALLBACK } = props;\n const selectedColumnType = column.type;\n const [prevColumnType, setPrevColumnType] = useState(selectedColumnType);\n const [selectedCondition, setCondition] = useState(config.condition);\n const [conditionValue, setValue] = useState(config.value);\n const [startValue, setStartValue] = useState(config.start);\n const [endValue, setEndValue] = useState(config.end);\n\n if (selectedColumnType !== prevColumnType) {\n // Column type changed, reset condition and value fields\n setCondition(getDefaultConditionForType(selectedColumnType));\n setValue(undefined);\n setStartValue(undefined);\n setEndValue(undefined);\n setPrevColumnType(selectedColumnType);\n }\n\n const conditions = useMemo(() => {\n if (selectedColumnType === undefined) {\n return [];\n }\n if (TableUtils.isNumberType(selectedColumnType)) {\n return numberConditionOptions;\n }\n if (TableUtils.isCharType(selectedColumnType)) {\n return charConditions;\n }\n if (TableUtils.isTextType(selectedColumnType)) {\n return stringConditions;\n }\n if (TableUtils.isDateType(selectedColumnType)) {\n return dateConditions;\n }\n if (TableUtils.isBooleanType(selectedColumnType)) {\n return booleanConditions;\n }\n }, [selectedColumnType]);\n\n const handleConditionChange = useCallback(e => {\n const { value } = e.target;\n log.debug('handleConditionChange', value);\n setCondition(value);\n }, []);\n\n const handleValueChange = useCallback(e => {\n const { value } = e.target;\n log.debug('handleValueChange', value);\n setValue(value);\n }, []);\n\n const handleStartValueChange = useCallback(e => {\n const { value } = e.target;\n log.debug('handleStartValueChange', value);\n setStartValue(value);\n }, []);\n\n const handleEndValueChange = useCallback(e => {\n const { value } = e.target;\n log.debug('handleEndValueChange', value);\n setEndValue(value);\n }, []);\n\n useEffect(() => {\n let isValid = true;\n\n if (selectedCondition === undefined) {\n log.debug('Unable to create formatting rule. Condition is not selected.');\n isValid = false;\n }\n\n if (\n TableUtils.isNumberType(column.type) &&\n !isNumberConditionValid(\n selectedCondition as NumberCondition,\n conditionValue,\n startValue,\n endValue\n )\n ) {\n log.debug(\n 'Unable to create formatting rule. Invalid value',\n conditionValue\n );\n isValid = false;\n }\n onChange(\n {\n condition: selectedCondition,\n value: conditionValue,\n start: startValue,\n end: endValue,\n },\n isValid\n );\n }, [\n onChange,\n column.type,\n selectedCondition,\n conditionValue,\n startValue,\n endValue,\n ]);\n\n const conditionInputs = useMemo(() => {\n if (selectedColumnType === undefined) {\n // Column not selected\n return null;\n }\n if (TableUtils.isNumberType(selectedColumnType)) {\n return getNumberInputs(\n selectedCondition as NumberCondition,\n handleValueChange,\n handleStartValueChange,\n handleEndValueChange,\n conditionValue,\n startValue,\n endValue\n );\n }\n if (TableUtils.isCharType(selectedColumnType)) {\n return getCharInputs(\n selectedCondition as CharCondition,\n handleValueChange,\n conditionValue\n );\n }\n if (TableUtils.isTextType(selectedColumnType)) {\n return getStringInputs(\n selectedCondition as StringCondition,\n handleValueChange,\n conditionValue\n );\n }\n if (TableUtils.isDateType(selectedColumnType)) {\n return getDateInputs(\n selectedCondition as DateCondition,\n handleValueChange,\n conditionValue\n );\n }\n if (TableUtils.isBooleanType(selectedColumnType)) {\n return getBooleanInputs();\n }\n }, [\n selectedColumnType,\n selectedCondition,\n conditionValue,\n startValue,\n endValue,\n handleValueChange,\n handleStartValueChange,\n handleEndValueChange,\n ]);\n\n return (\n <div className=\"condition-editor mb-2\">\n <select\n value={selectedCondition}\n id=\"condition-select\"\n className=\"custom-select mb-2\"\n onChange={handleConditionChange}\n >\n {conditions}\n </select>\n {conditionInputs}\n </div>\n );\n};\n\nexport default ConditionEditor;\n"],"file":"ConditionEditor.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/sidebar/conditional-formatting/ConditionEditor.tsx"],"names":["React","useCallback","useEffect","useMemo","useState","Log","TableUtils","StringCondition","DateCondition","getLabelForNumberCondition","getLabelForDateCondition","getLabelForStringCondition","NumberCondition","getDefaultConditionForType","getLabelForBooleanCondition","BooleanCondition","CharCondition","getLabelForCharCondition","log","module","DEFAULT_CALLBACK","undefined","numberConditionOptions","IS_EQUAL","IS_NOT_EQUAL","IS_BETWEEN","GREATER_THAN","GREATER_THAN_OR_EQUAL","LESS_THAN","LESS_THAN_OR_EQUAL","IS_NULL","IS_NOT_NULL","map","option","stringConditions","IS_EXACTLY","IS_NOT_EXACTLY","CONTAINS","DOES_NOT_CONTAIN","STARTS_WITH","ENDS_WITH","dateConditions","IS_BEFORE","IS_BEFORE_OR_EQUAL","IS_AFTER","IS_AFTER_OR_EQUAL","booleanConditions","IS_TRUE","IS_FALSE","charConditions","isNumberConditionValid","condition","value","startValue","endValue","Number","isNaN","parseFloat","getNumberInputs","selectedCondition","handleValueChange","handleStartValueChange","handleEndValueChange","conditionValue","getStringInputs","getDateInputs","getBooleanInputs","getCharInputs","ConditionEditor","props","column","config","onChange","selectedColumnType","type","prevColumnType","setPrevColumnType","setCondition","setValue","setStartValue","start","setEndValue","end","conditions","isNumberType","isCharType","isStringType","isDateType","isBooleanType","handleConditionChange","e","target","debug","isValid","conditionInputs"],"mappings":"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","sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport Log from '@deephaven/log';\nimport TableUtils from '../../TableUtils';\nimport {\n StringCondition,\n DateCondition,\n getLabelForNumberCondition,\n getLabelForDateCondition,\n getLabelForStringCondition,\n NumberCondition,\n ModelColumn,\n ConditionConfig,\n getDefaultConditionForType,\n getLabelForBooleanCondition,\n BooleanCondition,\n CharCondition,\n getLabelForCharCondition,\n} from './ConditionalFormattingUtils';\n\nconst log = Log.module('ConditionEditor');\n\nexport interface ConditionEditorProps {\n column: ModelColumn;\n config: ConditionConfig;\n onChange?: (config: ConditionConfig, isValid: boolean) => void;\n}\n\nconst DEFAULT_CALLBACK = () => undefined;\n\nconst numberConditionOptions = [\n NumberCondition.IS_EQUAL,\n NumberCondition.IS_NOT_EQUAL,\n NumberCondition.IS_BETWEEN,\n NumberCondition.GREATER_THAN,\n NumberCondition.GREATER_THAN_OR_EQUAL,\n NumberCondition.LESS_THAN,\n NumberCondition.LESS_THAN_OR_EQUAL,\n NumberCondition.IS_NULL,\n NumberCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForNumberCondition(option)}\n </option>\n));\n\nconst stringConditions = [\n StringCondition.IS_EXACTLY,\n StringCondition.IS_NOT_EXACTLY,\n StringCondition.CONTAINS,\n StringCondition.DOES_NOT_CONTAIN,\n StringCondition.STARTS_WITH,\n StringCondition.ENDS_WITH,\n StringCondition.IS_NULL,\n StringCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForStringCondition(option)}\n </option>\n));\n\nconst dateConditions = [\n DateCondition.IS_EXACTLY,\n DateCondition.IS_NOT_EXACTLY,\n DateCondition.IS_BEFORE,\n DateCondition.IS_BEFORE_OR_EQUAL,\n DateCondition.IS_AFTER,\n DateCondition.IS_AFTER_OR_EQUAL,\n DateCondition.IS_NULL,\n DateCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForDateCondition(option)}\n </option>\n));\n\nconst booleanConditions = [\n BooleanCondition.IS_TRUE,\n BooleanCondition.IS_FALSE,\n BooleanCondition.IS_NULL,\n BooleanCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForBooleanCondition(option)}\n </option>\n));\n\nconst charConditions = [\n CharCondition.IS_EQUAL,\n CharCondition.IS_NOT_EQUAL,\n CharCondition.IS_NULL,\n CharCondition.IS_NOT_NULL,\n].map(option => (\n <option key={option} value={option}>\n {getLabelForCharCondition(option)}\n </option>\n));\n\nfunction isNumberConditionValid(\n condition: NumberCondition,\n value?: string,\n startValue?: string,\n endValue?: string\n) {\n if (\n condition === NumberCondition.IS_NULL ||\n condition === NumberCondition.IS_NOT_NULL\n ) {\n return true;\n }\n if (\n condition === NumberCondition.IS_BETWEEN &&\n startValue &&\n !Number.isNaN(Number.parseFloat(startValue)) &&\n endValue &&\n !Number.isNaN(Number.parseFloat(endValue))\n ) {\n return true;\n }\n if (\n condition !== NumberCondition.IS_BETWEEN &&\n value &&\n !Number.isNaN(Number.parseFloat(value))\n ) {\n return true;\n }\n return false;\n}\n\nfunction getNumberInputs(\n selectedCondition: NumberCondition,\n handleValueChange: (e: unknown) => void,\n handleStartValueChange: (e: unknown) => void,\n handleEndValueChange: (e: unknown) => void,\n conditionValue?: string,\n startValue?: string,\n endValue?: string\n) {\n switch (selectedCondition) {\n case NumberCondition.IS_EQUAL:\n case NumberCondition.IS_NOT_EQUAL:\n case NumberCondition.GREATER_THAN:\n case NumberCondition.GREATER_THAN_OR_EQUAL:\n case NumberCondition.LESS_THAN:\n case NumberCondition.LESS_THAN_OR_EQUAL:\n return (\n <input\n type=\"number\"\n className=\"form-control\"\n placeholder=\"Enter value\"\n value={conditionValue ?? ''}\n onChange={handleValueChange}\n />\n );\n case NumberCondition.IS_BETWEEN:\n return (\n <div className=\"d-flex flex-row\">\n <input\n type=\"number\"\n className=\"form-control d-flex mr-2\"\n placeholder=\"Start value\"\n value={startValue ?? ''}\n onChange={handleStartValueChange}\n />\n <input\n type=\"number\"\n className=\"form-control d-flex\"\n placeholder=\"End value\"\n value={endValue ?? ''}\n onChange={handleEndValueChange}\n />\n </div>\n );\n case NumberCondition.IS_NULL:\n case NumberCondition.IS_NOT_NULL:\n return null;\n }\n}\n\nfunction getStringInputs(\n selectedCondition: StringCondition,\n handleValueChange: (e: unknown) => void,\n conditionValue?: string\n) {\n switch (selectedCondition) {\n case StringCondition.IS_NULL:\n case StringCondition.IS_NOT_NULL:\n return null;\n default:\n return (\n <input\n type=\"text\"\n className=\"form-control\"\n placeholder=\"Enter value\"\n value={conditionValue ?? ''}\n onChange={handleValueChange}\n />\n );\n }\n}\n\nfunction getDateInputs(\n selectedCondition: DateCondition,\n handleValueChange: (e: unknown) => void,\n conditionValue?: string\n) {\n switch (selectedCondition) {\n case DateCondition.IS_NULL:\n case DateCondition.IS_NOT_NULL:\n return null;\n default:\n return (\n <input\n type=\"text\"\n className=\"form-control\"\n placeholder=\"Enter value\"\n value={conditionValue ?? ''}\n onChange={handleValueChange}\n />\n );\n }\n}\n\nfunction getBooleanInputs() {\n return null;\n}\n\nfunction getCharInputs(\n selectedCondition: CharCondition,\n handleValueChange: (e: unknown) => void,\n conditionValue?: string\n) {\n switch (selectedCondition) {\n case CharCondition.IS_NULL:\n case CharCondition.IS_NOT_NULL:\n return null;\n default:\n return (\n <input\n type=\"text\"\n className=\"form-control\"\n maxLength={1}\n placeholder=\"Enter value\"\n value={conditionValue ?? ''}\n onChange={handleValueChange}\n />\n );\n }\n}\n\nconst ConditionEditor = (props: ConditionEditorProps): JSX.Element => {\n const { column, config, onChange = DEFAULT_CALLBACK } = props;\n const selectedColumnType = column.type;\n const [prevColumnType, setPrevColumnType] = useState(selectedColumnType);\n const [selectedCondition, setCondition] = useState(config.condition);\n const [conditionValue, setValue] = useState(config.value);\n const [startValue, setStartValue] = useState(config.start);\n const [endValue, setEndValue] = useState(config.end);\n\n if (selectedColumnType !== prevColumnType) {\n // Column type changed, reset condition and value fields\n setCondition(getDefaultConditionForType(selectedColumnType));\n setValue(undefined);\n setStartValue(undefined);\n setEndValue(undefined);\n setPrevColumnType(selectedColumnType);\n }\n\n const conditions = useMemo(() => {\n if (selectedColumnType === undefined) {\n return [];\n }\n if (TableUtils.isNumberType(selectedColumnType)) {\n return numberConditionOptions;\n }\n if (TableUtils.isCharType(selectedColumnType)) {\n return charConditions;\n }\n if (TableUtils.isStringType(selectedColumnType)) {\n return stringConditions;\n }\n if (TableUtils.isDateType(selectedColumnType)) {\n return dateConditions;\n }\n if (TableUtils.isBooleanType(selectedColumnType)) {\n return booleanConditions;\n }\n }, [selectedColumnType]);\n\n const handleConditionChange = useCallback(e => {\n const { value } = e.target;\n log.debug('handleConditionChange', value);\n setCondition(value);\n }, []);\n\n const handleValueChange = useCallback(e => {\n const { value } = e.target;\n log.debug('handleValueChange', value);\n setValue(value);\n }, []);\n\n const handleStartValueChange = useCallback(e => {\n const { value } = e.target;\n log.debug('handleStartValueChange', value);\n setStartValue(value);\n }, []);\n\n const handleEndValueChange = useCallback(e => {\n const { value } = e.target;\n log.debug('handleEndValueChange', value);\n setEndValue(value);\n }, []);\n\n useEffect(() => {\n let isValid = true;\n\n if (selectedCondition === undefined) {\n log.debug('Unable to create formatting rule. Condition is not selected.');\n isValid = false;\n }\n\n if (\n TableUtils.isNumberType(column.type) &&\n !isNumberConditionValid(\n selectedCondition as NumberCondition,\n conditionValue,\n startValue,\n endValue\n )\n ) {\n log.debug(\n 'Unable to create formatting rule. Invalid value',\n conditionValue\n );\n isValid = false;\n }\n onChange(\n {\n condition: selectedCondition,\n value: conditionValue,\n start: startValue,\n end: endValue,\n },\n isValid\n );\n }, [\n onChange,\n column.type,\n selectedCondition,\n conditionValue,\n startValue,\n endValue,\n ]);\n\n const conditionInputs = useMemo(() => {\n if (selectedColumnType === undefined) {\n // Column not selected\n return null;\n }\n if (TableUtils.isNumberType(selectedColumnType)) {\n return getNumberInputs(\n selectedCondition as NumberCondition,\n handleValueChange,\n handleStartValueChange,\n handleEndValueChange,\n conditionValue,\n startValue,\n endValue\n );\n }\n if (TableUtils.isCharType(selectedColumnType)) {\n return getCharInputs(\n selectedCondition as CharCondition,\n handleValueChange,\n conditionValue\n );\n }\n if (TableUtils.isStringType(selectedColumnType)) {\n return getStringInputs(\n selectedCondition as StringCondition,\n handleValueChange,\n conditionValue\n );\n }\n if (TableUtils.isDateType(selectedColumnType)) {\n return getDateInputs(\n selectedCondition as DateCondition,\n handleValueChange,\n conditionValue\n );\n }\n if (TableUtils.isBooleanType(selectedColumnType)) {\n return getBooleanInputs();\n }\n }, [\n selectedColumnType,\n selectedCondition,\n conditionValue,\n startValue,\n endValue,\n handleValueChange,\n handleStartValueChange,\n handleEndValueChange,\n ]);\n\n return (\n <div className=\"condition-editor mb-2\">\n <select\n value={selectedCondition}\n id=\"condition-select\"\n className=\"custom-select mb-2\"\n onChange={handleConditionChange}\n >\n {conditions}\n </select>\n {conditionInputs}\n </div>\n );\n};\n\nexport default ConditionEditor;\n"],"file":"ConditionEditor.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConditionalFormatEditor.d.ts","sourceRoot":"","sources":["../../../src/sidebar/conditional-formatting/ConditionalFormatEditor.tsx"],"names":[],"mappings":"AAOA,OAAO,EAGL,cAAc,
|
|
1
|
+
{"version":3,"file":"ConditionalFormatEditor.d.ts","sourceRoot":"","sources":["../../../src/sidebar/conditional-formatting/ConditionalFormatEditor.tsx"],"names":[],"mappings":";AAOA,OAAO,EAGL,cAAc,EAEd,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,gCAAgC,CAAC;AAIxC,oBAAY,YAAY,GAAG,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;AAE1D,oBAAY,cAAc,GAAG,CAAC,IAAI,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;AAE7D,oBAAY,cAAc,GAAG,MAAM,IAAI,CAAC;AAExC,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAwBD,QAAA,MAAM,uBAAuB,UACpB,4BAA4B,KAClC,WAsGF,CAAC;AAEF,eAAe,uBAAuB,CAAC"}
|
|
@@ -5,7 +5,7 @@ import Log from '@deephaven/log';
|
|
|
5
5
|
import { FormatColumnWhereIcon, FormatRowWhereIcon } from "../icons/index.js";
|
|
6
6
|
import ColumnFormatEditor from "./ColumnFormatEditor.js";
|
|
7
7
|
import RowFormatEditor from "./RowFormatEditor.js";
|
|
8
|
-
import { FormatterType } from "./ConditionalFormattingUtils.js";
|
|
8
|
+
import { FormatterType, isSupportedColumn } from "./ConditionalFormattingUtils.js";
|
|
9
9
|
import "./ConditionalFormatEditor.css";
|
|
10
10
|
var log = Log.module('ConditionalFormatEditor');
|
|
11
11
|
|
|
@@ -37,12 +37,13 @@ var ConditionalFormatEditor = props => {
|
|
|
37
37
|
var _defaultRule$type;
|
|
38
38
|
|
|
39
39
|
var {
|
|
40
|
-
columns,
|
|
40
|
+
columns: originalColumns,
|
|
41
41
|
onSave = DEFAULT_CALLBACK,
|
|
42
42
|
onUpdate = DEFAULT_CALLBACK,
|
|
43
43
|
onCancel = DEFAULT_CALLBACK,
|
|
44
44
|
rule: defaultRule
|
|
45
45
|
} = props;
|
|
46
|
+
var columns = originalColumns.filter(isSupportedColumn);
|
|
46
47
|
var [selectedFormatter, setFormatter] = useState((_defaultRule$type = defaultRule === null || defaultRule === void 0 ? void 0 : defaultRule.type) !== null && _defaultRule$type !== void 0 ? _defaultRule$type : formatterTypes[0]);
|
|
47
48
|
var [rule, setRule] = useState(defaultRule);
|
|
48
49
|
var [isValid, setIsValid] = useState(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/sidebar/conditional-formatting/ConditionalFormatEditor.tsx"],"names":["React","useCallback","useState","classNames","Button","Log","FormatColumnWhereIcon","FormatRowWhereIcon","ColumnFormatEditor","RowFormatEditor","FormatterType","log","module","DEFAULT_CALLBACK","undefined","getFormatterTypeIcon","option","CONDITIONAL","ROWS","getFormatterTypeLabel","formatterTypes","ConditionalFormatEditor","props","columns","onSave","onUpdate","onCancel","rule","defaultRule","selectedFormatter","setFormatter","type","setRule","isValid","setIsValid","handleCancel","handleSave","error","handleFormatterChange","value","debug","handleRuleChange","ruleConfig","isRuleValid","updatedRule","config","map","index","active"],"mappings":"AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,QAA7B,QAA6C,OAA7C;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,OAAOC,GAAP,MAAgB,gBAAhB;SACSC,qB,EAAuBC,kB;OACzBC,kB;OACAC,e;SAGLC,a;;
|
|
1
|
+
{"version":3,"sources":["../../../src/sidebar/conditional-formatting/ConditionalFormatEditor.tsx"],"names":["React","useCallback","useState","classNames","Button","Log","FormatColumnWhereIcon","FormatRowWhereIcon","ColumnFormatEditor","RowFormatEditor","FormatterType","isSupportedColumn","log","module","DEFAULT_CALLBACK","undefined","getFormatterTypeIcon","option","CONDITIONAL","ROWS","getFormatterTypeLabel","formatterTypes","ConditionalFormatEditor","props","columns","originalColumns","onSave","onUpdate","onCancel","rule","defaultRule","filter","selectedFormatter","setFormatter","type","setRule","isValid","setIsValid","handleCancel","handleSave","error","handleFormatterChange","value","debug","handleRuleChange","ruleConfig","isRuleValid","updatedRule","config","map","index","active"],"mappings":"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","sourcesContent":["import React, { useCallback, useState } from 'react';\nimport classNames from 'classnames';\nimport { Button } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport { FormatColumnWhereIcon, FormatRowWhereIcon } from '../icons';\nimport ColumnFormatEditor from './ColumnFormatEditor';\nimport RowFormatEditor from './RowFormatEditor';\nimport {\n BaseFormatConfig,\n FormatterType,\n FormattingRule,\n isSupportedColumn,\n ModelColumn,\n} from './ConditionalFormattingUtils';\nimport './ConditionalFormatEditor.scss';\n\nconst log = Log.module('ConditionalFormatEditor');\n\nexport type SaveCallback = (rule: FormattingRule) => void;\n\nexport type UpdateCallback = (rule?: FormattingRule) => void;\n\nexport type CancelCallback = () => void;\n\nexport interface ConditionalFormatEditorProps {\n columns: ModelColumn[];\n rule?: FormattingRule;\n onCancel?: CancelCallback;\n onSave?: SaveCallback;\n onUpdate?: UpdateCallback;\n}\n\nconst DEFAULT_CALLBACK = () => undefined;\n\nfunction getFormatterTypeIcon(option: FormatterType): JSX.Element | undefined {\n switch (option) {\n case FormatterType.CONDITIONAL:\n return <FormatColumnWhereIcon />;\n case FormatterType.ROWS:\n return <FormatRowWhereIcon />;\n }\n}\n\nfunction getFormatterTypeLabel(option: FormatterType): string {\n switch (option) {\n case FormatterType.CONDITIONAL:\n return 'Conditional';\n case FormatterType.ROWS:\n return 'Rows';\n }\n}\n\nconst formatterTypes = [FormatterType.CONDITIONAL, FormatterType.ROWS];\n\nconst ConditionalFormatEditor = (\n props: ConditionalFormatEditorProps\n): JSX.Element => {\n const {\n columns: originalColumns,\n onSave = DEFAULT_CALLBACK,\n onUpdate = DEFAULT_CALLBACK,\n onCancel = DEFAULT_CALLBACK,\n rule: defaultRule,\n } = props;\n\n const columns = originalColumns.filter(isSupportedColumn);\n\n const [selectedFormatter, setFormatter] = useState(\n defaultRule?.type ?? formatterTypes[0]\n );\n const [rule, setRule] = useState(defaultRule);\n const [isValid, setIsValid] = useState(false);\n\n const handleCancel = useCallback(() => {\n onCancel();\n }, [onCancel]);\n\n const handleSave = useCallback(() => {\n if (rule === undefined) {\n log.error('Rule is not defined.');\n return;\n }\n onSave(rule);\n }, [onSave, rule]);\n\n const handleFormatterChange = useCallback(value => {\n log.debug('handleFormatterChange', value);\n setFormatter(value);\n }, []);\n\n const handleRuleChange = useCallback(\n (ruleConfig, isRuleValid) => {\n log.debug('handleRuleChange', ruleConfig, isRuleValid, selectedFormatter);\n const updatedRule = {\n type: selectedFormatter,\n config: ruleConfig as BaseFormatConfig,\n };\n setRule(updatedRule);\n setIsValid(isRuleValid);\n onUpdate(isRuleValid ? updatedRule : undefined);\n },\n [onUpdate, selectedFormatter]\n );\n\n return (\n <div className=\"conditional-format-editor form\">\n <div className=\"mb-2\">\n <label className=\"mb-0\" htmlFor=\"formatter-select\">\n Select Formatter\n </label>\n\n <div className=\"formatter-list\">\n {formatterTypes.map((type, index) => (\n <div key={type} className=\"formatter-type\">\n <button\n type=\"button\"\n className={classNames('btn', 'btn-icon', 'btn-formatter-type', {\n active: type === selectedFormatter,\n })}\n data-index={index}\n onClick={() => handleFormatterChange(type)}\n >\n {getFormatterTypeIcon(type)}\n {getFormatterTypeLabel(type)}\n </button>\n </div>\n ))}\n </div>\n </div>\n {selectedFormatter === FormatterType.CONDITIONAL && (\n <ColumnFormatEditor\n columns={columns}\n config={rule?.config}\n onChange={handleRuleChange}\n />\n )}\n {selectedFormatter === FormatterType.ROWS && (\n <RowFormatEditor\n columns={columns}\n config={rule?.config}\n onChange={handleRuleChange}\n />\n )}\n <hr />\n <div className=\"d-flex justify-content-end my-3\">\n <Button kind=\"secondary\" onClick={handleCancel} className=\"mr-2\">\n Cancel\n </Button>\n <Button\n kind=\"primary\"\n onClick={handleSave}\n disabled={rule === undefined || !isValid}\n >\n Done\n </Button>\n </div>\n </div>\n );\n};\n\nexport default ConditionalFormatEditor;\n"],"file":"ConditionalFormatEditor.js"}
|