@carbon/ibm-products 2.43.2-canary.145 → 2.43.2-canary.149
Sign up to get free protection for your applications and to get access to all the features.
- package/css/index-full-carbon.css +4 -6
- package/css/index-full-carbon.css.map +1 -1
- package/css/index-full-carbon.min.css +1 -1
- package/css/index-full-carbon.min.css.map +1 -1
- package/css/index-without-carbon.css +4 -6
- package/css/index-without-carbon.css.map +1 -1
- package/css/index-without-carbon.min.css +1 -1
- package/css/index-without-carbon.min.css.map +1 -1
- package/css/index.css +4 -6
- package/css/index.css.map +1 -1
- package/css/index.min.css +1 -1
- package/css/index.min.css.map +1 -1
- package/es/components/Card/Card.js +4 -2
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +100 -24
- package/es/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +19 -20
- package/es/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
- package/es/components/ConditionBuilder/ConditionBuilder.js +9 -6
- package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts +150 -0
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +6 -6
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +1 -2
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +84 -37
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +1 -1
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +5 -6
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +32 -30
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +20 -29
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +5 -5
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +1 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +11 -6
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +33 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +5 -4
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +3 -3
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +4 -4
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +39 -32
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +1 -2
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -1
- package/es/components/Datagrid/useFiltering.d.ts +1 -0
- package/es/components/Datagrid/useFiltering.js +14 -3
- package/lib/components/Card/Card.js +3 -1
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.d.ts +100 -24
- package/lib/components/ConditionBuilder/ConditionBlock/ConditionBlock.js +19 -20
- package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
- package/lib/components/ConditionBuilder/ConditionBuilder.js +9 -6
- package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts +150 -0
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +6 -6
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +1 -2
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +84 -37
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +1 -1
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +5 -6
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +32 -30
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +20 -29
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +5 -5
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +1 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +11 -6
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +33 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +5 -4
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +3 -3
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +4 -4
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +39 -32
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +1 -2
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +1 -1
- package/lib/components/Datagrid/useFiltering.d.ts +1 -0
- package/lib/components/Datagrid/useFiltering.js +13 -1
- package/package.json +3 -3
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +21 -19
@@ -51,23 +51,25 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
51
51
|
showConditionSubGroupPreview = _useState4[0],
|
52
52
|
setShowConditionSubGroupPreview = _useState4[1];
|
53
53
|
useState(false);
|
54
|
-
var conditionBuilderContentRef = useRef();
|
54
|
+
var conditionBuilderContentRef = useRef(null);
|
55
55
|
var onRemoveHandler = function onRemoveHandler(conditionId, evt, conditionIndex) {
|
56
|
-
if (group.conditions.length > 1) {
|
56
|
+
if (group && group.conditions && group.conditions.length > 1) {
|
57
57
|
variant == 'tree' ? handleFocusOnCloseTree(evt) : handleFocusOnClose(evt, conditionIndex);
|
58
58
|
if (!checkGroupHaveCondition(group.conditions, conditionId)) {
|
59
|
+
var _group$conditions;
|
59
60
|
//when we delete the last condition of a group without deleting the subgroup, we need to restructure the group.
|
60
61
|
//we will shift the group one level up. The subgroups will open up as conditions.
|
61
62
|
|
62
63
|
//spreading out the condition inside the subgroup
|
63
|
-
var allConditions = group.conditions.reduce(function (acc, condition) {
|
64
|
-
|
64
|
+
var allConditions = group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.reduce(function (acc, condition) {
|
65
|
+
var _condition = condition;
|
66
|
+
if (_condition.conditions) {
|
65
67
|
//this is a subgroup
|
66
|
-
return acc.concat(
|
68
|
+
return acc.concat(_condition.conditions);
|
67
69
|
}
|
68
70
|
return acc;
|
69
71
|
}, []);
|
70
|
-
onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
72
|
+
onChange === null || onChange === void 0 || onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
71
73
|
conditions: allConditions
|
72
74
|
}));
|
73
75
|
} else {
|
@@ -77,15 +79,16 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
77
79
|
//This is to handle a edge case.
|
78
80
|
//When a group has structure as 1 condition,1 subgroup, 1 condition and if we delete first condition,
|
79
81
|
//the group will start with a subgroup. To avoid this,opening up that subgroup.
|
80
|
-
if (filteredConditions
|
81
|
-
|
82
|
+
if ((filteredConditions === null || filteredConditions === void 0 ? void 0 : filteredConditions[0]).conditions) {
|
83
|
+
var firstFilteredConditions = filteredConditions[0];
|
84
|
+
filteredConditions.splice.apply(filteredConditions, [0, 1].concat(_toConsumableArray(firstFilteredConditions === null || firstFilteredConditions === void 0 ? void 0 : firstFilteredConditions.conditions)));
|
82
85
|
}
|
83
|
-
onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
86
|
+
onChange === null || onChange === void 0 || onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
84
87
|
conditions: filteredConditions
|
85
88
|
}));
|
86
89
|
}
|
87
90
|
} else {
|
88
|
-
onRemove(evt);
|
91
|
+
onRemove === null || onRemove === void 0 || onRemove(evt);
|
89
92
|
}
|
90
93
|
};
|
91
94
|
//check to identify a group without a plain condition
|
@@ -95,9 +98,11 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
95
98
|
});
|
96
99
|
};
|
97
100
|
var onChangeHandler = function onChangeHandler(updatedCondition, conditionIndex) {
|
98
|
-
var
|
99
|
-
|
100
|
-
|
101
|
+
var _group$id;
|
102
|
+
var updatedConditions = [].concat(_toConsumableArray(group !== null && group !== void 0 && group.conditions ? group.conditions.slice(0, conditionIndex) : []), [updatedCondition], _toConsumableArray(group !== null && group !== void 0 && group.conditions ? group.conditions.slice(conditionIndex + 1) : []));
|
103
|
+
onChange === null || onChange === void 0 || onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
104
|
+
conditions: updatedConditions,
|
105
|
+
id: (_group$id = group === null || group === void 0 ? void 0 : group.id) !== null && _group$id !== void 0 ? _group$id : uuidv4()
|
101
106
|
}));
|
102
107
|
};
|
103
108
|
var addConditionHandler = function addConditionHandler(conditionIndex) {
|
@@ -108,8 +113,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
108
113
|
popoverToOpen: 'propertyField',
|
109
114
|
id: uuidv4()
|
110
115
|
};
|
111
|
-
onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
112
|
-
conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [newCondition], _toConsumableArray(group.conditions.slice(conditionIndex + 1)))
|
116
|
+
onChange === null || onChange === void 0 || onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
117
|
+
conditions: [].concat(_toConsumableArray(group.conditions ? group.conditions.slice(0, conditionIndex + 1) : []), [newCondition], _toConsumableArray(group.conditions ? group.conditions.slice(conditionIndex + 1) : []))
|
113
118
|
}));
|
114
119
|
};
|
115
120
|
var handleFocusOnClose = function handleFocusOnClose(e, conditionIndex) {
|
@@ -154,10 +159,11 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
154
159
|
ariaPosInSet: nextRow.ariaPosInSet
|
155
160
|
};
|
156
161
|
setTimeout(function () {
|
157
|
-
var
|
162
|
+
var _conditionBuilderCont5;
|
163
|
+
var currentRowToFocus = (_conditionBuilderCont5 = conditionBuilderContentRef.current) === null || _conditionBuilderCont5 === void 0 ? void 0 : _conditionBuilderCont5.querySelector("[role=\"row\"][aria-level=\"".concat(rowIdentity.ariaLevel, "\"][aria-posinset=\"").concat(rowIdentity.ariaPosInSet, "\"]"));
|
158
164
|
manageTabIndexAndFocus(currentRowToFocus === null || currentRowToFocus === void 0 ? void 0 : currentRowToFocus.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
|
159
165
|
}, 0);
|
160
|
-
} else if (
|
166
|
+
} else if (prevRows !== null && prevRows !== void 0 && prevRows.length && prevRows.length > 1) {
|
161
167
|
var _prevRows;
|
162
168
|
manageTabIndexAndFocus((_prevRows = prevRows[prevRows.length - 2]) === null || _prevRows === void 0 ? void 0 : _prevRows.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
|
163
169
|
}
|
@@ -165,9 +171,9 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
165
171
|
};
|
166
172
|
var addConditionSubGroupHandler = function addConditionSubGroupHandler(conditionIndex) {
|
167
173
|
onChange(_objectSpread2(_objectSpread2({}, group), {}, {
|
168
|
-
conditions: [].concat(_toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [{
|
169
|
-
groupOperator: 'and',
|
174
|
+
conditions: [].concat(_toConsumableArray(group.conditions ? group.conditions.slice(0, conditionIndex + 1) : []), [{
|
170
175
|
statement: 'if',
|
176
|
+
groupOperator: 'and',
|
171
177
|
conditions: [{
|
172
178
|
property: undefined,
|
173
179
|
operator: '',
|
@@ -176,7 +182,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
176
182
|
id: uuidv4()
|
177
183
|
}],
|
178
184
|
id: uuidv4()
|
179
|
-
}], _toConsumableArray(group.conditions.slice(conditionIndex + 1)))
|
185
|
+
}], _toConsumableArray(group.conditions ? group.conditions.slice(conditionIndex + 1) : []))
|
180
186
|
}));
|
181
187
|
};
|
182
188
|
var isLastCondition = function isLastCondition(conditionIndex, conditionArr) {
|
@@ -210,14 +216,15 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
210
216
|
}));
|
211
217
|
};
|
212
218
|
var getSentenceVariant = function getSentenceVariant() {
|
213
|
-
var _group$
|
219
|
+
var _group$conditions2;
|
214
220
|
return /*#__PURE__*/React__default.createElement("div", {
|
215
221
|
className: "".concat(className, " eachGroup")
|
216
222
|
}, /*#__PURE__*/React__default.createElement("div", {
|
217
223
|
className: "".concat(blockClass, "__condition-wrapper"),
|
218
224
|
role: "grid",
|
219
225
|
"aria-label": conditionBuilderText
|
220
|
-
}, group === null || group === void 0 || (_group$
|
226
|
+
}, group === null || group === void 0 || (_group$conditions2 = group.conditions) === null || _group$conditions2 === void 0 ? void 0 : _group$conditions2.map(function (eachCondition, conditionIndex) {
|
227
|
+
var _group$conditions3;
|
221
228
|
return /*#__PURE__*/React__default.createElement("div", {
|
222
229
|
key: eachCondition.id,
|
223
230
|
className: "".concat(blockClass, "__group-wrapper")
|
@@ -226,7 +233,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
226
233
|
aria: {
|
227
234
|
level: aria.level + 1,
|
228
235
|
posinset: conditionIndex + 1,
|
229
|
-
setsize: group.conditions.length
|
236
|
+
setsize: group === null || group === void 0 || (_group$conditions3 = group.conditions) === null || _group$conditions3 === void 0 ? void 0 : _group$conditions3.length
|
230
237
|
},
|
231
238
|
isStatement: conditionIndex == 0,
|
232
239
|
condition: eachCondition,
|
@@ -246,7 +253,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
246
253
|
})));
|
247
254
|
};
|
248
255
|
var getTreeVariant = function getTreeVariant() {
|
249
|
-
var _group$
|
256
|
+
var _group$conditions4;
|
250
257
|
return /*#__PURE__*/React__default.createElement("div", {
|
251
258
|
className: "".concat(className, " ").concat(blockClass, "__condition-wrapper"),
|
252
259
|
role: aria.level === 1 ? 'rowgroup' : undefined,
|
@@ -276,11 +283,12 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
276
283
|
config: {
|
277
284
|
options: statementConfig
|
278
285
|
}
|
279
|
-
}))), group === null || group === void 0 || (_group$
|
286
|
+
}))), group === null || group === void 0 || (_group$conditions4 = group.conditions) === null || _group$conditions4 === void 0 ? void 0 : _group$conditions4.map(function (eachCondition, conditionIndex) {
|
287
|
+
var _group$conditions$len, _group$conditions5, _group$conditions$len2, _group$conditions6;
|
280
288
|
return /*#__PURE__*/React__default.createElement(Fragment, {
|
281
289
|
key: eachCondition.id
|
282
290
|
}, eachCondition.conditions ? /*#__PURE__*/React__default.createElement("div", {
|
283
|
-
className: cx("".concat(blockClass, "__condition-block subgroup ").concat(blockClass, "__gap"), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), group.conditions.length < conditionIndex + 1), {})
|
291
|
+
className: cx("".concat(blockClass, "__condition-block subgroup ").concat(blockClass, "__gap"), _defineProperty({}, "".concat(blockClass, "__gap-bottom"), group && group.conditions && group.conditions.length < conditionIndex + 1), {})
|
284
292
|
}, /*#__PURE__*/React__default.createElement(ConditionConnector, {
|
285
293
|
className: "".concat(blockClass, "__gap ").concat(blockClass, "__gap-bottom ").concat(blockClass, "__groupConnector"),
|
286
294
|
operator: group.groupOperator,
|
@@ -289,7 +297,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
289
297
|
aria: {
|
290
298
|
level: aria.level + 1,
|
291
299
|
posinset: conditionIndex + 1,
|
292
|
-
setsize: group.conditions.length
|
300
|
+
setsize: (_group$conditions$len = (_group$conditions5 = group.conditions) === null || _group$conditions5 === void 0 ? void 0 : _group$conditions5.length) !== null && _group$conditions$len !== void 0 ? _group$conditions$len : 0
|
293
301
|
},
|
294
302
|
className: "".concat(blockClass, "__group"),
|
295
303
|
group: eachCondition,
|
@@ -297,14 +305,14 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
297
305
|
onChangeHandler(updatedConditions, conditionIndex);
|
298
306
|
},
|
299
307
|
onRemove: function onRemove(e) {
|
300
|
-
onRemoveHandler(eachCondition.id, e);
|
308
|
+
onRemoveHandler(eachCondition.id, e, conditionIndex);
|
301
309
|
}
|
302
310
|
})) : /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ConditionBlock, {
|
303
311
|
conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
|
304
312
|
aria: {
|
305
313
|
level: aria.level + 1,
|
306
314
|
posinset: conditionIndex + 1,
|
307
|
-
setsize: group.conditions.length
|
315
|
+
setsize: (_group$conditions$len2 = (_group$conditions6 = group.conditions) === null || _group$conditions6 === void 0 ? void 0 : _group$conditions6.length) !== null && _group$conditions$len2 !== void 0 ? _group$conditions$len2 : 0
|
308
316
|
},
|
309
317
|
isStatement: false,
|
310
318
|
condition: eachCondition,
|
@@ -316,7 +324,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
316
324
|
onChangeHandler(updatedConditions, conditionIndex);
|
317
325
|
},
|
318
326
|
onRemove: function onRemove(e) {
|
319
|
-
onRemoveHandler(eachCondition.id, e);
|
327
|
+
onRemoveHandler(eachCondition.id, e, conditionIndex);
|
320
328
|
},
|
321
329
|
onConnectorOperatorChange: onConnectorOperatorChange,
|
322
330
|
onStatementChange: onStatementChangeHandler,
|
@@ -340,7 +348,6 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
340
348
|
};
|
341
349
|
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, variant == 'tree' && getTreeVariant(), variant == 'sentence' && getSentenceVariant());
|
342
350
|
};
|
343
|
-
var ConditionGroupBuilder$1 = ConditionGroupBuilder;
|
344
351
|
ConditionGroupBuilder.propTypes = {
|
345
352
|
/**
|
346
353
|
* object contains the aria attributes
|
@@ -364,4 +371,4 @@ ConditionGroupBuilder.propTypes = {
|
|
364
371
|
onRemove: PropTypes.func
|
365
372
|
};
|
366
373
|
|
367
|
-
export { ConditionGroupBuilder
|
374
|
+
export { ConditionGroupBuilder as default };
|
@@ -1,14 +1,31 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
declare namespace ConditionPreview {
|
8
|
-
namespace propTypes {
|
9
|
-
let colorIndex: PropTypes.Requireable<number>;
|
10
|
-
let group: PropTypes.Requireable<object>;
|
11
|
-
let previewType: PropTypes.Requireable<string>;
|
12
|
-
}
|
13
|
-
}
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
14
7
|
import PropTypes from 'prop-types';
|
8
|
+
import { ConditionGroup } from '../ConditionBuilder.types';
|
9
|
+
interface ConditionPreviewProps {
|
10
|
+
previewType: 'newGroup' | 'subGroup' | 'condition';
|
11
|
+
group: ConditionGroup;
|
12
|
+
colorIndex?: number;
|
13
|
+
}
|
14
|
+
declare const ConditionPreview: {
|
15
|
+
({ previewType, group, colorIndex, }: ConditionPreviewProps): import("react/jsx-runtime").JSX.Element;
|
16
|
+
propTypes: {
|
17
|
+
/**
|
18
|
+
* index of the color for next group
|
19
|
+
*/
|
20
|
+
colorIndex: PropTypes.Requireable<number>;
|
21
|
+
/**
|
22
|
+
* current conditional group
|
23
|
+
*/
|
24
|
+
group: PropTypes.Requireable<object>;
|
25
|
+
/**
|
26
|
+
* type of review to be displayed
|
27
|
+
*/
|
28
|
+
previewType: PropTypes.Requireable<string>;
|
29
|
+
};
|
30
|
+
};
|
31
|
+
export default ConditionPreview;
|
@@ -82,7 +82,6 @@ var ConditionPreview = function ConditionPreview(_ref) {
|
|
82
82
|
popOverClassName: "".concat(blockClass, "__gap")
|
83
83
|
}), getConditionSection())));
|
84
84
|
};
|
85
|
-
var ConditionPreview$1 = ConditionPreview;
|
86
85
|
ConditionPreview.propTypes = {
|
87
86
|
/**
|
88
87
|
* index of the color for next group
|
@@ -98,4 +97,4 @@ ConditionPreview.propTypes = {
|
|
98
97
|
previewType: PropTypes.oneOf(['condition', 'subGroup', 'newGroup'])
|
99
98
|
};
|
100
99
|
|
101
|
-
export { ConditionPreview
|
100
|
+
export { ConditionPreview as default };
|
@@ -78,9 +78,9 @@ var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentCont
|
|
78
78
|
if (document.activeElement.type !== 'button') {
|
79
79
|
var _document$activeEleme2;
|
80
80
|
//for button , enter key is click which already handled by framework, for other elements trigger click
|
81
|
+
evt.preventDefault();
|
81
82
|
(_document$activeEleme2 = document.activeElement) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.click();
|
82
83
|
}
|
83
|
-
evt.preventDefault();
|
84
84
|
} else {
|
85
85
|
if (document.activeElement.type !== 'button') {
|
86
86
|
var _document$activeEleme3;
|
@@ -7,9 +7,18 @@
|
|
7
7
|
|
8
8
|
import { defineProperty as _defineProperty, slicedToArray as _slicedToArray, typeof as _typeof, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
9
9
|
import { useMemo } from 'react';
|
10
|
-
import {
|
10
|
+
import { RADIO, DATE, NUMBER, CHECKBOX, MULTISELECT, BATCH } from './Datagrid/addons/Filtering/constants.js';
|
11
11
|
import FilterFlyout from './Datagrid/addons/Filtering/FilterFlyout.js';
|
12
12
|
|
13
|
+
// This function was taken from https://github.com/TanStack/table/blob/v7/src/filterTypes.js
|
14
|
+
var exactText = function exactText(rows, ids, filterValue) {
|
15
|
+
return rows.filter(function (row) {
|
16
|
+
return ids.some(function (id) {
|
17
|
+
var rowValue = row.values[id];
|
18
|
+
return rowValue !== undefined ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase() : true;
|
19
|
+
});
|
20
|
+
});
|
21
|
+
};
|
13
22
|
var handleMultiFilter = function handleMultiFilter(rows, id, value) {
|
14
23
|
// gets all the items that are selected and returns their value
|
15
24
|
var selectedItems = value.filter(function (item) {
|
@@ -30,7 +39,7 @@ var handleMultiFilter = function handleMultiFilter(rows, id, value) {
|
|
30
39
|
var useFiltering = function useFiltering(hooks) {
|
31
40
|
/* istanbul ignore next */
|
32
41
|
var filterTypes = useMemo(function () {
|
33
|
-
return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, DATE, function (rows, id, _ref) {
|
42
|
+
return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, DATE, function (rows, id, _ref) {
|
34
43
|
var _ref2 = _slicedToArray(_ref, 2),
|
35
44
|
startDate = _ref2[0],
|
36
45
|
endDate = _ref2[1];
|
@@ -60,6 +69,8 @@ var useFiltering = function useFiltering(hooks) {
|
|
60
69
|
return handleMultiFilter(rows, id, value);
|
61
70
|
}), MULTISELECT, function (rows, id, value) {
|
62
71
|
return handleMultiFilter(rows, id, value);
|
72
|
+
}), RADIO, function (rows, id, value) {
|
73
|
+
return exactText(rows, id, value);
|
63
74
|
});
|
64
75
|
}, []);
|
65
76
|
hooks.useInstance.push(function (instance) {
|
@@ -94,4 +105,4 @@ var useFiltering = function useFiltering(hooks) {
|
|
94
105
|
};
|
95
106
|
var useFiltering$1 = useFiltering;
|
96
107
|
|
97
|
-
export { useFiltering$1 as default };
|
108
|
+
export { useFiltering$1 as default, exactText };
|
@@ -245,7 +245,9 @@ var Card = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
245
245
|
secondaryButtonText: secondaryButtonText
|
246
246
|
};
|
247
247
|
};
|
248
|
-
return /*#__PURE__*/React__default["default"].createElement("div",
|
248
|
+
return /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({
|
249
|
+
"aria-disabled": disabled
|
250
|
+
}, getCardProps()), !getStarted && media && /*#__PURE__*/React__default["default"].createElement("div", {
|
249
251
|
className: "".concat(blockClass, "__media")
|
250
252
|
}, media), Pictogram && /*#__PURE__*/React__default["default"].createElement("div", {
|
251
253
|
className: "".concat(blockClass, "__pictogram")
|
@@ -1,28 +1,104 @@
|
|
1
|
-
|
1
|
+
/**
|
2
|
+
* Copyright IBM Corp. 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
import React from 'react';
|
8
|
+
import PropTypes from 'prop-types';
|
9
|
+
import { Condition, ConditionGroup, LogicalOperator } from '../ConditionBuilder.types';
|
2
10
|
/**
|
3
11
|
* This component build each block of condition consisting of property, operator value and close button.
|
4
12
|
*/
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
13
|
+
interface ConditionBlockProps {
|
14
|
+
condition?: Condition;
|
15
|
+
onRemove: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
16
|
+
onChange: (condition: Condition) => void;
|
17
|
+
onConnectorOperatorChange?: (op: string) => void;
|
18
|
+
onStatementChange?: (v: string) => void;
|
19
|
+
addConditionHandler?: (conditionIndex: number) => void;
|
20
|
+
addConditionSubGroupHandler?: (conditionIndex: number) => void;
|
21
|
+
hideConditionSubGroupPreviewHandler?: () => void;
|
22
|
+
showConditionSubGroupPreviewHandler?: () => void;
|
23
|
+
hideConditionPreviewHandler?: () => void;
|
24
|
+
showConditionPreviewHandler?: () => void;
|
25
|
+
conjunction?: LogicalOperator;
|
26
|
+
isStatement?: boolean;
|
27
|
+
group: ConditionGroup;
|
28
|
+
conditionIndex: number;
|
29
|
+
aria: {
|
30
|
+
level: number;
|
31
|
+
posinset: number;
|
32
|
+
setsize?: number;
|
33
|
+
};
|
34
|
+
isLastCondition: (index: number, conditions: (ConditionGroup | Condition)[]) => void;
|
27
35
|
}
|
28
|
-
|
36
|
+
declare const ConditionBlock: {
|
37
|
+
(props: ConditionBlockProps): import("react/jsx-runtime").JSX.Element;
|
38
|
+
propTypes: {
|
39
|
+
/**
|
40
|
+
* callback to add a new condition
|
41
|
+
*/
|
42
|
+
addConditionHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
43
|
+
/**
|
44
|
+
* callback to add a new condition subgroup
|
45
|
+
*/
|
46
|
+
addConditionSubGroupHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
47
|
+
/**
|
48
|
+
* object hold aria attributes
|
49
|
+
*/
|
50
|
+
aria: PropTypes.Requireable<object>;
|
51
|
+
condition: PropTypes.Requireable<object>;
|
52
|
+
conditionIndex: PropTypes.Requireable<number>;
|
53
|
+
/**
|
54
|
+
* string that decides to show the condition connector
|
55
|
+
*/
|
56
|
+
conjunction: PropTypes.Requireable<string>;
|
57
|
+
/**
|
58
|
+
* object that hold the current group object where is condition is part of
|
59
|
+
*/
|
60
|
+
group: PropTypes.Requireable<object>;
|
61
|
+
/**
|
62
|
+
* handler for hiding sub group preview
|
63
|
+
*/
|
64
|
+
hideConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
65
|
+
/**
|
66
|
+
* handler for hiding sub group preview
|
67
|
+
*/
|
68
|
+
hideConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
69
|
+
isLastCondition: PropTypes.Requireable<(...args: any[]) => any>;
|
70
|
+
/**
|
71
|
+
* boolean that decides to show the statement(if/ excl.if)
|
72
|
+
*/
|
73
|
+
isStatement: PropTypes.Requireable<boolean>;
|
74
|
+
/**
|
75
|
+
* callback to update the current condition of the state tree
|
76
|
+
*/
|
77
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
78
|
+
/**
|
79
|
+
* callback to handle the connector(and/or) change
|
80
|
+
*/
|
81
|
+
onConnectorOperatorChange: PropTypes.Requireable<(...args: any[]) => any>;
|
82
|
+
/**
|
83
|
+
* callback for Remove a condition
|
84
|
+
*/
|
85
|
+
onRemove: PropTypes.Requireable<(...args: any[]) => any>;
|
86
|
+
/**
|
87
|
+
* callback to handle the statement(if/ excl.if) change
|
88
|
+
*/
|
89
|
+
onStatementChange: PropTypes.Requireable<(...args: any[]) => any>;
|
90
|
+
/**
|
91
|
+
* handler for showing add condition preview
|
92
|
+
*/
|
93
|
+
showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
94
|
+
/**
|
95
|
+
* handler for showing sub group preview
|
96
|
+
*/
|
97
|
+
showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
98
|
+
/**
|
99
|
+
* object that hold the current condition
|
100
|
+
*/
|
101
|
+
state: PropTypes.Requireable<object>;
|
102
|
+
};
|
103
|
+
};
|
104
|
+
export default ConditionBlock;
|
@@ -41,13 +41,10 @@ var _div;
|
|
41
41
|
*/
|
42
42
|
|
43
43
|
var ConditionBlock = function ConditionBlock(props) {
|
44
|
-
var _props$condition = props.condition,
|
45
|
-
property = _props$condition.property,
|
46
|
-
value = _props$condition.value,
|
47
|
-
operator = _props$condition.operator;
|
48
44
|
var onRemove = props.onRemove,
|
49
45
|
onChange = props.onChange,
|
50
|
-
condition = props.condition,
|
46
|
+
_props$condition = props.condition,
|
47
|
+
condition = _props$condition === void 0 ? {} : _props$condition,
|
51
48
|
conjunction = props.conjunction,
|
52
49
|
onConnectorOperatorChange = props.onConnectorOperatorChange,
|
53
50
|
isStatement = props.isStatement,
|
@@ -62,6 +59,9 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
62
59
|
hideConditionPreviewHandler = props.hideConditionPreviewHandler,
|
63
60
|
showConditionPreviewHandler = props.showConditionPreviewHandler,
|
64
61
|
isLastCondition = props.isLastCondition;
|
62
|
+
var property = condition.property,
|
63
|
+
value = condition.value,
|
64
|
+
operator = condition.operator;
|
65
65
|
var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
|
66
66
|
inputConfig = _useContext.inputConfig,
|
67
67
|
variant = _useContext.variant,
|
@@ -85,15 +85,15 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
85
85
|
//filtering the current property to access its properties and config options
|
86
86
|
var getCurrentConfig = function getCurrentConfig(property) {
|
87
87
|
var _inputConfig$properti, _inputConfig$properti2;
|
88
|
-
return (_inputConfig$properti = (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.find(function (eachProperty) {
|
88
|
+
return (_inputConfig$properti = inputConfig === null || inputConfig === void 0 || (_inputConfig$properti2 = inputConfig.properties) === null || _inputConfig$properti2 === void 0 ? void 0 : _inputConfig$properti2.find(function (eachProperty) {
|
89
89
|
return eachProperty.id == property;
|
90
90
|
})) !== null && _inputConfig$properti !== void 0 ? _inputConfig$properti : {};
|
91
91
|
};
|
92
|
-
var
|
93
|
-
icon =
|
94
|
-
type =
|
95
|
-
config =
|
96
|
-
label =
|
92
|
+
var _ref = getCurrentConfig(property),
|
93
|
+
icon = _ref.icon,
|
94
|
+
type = _ref.type,
|
95
|
+
config = _ref.config,
|
96
|
+
label = _ref.label;
|
97
97
|
|
98
98
|
//Below possible input types expected for value field.
|
99
99
|
var itemComponents = {
|
@@ -105,7 +105,7 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
105
105
|
custom: config === null || config === void 0 ? void 0 : config.component,
|
106
106
|
textarea: ConditionBuilderItemText.ConditionBuilderItemText
|
107
107
|
};
|
108
|
-
var ItemComponent =
|
108
|
+
var ItemComponent = itemComponents[type];
|
109
109
|
var showAllActionsHandler = function showAllActionsHandler() {
|
110
110
|
setShowAllActions(true);
|
111
111
|
};
|
@@ -114,7 +114,7 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
114
114
|
};
|
115
115
|
var onStatementChangeHandler = function onStatementChangeHandler(v, evt) {
|
116
116
|
util.focusThisField(evt, conditionBuilderRef);
|
117
|
-
onStatementChange(v);
|
117
|
+
onStatementChange === null || onStatementChange === void 0 || onStatementChange(v);
|
118
118
|
};
|
119
119
|
var onPropertyChangeHandler = function onPropertyChangeHandler(newProperty) {
|
120
120
|
onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, condition), {}, {
|
@@ -192,7 +192,7 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
192
192
|
className: "".concat(DataConfigs.blockClass, "__gap"),
|
193
193
|
operator: conjunction,
|
194
194
|
onChange: function onChange(op) {
|
195
|
-
return onConnectorOperatorChange(op);
|
195
|
+
return onConnectorOperatorChange === null || onConnectorOperatorChange === void 0 ? void 0 : onConnectorOperatorChange(op);
|
196
196
|
}
|
197
197
|
}) : _div || (_div = /*#__PURE__*/React__default["default"].createElement("div", {
|
198
198
|
role: "gridcell"
|
@@ -215,7 +215,7 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
215
215
|
})), /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
|
216
216
|
label: label !== null && label !== void 0 ? label : condition === null || condition === void 0 ? void 0 : condition.property,
|
217
217
|
title: propertyText,
|
218
|
-
renderIcon: icon !== null && icon !== void 0 ? icon :
|
218
|
+
renderIcon: icon !== null && icon !== void 0 ? icon : undefined,
|
219
219
|
className: "".concat(DataConfigs.blockClass, "__property-field"),
|
220
220
|
"data-name": "propertyField",
|
221
221
|
condition: condition,
|
@@ -228,7 +228,7 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
228
228
|
},
|
229
229
|
onChange: onPropertyChangeHandler,
|
230
230
|
config: {
|
231
|
-
options: inputConfig.properties
|
231
|
+
options: inputConfig === null || inputConfig === void 0 ? void 0 : inputConfig.properties
|
232
232
|
}
|
233
233
|
})), util.checkIsValid(property) && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderItem.ConditionBuilderItem, {
|
234
234
|
label: operator,
|
@@ -272,10 +272,10 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
272
272
|
"data-name": "closeCondition"
|
273
273
|
})), manageActionButtons(conditionIndex, group.conditions) && /*#__PURE__*/React__default["default"].createElement(ConditionBuilderAdd["default"], {
|
274
274
|
onClick: function onClick() {
|
275
|
-
addConditionHandler(conditionIndex);
|
275
|
+
addConditionHandler === null || addConditionHandler === void 0 || addConditionHandler(conditionIndex);
|
276
276
|
},
|
277
277
|
addConditionSubGroupHandler: function addConditionSubGroupHandler() {
|
278
|
-
_addConditionSubGroupHandler(conditionIndex);
|
278
|
+
_addConditionSubGroupHandler === null || _addConditionSubGroupHandler === void 0 || _addConditionSubGroupHandler(conditionIndex);
|
279
279
|
},
|
280
280
|
showConditionSubGroupPreviewHandler: showConditionSubGroupPreviewHandler,
|
281
281
|
hideConditionSubGroupPreviewHandler: hideConditionSubGroupPreviewHandler,
|
@@ -285,7 +285,6 @@ var ConditionBlock = function ConditionBlock(props) {
|
|
285
285
|
className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-left")
|
286
286
|
}));
|
287
287
|
};
|
288
|
-
var ConditionBlock$1 = ConditionBlock;
|
289
288
|
ConditionBlock.propTypes = {
|
290
289
|
/**
|
291
290
|
* callback to add a new condition
|
@@ -352,4 +351,4 @@ ConditionBlock.propTypes = {
|
|
352
351
|
state: index["default"].object
|
353
352
|
};
|
354
353
|
|
355
|
-
exports["default"] = ConditionBlock
|
354
|
+
exports["default"] = ConditionBlock;
|
@@ -1,5 +1,12 @@
|
|
1
1
|
/**
|
2
|
-
*
|
2
|
+
* Copyright IBM Corp. 2024, 2024
|
3
|
+
*
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
3
6
|
*/
|
4
|
-
export let ConditionBuilder: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
|
5
7
|
import React from 'react';
|
8
|
+
import { ConditionBuilderProps } from './ConditionBuilder.types';
|
9
|
+
/**
|
10
|
+
* TODO: A description of the component.
|
11
|
+
*/
|
12
|
+
export declare let ConditionBuilder: React.ForwardRefExoticComponent<ConditionBuilderProps & React.RefAttributes<HTMLDivElement>>;
|