@gooddata/sdk-ui-filters 11.18.0-alpha.2 → 11.18.0-alpha.3

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 (56) hide show
  1. package/esm/MeasureValueFilter/ComparisonInput.d.ts +4 -1
  2. package/esm/MeasureValueFilter/ComparisonInput.d.ts.map +1 -1
  3. package/esm/MeasureValueFilter/ComparisonInput.js +4 -2
  4. package/esm/MeasureValueFilter/ComparisonInput.js.map +1 -1
  5. package/esm/MeasureValueFilter/ConditionInputSection.d.ts +26 -0
  6. package/esm/MeasureValueFilter/ConditionInputSection.d.ts.map +1 -0
  7. package/esm/MeasureValueFilter/ConditionInputSection.js +49 -0
  8. package/esm/MeasureValueFilter/ConditionInputSection.js.map +1 -0
  9. package/esm/MeasureValueFilter/DimensionalitySection.d.ts.map +1 -1
  10. package/esm/MeasureValueFilter/DimensionalitySection.js +10 -7
  11. package/esm/MeasureValueFilter/DimensionalitySection.js.map +1 -1
  12. package/esm/MeasureValueFilter/Dropdown.d.ts +5 -4
  13. package/esm/MeasureValueFilter/Dropdown.d.ts.map +1 -1
  14. package/esm/MeasureValueFilter/Dropdown.js +5 -5
  15. package/esm/MeasureValueFilter/Dropdown.js.map +1 -1
  16. package/esm/MeasureValueFilter/DropdownBody.d.ts +5 -4
  17. package/esm/MeasureValueFilter/DropdownBody.d.ts.map +1 -1
  18. package/esm/MeasureValueFilter/DropdownBody.js +341 -85
  19. package/esm/MeasureValueFilter/DropdownBody.js.map +1 -1
  20. package/esm/MeasureValueFilter/MeasureValueFilter.d.ts.map +1 -1
  21. package/esm/MeasureValueFilter/MeasureValueFilter.js +2 -2
  22. package/esm/MeasureValueFilter/MeasureValueFilter.js.map +1 -1
  23. package/esm/MeasureValueFilter/MeasureValueFilterDropdown.d.ts.map +1 -1
  24. package/esm/MeasureValueFilter/MeasureValueFilterDropdown.js +54 -26
  25. package/esm/MeasureValueFilter/MeasureValueFilterDropdown.js.map +1 -1
  26. package/esm/MeasureValueFilter/OperatorDropdown.d.ts +1 -0
  27. package/esm/MeasureValueFilter/OperatorDropdown.d.ts.map +1 -1
  28. package/esm/MeasureValueFilter/OperatorDropdown.js +2 -2
  29. package/esm/MeasureValueFilter/OperatorDropdown.js.map +1 -1
  30. package/esm/MeasureValueFilter/OperatorDropdownBody.d.ts +1 -0
  31. package/esm/MeasureValueFilter/OperatorDropdownBody.d.ts.map +1 -1
  32. package/esm/MeasureValueFilter/OperatorDropdownBody.js +6 -3
  33. package/esm/MeasureValueFilter/OperatorDropdownBody.js.map +1 -1
  34. package/esm/MeasureValueFilter/OperatorDropdownItem.d.ts +2 -0
  35. package/esm/MeasureValueFilter/OperatorDropdownItem.d.ts.map +1 -1
  36. package/esm/MeasureValueFilter/OperatorDropdownItem.js +14 -3
  37. package/esm/MeasureValueFilter/OperatorDropdownItem.js.map +1 -1
  38. package/esm/MeasureValueFilter/PreviewSection.d.ts +9 -4
  39. package/esm/MeasureValueFilter/PreviewSection.d.ts.map +1 -1
  40. package/esm/MeasureValueFilter/PreviewSection.js +109 -18
  41. package/esm/MeasureValueFilter/PreviewSection.js.map +1 -1
  42. package/esm/MeasureValueFilter/RangeInput.d.ts +8 -1
  43. package/esm/MeasureValueFilter/RangeInput.d.ts.map +1 -1
  44. package/esm/MeasureValueFilter/RangeInput.js +25 -14
  45. package/esm/MeasureValueFilter/RangeInput.js.map +1 -1
  46. package/esm/MeasureValueFilter/typings.d.ts +8 -0
  47. package/esm/MeasureValueFilter/typings.d.ts.map +1 -1
  48. package/esm/MeasureValueFilter/typings.js +1 -1
  49. package/esm/MeasureValueFilter/typings.js.map +1 -1
  50. package/esm/sdk-ui-filters.d.ts +8 -0
  51. package/package.json +10 -10
  52. package/styles/css/main.css +74 -6
  53. package/styles/css/main.css.map +1 -1
  54. package/styles/css/measureValueFilter.css +74 -6
  55. package/styles/css/measureValueFilter.css.map +1 -1
  56. package/styles/scss/measureValueFilter.scss +84 -7
@@ -1,22 +1,60 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  // (C) 2019-2026 GoodData Corporation
3
- import { memo, useCallback, useMemo, useState } from "react";
3
+ import { memo, useCallback, useMemo, useRef, useState } from "react";
4
+ import cx from "classnames";
4
5
  import { useIntl } from "react-intl";
5
- import { isComparisonConditionOperator, isRangeConditionOperator, } from "@gooddata/sdk-model";
6
+ import { isComparisonCondition, isComparisonConditionOperator, isRangeCondition, isRangeConditionOperator, } from "@gooddata/sdk-model";
6
7
  import { IntlWrapper } from "@gooddata/sdk-ui";
7
- import { Button } from "@gooddata/sdk-ui-kit";
8
- import { ComparisonInput } from "./ComparisonInput.js";
8
+ import { Bubble, BubbleHoverTrigger, Button, UiIconButton, UiTooltip } from "@gooddata/sdk-ui-kit";
9
+ import { ConditionInputSection } from "./ConditionInputSection.js";
9
10
  import { DimensionalitySection, areDimensionalitySetsEqual } from "./DimensionalitySection.js";
10
11
  import { intervalIncludesZero } from "./helpers/intervalIncludesZero.js";
11
12
  import { OperatorDropdown } from "./OperatorDropdown.js";
12
13
  import { PreviewSection } from "./PreviewSection.js";
13
- import { RangeInput } from "./RangeInput.js";
14
14
  import { TreatNullValuesAsZeroCheckbox } from "./TreatNullValuesAsZeroCheckbox.js";
15
15
  import { WarningMessageComponent } from "./WarningMessage.js";
16
16
  const DefaultValuePrecision = 6;
17
+ const ALIGN_POINTS = [{ align: "cr cl" }];
18
+ const toFormCondition = (condition) => {
19
+ if (isComparisonCondition(condition)) {
20
+ return {
21
+ operator: condition.comparison.operator,
22
+ value: { value: condition.comparison.value },
23
+ };
24
+ }
25
+ return {
26
+ operator: condition.range.operator,
27
+ value: { from: condition.range.from, to: condition.range.to },
28
+ };
29
+ };
30
+ const getTreatNullValuesAsZeroFromConditions = (conditions) => {
31
+ return conditions.some((c) => (isComparisonCondition(c) && c.comparison.treatNullValuesAs !== undefined) ||
32
+ (isRangeCondition(c) && c.range.treatNullValuesAs !== undefined));
33
+ };
34
+ const areConditionValuesEqual = (operator, a, b) => {
35
+ if (operator === "ALL") {
36
+ return true;
37
+ }
38
+ if (isComparisonConditionOperator(operator)) {
39
+ return a.value === b.value;
40
+ }
41
+ if (isRangeConditionOperator(operator)) {
42
+ return a.from === b.from && a.to === b.to;
43
+ }
44
+ return true;
45
+ };
17
46
  export const DropdownBodyWithIntl = memo(function DropdownBodyWithIntl(props) {
18
47
  const intl = useIntl();
19
- const { operator: propsOperator, value, usePercentage, treatNullAsZeroValue, valuePrecision = DefaultValuePrecision, isDimensionalityEnabled = true, insightDimensionality, separators, catalogDimensionality, onDimensionalityChange, isLoadingCatalogDimensionality, } = props;
48
+ const addConditionTooltip = intl.formatMessage({
49
+ id: "mvf.addConditionTooltip",
50
+ });
51
+ const addConditionDisabledTooltip = intl.formatMessage({
52
+ id: "mvf.addConditionTooltip.disabled",
53
+ });
54
+ const removeConditionTooltip = intl.formatMessage({
55
+ id: "mvf.removeConditionTooltip",
56
+ });
57
+ const { operator: propsOperator, conditions: propsConditions, enableMultipleConditions = false, usePercentage, treatNullAsZeroValue, valuePrecision = DefaultValuePrecision, isDimensionalityEnabled = true, insightDimensionality, separators, catalogDimensionality, onDimensionalityChange, isLoadingCatalogDimensionality, } = props;
20
58
  // This flag determines if the message, which explains different filter behavior, is shown for the filters
21
59
  // created before the dimensionality feature was introduced. The new filters or re-saved filters are
22
60
  // considered as "migrated" and the message is not shown.
@@ -42,6 +80,9 @@ export const DropdownBodyWithIntl = memo(function DropdownBodyWithIntl(props) {
42
80
  if (!value) {
43
81
  return value;
44
82
  }
83
+ if (operator === "ALL") {
84
+ return {};
85
+ }
45
86
  return isComparisonConditionOperator(operator)
46
87
  ? { value: trimToPrecision(fromDecimalToPercent(value.value)) }
47
88
  : {
@@ -54,17 +95,34 @@ export const DropdownBodyWithIntl = memo(function DropdownBodyWithIntl(props) {
54
95
  ? props.dimensionality
55
96
  : (insightDimensionality ?? [])) ?? [], [props.dimensionality, insightDimensionality]);
56
97
  const [state, setState] = useState(() => {
98
+ const baseConditions = propsConditions.length > 0 ? propsConditions : [];
99
+ const effectivePropsConditions = enableMultipleConditions
100
+ ? baseConditions
101
+ : baseConditions.slice(0, 1);
102
+ const initialConditions = effectivePropsConditions.length > 0
103
+ ? effectivePropsConditions.map(toFormCondition)
104
+ : [{ operator: propsOperator || "ALL", value: {} }];
57
105
  return {
58
- operator: propsOperator || "ALL",
59
- value: (usePercentage ? convertToPercentageValue(value, propsOperator) : value) || {},
60
- enabledTreatNullValuesAsZero: treatNullAsZeroValue,
106
+ conditions: initialConditions.map((c) => ({
107
+ operator: c.operator,
108
+ value: usePercentage ? convertToPercentageValue(c.value, c.operator) : c.value,
109
+ showError: {},
110
+ })),
111
+ enabledTreatNullValuesAsZero: treatNullAsZeroValue ?? getTreatNullValuesAsZeroFromConditions(propsConditions),
61
112
  dimensionality: initialDimensionality,
62
113
  };
63
114
  });
115
+ // Keep the checkbox state in a ref to avoid edge cases where Apply is clicked
116
+ // immediately after toggling the checkbox (before state update is reflected in callbacks).
117
+ const enabledTreatNullValuesAsZeroRef = useRef(state.enabledTreatNullValuesAsZero);
118
+ enabledTreatNullValuesAsZeroRef.current = state.enabledTreatNullValuesAsZero;
64
119
  const convertToRawValue = useCallback((value, operator) => {
65
120
  if (!value) {
66
121
  return value;
67
122
  }
123
+ if (operator === "ALL") {
124
+ return {};
125
+ }
68
126
  return isComparisonConditionOperator(operator)
69
127
  ? { value: trimToPrecision(fromPercentToDecimal(value.value)) }
70
128
  : {
@@ -72,75 +130,168 @@ export const DropdownBodyWithIntl = memo(function DropdownBodyWithIntl(props) {
72
130
  to: trimToPrecision(fromPercentToDecimal(value.to)),
73
131
  };
74
132
  }, [trimToPrecision, fromPercentToDecimal]);
75
- const isChanged = useCallback(() => state.operator !== props.operator ||
76
- state.enabledTreatNullValuesAsZero !== props.treatNullAsZeroValue ||
77
- !areDimensionalitySetsEqual(initialDimensionality, state.dimensionality), [
78
- state.operator,
133
+ const initialFormConditions = useMemo(() => {
134
+ const baseConditions = propsConditions.length > 0 ? propsConditions : [];
135
+ const effectivePropsConditions = enableMultipleConditions
136
+ ? baseConditions
137
+ : baseConditions.slice(0, 1);
138
+ const base = effectivePropsConditions.length > 0
139
+ ? effectivePropsConditions.map(toFormCondition)
140
+ : [{ operator: propsOperator || "ALL", value: {} }];
141
+ return base.map((c) => ({
142
+ operator: c.operator,
143
+ value: usePercentage ? convertToPercentageValue(c.value, c.operator) : c.value,
144
+ }));
145
+ }, [propsConditions, propsOperator, usePercentage, convertToPercentageValue, enableMultipleConditions]);
146
+ const isChanged = useCallback(() => {
147
+ const stateConditions = state.conditions;
148
+ const hasHiddenConditionsInProps = !enableMultipleConditions && propsConditions.length > 1;
149
+ if (stateConditions.length !== initialFormConditions.length) {
150
+ return true;
151
+ }
152
+ const anyConditionDiff = stateConditions.some((c, idx) => {
153
+ const initial = initialFormConditions[idx];
154
+ return (c.operator !== initial.operator ||
155
+ !areConditionValuesEqual(c.operator, c.value, initial.value));
156
+ });
157
+ return (hasHiddenConditionsInProps ||
158
+ anyConditionDiff ||
159
+ (state.enabledTreatNullValuesAsZero ?? false) !== (props.treatNullAsZeroValue ?? false) ||
160
+ !areDimensionalitySetsEqual(initialDimensionality, state.dimensionality));
161
+ }, [
162
+ enableMultipleConditions,
163
+ propsConditions.length,
164
+ state.conditions,
79
165
  state.enabledTreatNullValuesAsZero,
80
- props.operator,
81
166
  props.treatNullAsZeroValue,
82
167
  initialDimensionality,
83
168
  state.dimensionality,
169
+ initialFormConditions,
84
170
  ]);
85
- const isApplyButtonDisabledForComparison = useCallback(() => {
86
- const { value: stateValue = null } = state.value;
87
- if (stateValue === null || Number.isNaN(stateValue)) {
88
- return true;
89
- }
90
- if (props.value === null || isChanged()) {
91
- return false;
92
- }
93
- if (props.usePercentage) {
94
- return trimToPrecision(fromPercentToDecimal(stateValue)) === props.value.value;
95
- }
96
- return stateValue === props.value.value;
97
- }, [state.value, props.value, props.usePercentage, isChanged, trimToPrecision, fromPercentToDecimal]);
98
- const isApplyButtonDisabledForRange = useCallback(() => {
99
- const { from = null, to = null } = state.value;
100
- if (from === null || to === null || Number.isNaN(from) || Number.isNaN(to)) {
171
+ /*
172
+ * Old isChanged implementation removed.
173
+ */
174
+ const isConditionValid = useCallback((c) => {
175
+ if (c.operator === "ALL") {
101
176
  return true;
102
177
  }
103
- if (props.value === null || isChanged()) {
104
- return false;
178
+ if (isComparisonConditionOperator(c.operator)) {
179
+ const v = c.value.value;
180
+ return v !== null && v !== undefined && !Number.isNaN(v);
105
181
  }
106
- if (props.usePercentage) {
107
- return (trimToPrecision(fromPercentToDecimal(from)) === props.value.from &&
108
- trimToPrecision(fromPercentToDecimal(to)) === props.value.to);
182
+ if (isRangeConditionOperator(c.operator)) {
183
+ const { from = null, to = null } = c.value;
184
+ return !(from === null || to === null || Number.isNaN(from) || Number.isNaN(to));
109
185
  }
110
- return from === props.value.from && to === props.value.to;
111
- }, [state.value, props.value, props.usePercentage, isChanged, trimToPrecision, fromPercentToDecimal]);
186
+ return true;
187
+ }, []);
112
188
  const isApplyButtonDisabled = useCallback(() => {
113
189
  // disable the Apply button when the filter has no currently set dimensionality but insight has it
114
190
  // (e.g., non-headline insight that can have the dimensionality) but only when supported via ff
115
- if (isDimensionalityEnabled && state.dimensionality.length === 0) {
191
+ if (isDimensionalityEnabled &&
192
+ state.dimensionality.length === 0 &&
193
+ (insightDimensionality?.length ?? 0) > 0) {
116
194
  return true;
117
195
  }
118
- if (isComparisonConditionOperator(state.operator)) {
119
- return isApplyButtonDisabledForComparison();
120
- }
121
- if (isRangeConditionOperator(state.operator)) {
122
- return isApplyButtonDisabledForRange();
196
+ const effectiveConditions = enableMultipleConditions
197
+ ? state.conditions
198
+ : state.conditions.slice(0, 1);
199
+ // when there are multiple conditions, all of them must be defined
200
+ const areValid = effectiveConditions.every((c) => isConditionValid(c));
201
+ if (!areValid) {
202
+ return true;
123
203
  }
124
204
  return !isChanged();
125
205
  }, [
126
- state.operator,
127
206
  state.dimensionality,
207
+ state.conditions,
128
208
  isDimensionalityEnabled,
129
- isApplyButtonDisabledForComparison,
130
- isApplyButtonDisabledForRange,
209
+ insightDimensionality,
210
+ enableMultipleConditions,
211
+ isConditionValid,
131
212
  isChanged,
132
213
  ]);
133
- const handleOperatorSelection = useCallback((operator) => setState((prev) => ({ ...prev, operator })), []);
134
- const handleValueChange = useCallback((value) => {
135
- setState((prev) => ({ ...prev, value: { ...prev.value, value } }));
214
+ const getApplyButtonTooltip = useCallback(() => {
215
+ if (!isApplyButtonDisabled()) {
216
+ return undefined;
217
+ }
218
+ // Check for empty dimensionality first
219
+ if (isDimensionalityEnabled &&
220
+ state.dimensionality.length === 0 &&
221
+ (insightDimensionality?.length ?? 0) > 0) {
222
+ return intl.formatMessage({ id: "mvf.applyButton.tooltip.emptyDimensionality" });
223
+ }
224
+ // Check for invalid conditions
225
+ const effectiveConditions = enableMultipleConditions
226
+ ? state.conditions
227
+ : state.conditions.slice(0, 1);
228
+ const areValid = effectiveConditions.every((c) => isConditionValid(c));
229
+ if (!areValid) {
230
+ return intl.formatMessage({ id: "mvf.applyButton.tooltip.emptyValues" });
231
+ }
232
+ // No changes
233
+ return intl.formatMessage({ id: "mvf.applyButton.tooltip.noChanges" });
234
+ }, [
235
+ isApplyButtonDisabled,
236
+ isDimensionalityEnabled,
237
+ state.dimensionality,
238
+ insightDimensionality,
239
+ enableMultipleConditions,
240
+ state.conditions,
241
+ isConditionValid,
242
+ intl,
243
+ ]);
244
+ const handleOperatorSelection = useCallback((index, operator) => {
245
+ setState((prev) => ({
246
+ ...prev,
247
+ conditions: prev.conditions.map((c, i) => (i === index ? { ...c, operator, touched: {} } : c)),
248
+ }));
136
249
  }, []);
137
- const handleFromChange = useCallback((from) => {
138
- setState((prev) => ({ ...prev, value: { ...prev.value, from } }));
250
+ // Generic handler for value changes (value/from/to fields)
251
+ const createFieldChangeHandler = useCallback((field) => (index, fieldValue) => {
252
+ setState((prev) => ({
253
+ ...prev,
254
+ conditions: prev.conditions.map((c, i) => i === index
255
+ ? {
256
+ ...c,
257
+ value: { ...c.value, [field]: fieldValue },
258
+ // Clear error if valid value is entered
259
+ showError: {
260
+ ...c.showError,
261
+ [field]: !!(c.showError[field] &&
262
+ (fieldValue === null ||
263
+ fieldValue === undefined ||
264
+ Number.isNaN(fieldValue))),
265
+ },
266
+ }
267
+ : c),
268
+ }));
139
269
  }, []);
140
- const handleToChange = useCallback((to) => {
141
- setState((prev) => ({ ...prev, value: { ...prev.value, to } }));
270
+ const handleValueChange = useMemo(() => createFieldChangeHandler("value"), [createFieldChangeHandler]);
271
+ const handleFromChange = useMemo(() => createFieldChangeHandler("from"), [createFieldChangeHandler]);
272
+ const handleToChange = useMemo(() => createFieldChangeHandler("to"), [createFieldChangeHandler]);
273
+ // Generic handler for blur events (value/from/to fields)
274
+ const createFieldBlurHandler = useCallback((field) => (index) => {
275
+ setState((prev) => ({
276
+ ...prev,
277
+ conditions: prev.conditions.map((c, i) => {
278
+ if (i !== index) {
279
+ return c;
280
+ }
281
+ const fieldValue = c.value[field];
282
+ const isInvalid = fieldValue === null || fieldValue === undefined || Number.isNaN(fieldValue);
283
+ return {
284
+ ...c,
285
+ showError: { ...c.showError, [field]: isInvalid },
286
+ };
287
+ }),
288
+ }));
142
289
  }, []);
290
+ const handleValueBlur = useMemo(() => createFieldBlurHandler("value"), [createFieldBlurHandler]);
291
+ const handleFromBlur = useMemo(() => createFieldBlurHandler("from"), [createFieldBlurHandler]);
292
+ const handleToBlur = useMemo(() => createFieldBlurHandler("to"), [createFieldBlurHandler]);
143
293
  const handleTreatNullAsZeroClicked = useCallback((checked) => {
294
+ enabledTreatNullValuesAsZeroRef.current = checked;
144
295
  setState((prev) => ({ ...prev, enabledTreatNullValuesAsZero: checked }));
145
296
  }, []);
146
297
  const handleDimensionalityChange = useCallback((dimensionality) => {
@@ -151,13 +302,43 @@ export const DropdownBodyWithIntl = memo(function DropdownBodyWithIntl(props) {
151
302
  setIsMigratedFilter(true);
152
303
  }, [onDimensionalityChange]);
153
304
  const onApply = useCallback(() => {
305
+ // If user tries to apply (button click / Enter), show validation errors
306
+ // even if the inputs did not lose focus yet.
307
+ setState((prev) => {
308
+ const effectiveCount = enableMultipleConditions
309
+ ? prev.conditions.length
310
+ : Math.min(prev.conditions.length, 1);
311
+ const effectiveIdxs = new Set(Array.from({ length: effectiveCount }, (_v, idx) => idx));
312
+ return {
313
+ ...prev,
314
+ conditions: prev.conditions.map((c, idx) => {
315
+ if (!effectiveIdxs.has(idx)) {
316
+ return c;
317
+ }
318
+ if (c.operator === "ALL") {
319
+ return c;
320
+ }
321
+ if (isComparisonConditionOperator(c.operator)) {
322
+ return {
323
+ ...c,
324
+ showError: { ...c.showError, value: true },
325
+ };
326
+ }
327
+ if (isRangeConditionOperator(c.operator)) {
328
+ return {
329
+ ...c,
330
+ showError: { ...c.showError, from: true, to: true },
331
+ };
332
+ }
333
+ return c;
334
+ }),
335
+ };
336
+ });
154
337
  if (isApplyButtonDisabled()) {
155
338
  return;
156
339
  }
157
- const { enabledTreatNullValuesAsZero, operator: stateOperator, value: stateValue, dimensionality: stateDimensionality, } = state;
340
+ const { dimensionality: stateDimensionality, conditions: stateConditions } = state;
158
341
  const { usePercentage } = props;
159
- const finalOperator = stateOperator === "ALL" ? null : stateOperator;
160
- const finalValue = usePercentage ? convertToRawValue(stateValue, stateOperator) : stateValue;
161
342
  // Always include dimensionality in the output.
162
343
  // When current dimensionality matches insight defaults (same set, order-insensitive),
163
344
  // use the default order from insightDimensionality.
@@ -182,41 +363,116 @@ export const DropdownBodyWithIntl = memo(function DropdownBodyWithIntl(props) {
182
363
  ? stateDimensionality.map((item) => item.identifier)
183
364
  : undefined;
184
365
  }
185
- props.onApply(finalOperator, finalValue, enabledTreatNullValuesAsZero ?? false, finalDimensionality);
186
- }, [isApplyButtonDisabled, state, props, convertToRawValue, insightDimensionality]);
187
- const renderInputSection = useMemo(() => {
188
- if (isComparisonConditionOperator(state.operator)) {
189
- return (_jsx(ComparisonInput, { value: state.value.value, usePercentage: props.usePercentage ?? false, onValueChange: handleValueChange, onEnterKeyPress: onApply, disableAutofocus: props.disableAutofocus, separators: props.separators }));
190
- }
191
- else if (isRangeConditionOperator(state.operator)) {
192
- return (_jsx(RangeInput, { from: state.value.from, to: state.value.to, usePercentage: props.usePercentage ?? false, onFromChange: handleFromChange, onToChange: handleToChange, onEnterKeyPress: onApply, disableAutofocus: props.disableAutofocus, separators: props.separators }));
193
- }
194
- return null;
366
+ const effectiveStateConditions = enableMultipleConditions
367
+ ? stateConditions
368
+ : stateConditions.slice(0, 1);
369
+ const lastConditionOperator = effectiveStateConditions[effectiveStateConditions.length - 1]?.operator ?? "ALL";
370
+ // Apply treat-null-values-as when enabled via checkbox (and feature is enabled),
371
+ // regardless of live interval changes while editing. UI already hides the checkbox
372
+ // when it is not relevant; if user managed to enable it, we honor it.
373
+ const effectiveTreatNullAsZero = props.displayTreatNullAsZeroOption === true &&
374
+ lastConditionOperator !== "ALL" &&
375
+ (enabledTreatNullValuesAsZeroRef.current ?? false);
376
+ const finalConditions = effectiveStateConditions
377
+ .filter((c) => c.operator !== "ALL")
378
+ .map((c) => {
379
+ const rawValue = usePercentage ? convertToRawValue(c.value, c.operator) : c.value;
380
+ const treatNullValuesAs = effectiveTreatNullAsZero ? 0 : undefined;
381
+ if (isComparisonConditionOperator(c.operator)) {
382
+ return {
383
+ comparison: {
384
+ operator: c.operator,
385
+ value: rawValue.value,
386
+ ...(treatNullValuesAs === undefined ? {} : { treatNullValuesAs }),
387
+ },
388
+ };
389
+ }
390
+ if (isRangeConditionOperator(c.operator)) {
391
+ return {
392
+ range: {
393
+ operator: c.operator,
394
+ from: rawValue.from,
395
+ to: rawValue.to,
396
+ ...(treatNullValuesAs === undefined ? {} : { treatNullValuesAs }),
397
+ },
398
+ };
399
+ }
400
+ // Should not happen because "ALL" conditions are filtered out above.
401
+ return { comparison: { operator: "EQUAL_TO", value: 0 } };
402
+ });
403
+ props.onApply(finalConditions.length ? finalConditions : null, finalDimensionality);
195
404
  }, [
196
- handleValueChange,
197
- handleFromChange,
198
- handleToChange,
199
- onApply,
200
- state.value,
201
- state.operator,
202
- props.usePercentage,
203
- props.disableAutofocus,
204
- props.separators,
405
+ isApplyButtonDisabled,
406
+ state,
407
+ props,
408
+ convertToRawValue,
409
+ insightDimensionality,
410
+ enableMultipleConditions,
205
411
  ]);
206
412
  const { onCancel, warningMessage, displayTreatNullAsZeroOption, enableOperatorSelection } = props;
207
- const { operator, enabledTreatNullValuesAsZero, dimensionality } = state;
208
- // Determine if the checkbox should be shown based on whether zero is in the filter interval
413
+ const { enabledTreatNullValuesAsZero, dimensionality } = state;
414
+ const isAllOperatorDisabled = useMemo(() => {
415
+ return enableMultipleConditions && state.conditions.length > 1;
416
+ }, [enableMultipleConditions, state.conditions.length]);
417
+ // Determine if the checkbox should be shown based on whether zero is in ANY condition interval.
418
+ // It is rendered only once, after the last condition (as per design).
209
419
  const shouldShowTreatNullAsZeroCheckbox = useMemo(() => {
210
- if (!displayTreatNullAsZeroOption || operator === "ALL") {
420
+ if (!displayTreatNullAsZeroOption) {
421
+ return false;
422
+ }
423
+ const effectiveStateConditions = enableMultipleConditions
424
+ ? state.conditions
425
+ : state.conditions.slice(0, 1);
426
+ if (effectiveStateConditions.length === 0) {
211
427
  return false;
212
428
  }
213
- // For comparison operators, use state.value.value
214
- // For range operators, use state.value.from and state.value.to
215
- const valueParam = isComparisonConditionOperator(operator) ? state.value.value : state.value.from;
216
- const toParam = isRangeConditionOperator(operator) ? state.value.to : undefined;
217
- return intervalIncludesZero(operator, valueParam, toParam);
218
- }, [displayTreatNullAsZeroOption, operator, state.value]);
219
- return (_jsxs("div", { className: "gd-mvf-dropdown-body gd-dialog gd-dropdown overlay s-mvf-dropdown-body", "data-testid": "mvf-dropdown-body", children: [_jsxs("div", { className: "gd-mvf-dropdown-content", children: [warningMessage ? (_jsx("div", { className: "gd-mvf-dropdown-section", children: _jsx(WarningMessageComponent, { warningMessage: warningMessage }) })) : null, _jsx("div", { className: "gd-mvf-dropdown-section", "data-testid": "mvf-operator-section", children: _jsx(OperatorDropdown, { onSelect: handleOperatorSelection, operator: operator, isDisabled: !enableOperatorSelection }) }), operator === "ALL" ? null : (_jsxs("div", { className: "gd-mvf-dropdown-section", children: [renderInputSection, " ", shouldShowTreatNullAsZeroCheckbox ? (_jsx(TreatNullValuesAsZeroCheckbox, { onChange: handleTreatNullAsZeroClicked, checked: enabledTreatNullValuesAsZero, intl: intl })) : null] })), isDimensionalityEnabled ? (_jsxs(_Fragment, { children: [_jsx(DimensionalitySection, { dimensionality: dimensionality, insightDimensionality: insightDimensionality, catalogDimensionality: catalogDimensionality, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, onDimensionalityChange: handleDimensionalityChange, isMigratedFilter: isMigratedFilter }), _jsx(PreviewSection, { operator: operator, measureTitle: props.measureTitle, usePercentage: props.usePercentage, separators: separators, dimensionality: dimensionality, value: state.value.value, from: state.value.from, to: state.value.to })] })) : null] }), _jsxs("div", { className: "gd-mvf-dropdown-footer", children: [_jsx(Button, { className: "gd-button-secondary gd-button-small s-mvf-dropdown-cancel", onClick: onCancel, value: intl.formatMessage({ id: "cancel" }) }), _jsx(Button, { className: "gd-button-action gd-button-small s-mvf-dropdown-apply", onClick: onApply, value: intl.formatMessage({ id: "apply" }), disabled: isApplyButtonDisabled() })] })] }));
429
+ const last = effectiveStateConditions[effectiveStateConditions.length - 1];
430
+ if (!last || last.operator === "ALL") {
431
+ return false;
432
+ }
433
+ return effectiveStateConditions.some((c) => {
434
+ const valueParam = isComparisonConditionOperator(c.operator) ? c.value.value : c.value.from;
435
+ const toParam = isRangeConditionOperator(c.operator) ? c.value.to : undefined;
436
+ return intervalIncludesZero(c.operator, valueParam, toParam);
437
+ });
438
+ }, [displayTreatNullAsZeroOption, state.conditions, enableMultipleConditions]);
439
+ const isAddConditionDisabled = useMemo(() => {
440
+ const first = state.conditions[0];
441
+ if (!first) {
442
+ return true;
443
+ }
444
+ return first.operator === "ALL";
445
+ }, [state.conditions]);
446
+ const handleAddCondition = useCallback(() => {
447
+ if (!enableMultipleConditions) {
448
+ return;
449
+ }
450
+ if (isAddConditionDisabled) {
451
+ return;
452
+ }
453
+ setState((prev) => {
454
+ const first = prev.conditions[0];
455
+ if (!first || first.operator === "ALL") {
456
+ return prev;
457
+ }
458
+ return {
459
+ ...prev,
460
+ conditions: [...prev.conditions, { operator: first.operator, value: {}, showError: {} }],
461
+ };
462
+ });
463
+ }, [isAddConditionDisabled, enableMultipleConditions]);
464
+ const handleRemoveCondition = useCallback((index) => {
465
+ setState((prev) => ({
466
+ ...prev,
467
+ conditions: prev.conditions.filter((_, i) => i !== index),
468
+ }));
469
+ }, []);
470
+ return (_jsxs("div", { className: "gd-mvf-dropdown-body gd-dialog gd-dropdown overlay s-mvf-dropdown-body", "data-testid": "mvf-dropdown-body", children: [_jsxs("div", { className: "gd-mvf-dropdown-content", children: [warningMessage ? (_jsx("div", { className: "gd-mvf-dropdown-section", children: _jsx(WarningMessageComponent, { warningMessage: warningMessage }) })) : null, (enableMultipleConditions ? state.conditions : state.conditions.slice(0, 1)).map((c, idx) => (_jsxs("div", { className: cx("gd-mvf-dropdown-section", "gd-mvf-condition-section", {
471
+ "gd-mvf-condition-section--multi": enableMultipleConditions,
472
+ }), children: [_jsxs("div", { className: "gd-mvf-condition-header", "data-testid": `mvf-condition-${idx}`, children: [_jsx("div", { className: "gd-mvf-condition-operator", children: _jsx(OperatorDropdown, { onSelect: (op) => handleOperatorSelection(idx, op), operator: c.operator, isDisabled: !enableOperatorSelection, isAllOperatorDisabled: isAllOperatorDisabled }) }), enableMultipleConditions ? (_jsx("div", { className: "gd-mvf-condition-action", children: idx === 0 ? (_jsxs(BubbleHoverTrigger, { children: [_jsx(UiIconButton, { icon: "plus", size: "small", variant: "tertiary", isDisabled: isAddConditionDisabled, onClick: handleAddCondition, dataTestId: "mvf-add-condition", label: addConditionTooltip }), _jsx(Bubble, { alignPoints: ALIGN_POINTS, children: isAddConditionDisabled
473
+ ? addConditionDisabledTooltip
474
+ : addConditionTooltip })] })) : (_jsxs(BubbleHoverTrigger, { children: [_jsx(UiIconButton, { icon: "cross", size: "small", variant: "tertiary", isDesctructive: true, onClick: () => handleRemoveCondition(idx), dataTestId: `mvf-remove-condition-${idx}`, label: removeConditionTooltip }), _jsx(Bubble, { alignPoints: ALIGN_POINTS, children: removeConditionTooltip })] })) })) : null] }), c.operator === "ALL" ? null : (_jsxs("div", { className: "gd-mvf-condition-inputs", children: [_jsx(ConditionInputSection, { index: idx, condition: c, usePercentage: props.usePercentage ?? false, baseDisableAutofocus: props.disableAutofocus, separators: props.separators, onValueChange: handleValueChange, onFromChange: handleFromChange, onToChange: handleToChange, onValueBlur: handleValueBlur, onFromBlur: handleFromBlur, onToBlur: handleToBlur, onApply: onApply }), idx === (enableMultipleConditions ? state.conditions.length - 1 : 0) &&
475
+ shouldShowTreatNullAsZeroCheckbox ? (_jsx(TreatNullValuesAsZeroCheckbox, { onChange: handleTreatNullAsZeroClicked, checked: enabledTreatNullValuesAsZero, intl: intl })) : null] })), enableMultipleConditions && idx < state.conditions.length - 1 ? (_jsx("div", { className: "gd-mvf-conditions-joiner", children: "or" })) : null] }, idx))), isDimensionalityEnabled ? (_jsxs(_Fragment, { children: [_jsx(DimensionalitySection, { dimensionality: dimensionality, insightDimensionality: insightDimensionality, catalogDimensionality: catalogDimensionality, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, onDimensionalityChange: handleDimensionalityChange, isMigratedFilter: isMigratedFilter }), _jsx(PreviewSection, { measureTitle: props.measureTitle, usePercentage: props.usePercentage, separators: separators, dimensionality: dimensionality, showAllPreview: enableMultipleConditions, conditions: state.conditions.map(({ operator, value }) => ({ operator, value })) })] })) : null] }), _jsxs("div", { className: "gd-mvf-dropdown-footer", children: [_jsx(Button, { className: "gd-button-secondary gd-button-small s-mvf-dropdown-cancel", onClick: onCancel, value: intl.formatMessage({ id: "cancel" }) }), _jsx(UiTooltip, { content: getApplyButtonTooltip(), triggerBy: ["hover"], disabled: !isApplyButtonDisabled(), arrowPlacement: "left", optimalPlacement: true, anchor: _jsx(Button, { className: "gd-button-action gd-button-small s-mvf-dropdown-apply", onClick: onApply, value: intl.formatMessage({ id: "apply" }), disabled: isApplyButtonDisabled() }) })] })] }));
220
476
  });
221
477
  export const DropdownBody = memo(function DropdownBody(props) {
222
478
  return (_jsx(IntlWrapper, { locale: props.locale, children: _jsx(DropdownBodyWithIntl, { ...props }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownBody.js","sourceRoot":"","sources":["../../src/MeasureValueFilter/DropdownBody.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DropdownBody.js","sourceRoot":"","sources":["../../src/MeasureValueFilter/DropdownBody.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MeasureValueFilter.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/MeasureValueFilter.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,8BAA8B;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,gEAyE7B,CAAC"}
1
+ {"version":3,"file":"MeasureValueFilter.d.ts","sourceRoot":"","sources":["../../src/MeasureValueFilter/MeasureValueFilter.tsx"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,8BAA8B,EAAE,MAAM,cAAc,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,8BAA8B;IAC5E,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,gEA2E7B,CAAC"}
@@ -6,7 +6,7 @@ import { MeasureValueFilterDropdown } from "./MeasureValueFilterDropdown.js";
6
6
  /**
7
7
  * @beta
8
8
  */
9
- export const MeasureValueFilter = memo(function MeasureValueFilter({ onCancel = () => { }, filter, measureIdentifier, buttonTitle, usePercentage, warningMessage, locale, separators, displayTreatNullAsZeroOption, treatNullAsZeroDefaultValue, enableOperatorSelection, dimensionality, insightDimensionality, isDimensionalityEnabled, catalogDimensionality, onDimensionalityChange, isLoadingCatalogDimensionality, onApply, }) {
9
+ export const MeasureValueFilter = memo(function MeasureValueFilter({ onCancel = () => { }, filter, measureIdentifier, buttonTitle, usePercentage, warningMessage, locale, separators, displayTreatNullAsZeroOption, treatNullAsZeroDefaultValue, enableOperatorSelection, dimensionality, insightDimensionality, isDimensionalityEnabled, catalogDimensionality, onDimensionalityChange, isLoadingCatalogDimensionality, enableMultipleConditions = false, onApply, }) {
10
10
  const [displayDropdown, setDisplayDropdown] = useState(false);
11
11
  const buttonRef = useRef(null);
12
12
  const handleApply = useCallback((filter) => {
@@ -20,6 +20,6 @@ export const MeasureValueFilter = memo(function MeasureValueFilter({ onCancel =
20
20
  const toggleDropdown = useCallback(() => {
21
21
  setDisplayDropdown((state) => !state);
22
22
  }, []);
23
- return (_jsxs(Fragment, { children: [_jsx("div", { ref: buttonRef, children: _jsx(DropdownButton, { onClick: toggleDropdown, isActive: displayDropdown, buttonTitle: buttonTitle }) }), displayDropdown ? (_jsx(MeasureValueFilterDropdown, { onApply: handleApply, onCancel: handleCancel, filter: filter, measureIdentifier: measureIdentifier, usePercentage: usePercentage, warningMessage: warningMessage, locale: locale, separators: separators, displayTreatNullAsZeroOption: displayTreatNullAsZeroOption, treatNullAsZeroDefaultValue: treatNullAsZeroDefaultValue, enableOperatorSelection: enableOperatorSelection, dimensionality: dimensionality, insightDimensionality: insightDimensionality, isDimensionalityEnabled: isDimensionalityEnabled, catalogDimensionality: catalogDimensionality, onDimensionalityChange: onDimensionalityChange, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, anchorEl: buttonRef.current ?? undefined })) : null] }));
23
+ return (_jsxs(Fragment, { children: [_jsx("div", { ref: buttonRef, children: _jsx(DropdownButton, { onClick: toggleDropdown, isActive: displayDropdown, buttonTitle: buttonTitle }) }), displayDropdown ? (_jsx(MeasureValueFilterDropdown, { onApply: handleApply, onCancel: handleCancel, filter: filter, measureIdentifier: measureIdentifier, usePercentage: usePercentage, warningMessage: warningMessage, locale: locale, separators: separators, displayTreatNullAsZeroOption: displayTreatNullAsZeroOption, treatNullAsZeroDefaultValue: treatNullAsZeroDefaultValue, enableOperatorSelection: enableOperatorSelection, dimensionality: dimensionality, insightDimensionality: insightDimensionality, isDimensionalityEnabled: isDimensionalityEnabled, catalogDimensionality: catalogDimensionality, onDimensionalityChange: onDimensionalityChange, isLoadingCatalogDimensionality: isLoadingCatalogDimensionality, enableMultipleConditions: enableMultipleConditions, anchorEl: buttonRef.current ?? undefined })) : null] }));
24
24
  });
25
25
  //# sourceMappingURL=MeasureValueFilter.js.map