@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
@@ -1,13 +1,34 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
namespace propTypes {
|
8
|
-
let conditionState: PropTypes.Requireable<object>;
|
9
|
-
let config: PropTypes.Requireable<object>;
|
10
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
11
|
-
}
|
12
|
-
}
|
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
|
+
*/
|
13
7
|
import PropTypes from 'prop-types';
|
8
|
+
import { PropertyConfigOption } from '../../ConditionBuilder.types';
|
9
|
+
interface ItemOptionProps {
|
10
|
+
conditionState: {
|
11
|
+
label?: string;
|
12
|
+
value?: string;
|
13
|
+
};
|
14
|
+
config: PropertyConfigOption['config'];
|
15
|
+
onChange: (value: string, e: Event) => void;
|
16
|
+
}
|
17
|
+
export declare const ItemOption: {
|
18
|
+
({ conditionState, config, onChange, }: ItemOptionProps): import("react/jsx-runtime").JSX.Element | undefined;
|
19
|
+
propTypes: {
|
20
|
+
/**
|
21
|
+
* current condition object
|
22
|
+
*/
|
23
|
+
conditionState: PropTypes.Requireable<object>;
|
24
|
+
/**
|
25
|
+
* current config object that this property is part of
|
26
|
+
*/
|
27
|
+
config: PropTypes.Requireable<object>;
|
28
|
+
/**
|
29
|
+
* callback to update state oin date change
|
30
|
+
*/
|
31
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
32
|
+
};
|
33
|
+
};
|
34
|
+
export {};
|
@@ -30,7 +30,7 @@ var ItemOption = function ItemOption(_ref) {
|
|
30
30
|
onChange = _ref.onChange;
|
31
31
|
var _useContext = React.useContext(ConditionBuilderProvider.ConditionBuilderContext),
|
32
32
|
popOverSearchThreshold = _useContext.popOverSearchThreshold;
|
33
|
-
var contentRef = React.useRef();
|
33
|
+
var contentRef = React.useRef(null);
|
34
34
|
var _useTranslations = useTranslations.useTranslations(['propertyText', 'clearSearchText']),
|
35
35
|
_useTranslations2 = _rollupPluginBabelHelpers.slicedToArray(_useTranslations, 2),
|
36
36
|
propertyText = _useTranslations2[0],
|
@@ -48,7 +48,8 @@ var ItemOption = function ItemOption(_ref) {
|
|
48
48
|
//this will focus the first input field in the popover
|
49
49
|
|
50
50
|
if (contentRef.current) {
|
51
|
-
var
|
51
|
+
var _contentRef$current;
|
52
|
+
var firstFocusableElement = (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.querySelector('input, button,li');
|
52
53
|
if (firstFocusableElement) {
|
53
54
|
firstFocusableElement.focus();
|
54
55
|
}
|
@@ -62,7 +63,7 @@ var ItemOption = function ItemOption(_ref) {
|
|
62
63
|
setSearchValue(value);
|
63
64
|
};
|
64
65
|
var getAriaLabel = function getAriaLabel() {
|
65
|
-
return conditionState.label ? conditionState.label :
|
66
|
+
return conditionState.label ? conditionState.label : propertyText;
|
66
67
|
};
|
67
68
|
if (!allOptions) {
|
68
69
|
return;
|
@@ -70,7 +71,7 @@ var ItemOption = function ItemOption(_ref) {
|
|
70
71
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
71
72
|
className: "".concat(DataConfigs.blockClass, "__item-option"),
|
72
73
|
ref: contentRef
|
73
|
-
}, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default["default"].createElement("div", {
|
74
|
+
}, popOverSearchThreshold && allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default["default"].createElement("div", {
|
74
75
|
className: "".concat(DataConfigs.blockClass, "__item-option__search")
|
75
76
|
}, /*#__PURE__*/React__default["default"].createElement(react.Search, {
|
76
77
|
size: "sm",
|
@@ -1,13 +1,33 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
namespace propTypes {
|
8
|
-
let conditionState: PropTypes.Requireable<object>;
|
9
|
-
let config: PropTypes.Requireable<object>;
|
10
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
11
|
-
}
|
12
|
-
}
|
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
|
+
*/
|
13
7
|
import PropTypes from 'prop-types';
|
8
|
+
import { Condition, PropertyConfigOption } from '../../ConditionBuilder.types';
|
9
|
+
interface ItemOptionForValueFieldProps {
|
10
|
+
conditionState: Condition & {
|
11
|
+
label?: string;
|
12
|
+
};
|
13
|
+
config: PropertyConfigOption['config'];
|
14
|
+
onChange: (value: any, e?: Event) => void;
|
15
|
+
}
|
16
|
+
export declare const ItemOptionForValueField: {
|
17
|
+
({ conditionState, config, onChange, }: ItemOptionForValueFieldProps): import("react/jsx-runtime").JSX.Element;
|
18
|
+
propTypes: {
|
19
|
+
/**
|
20
|
+
* current condition object
|
21
|
+
*/
|
22
|
+
conditionState: PropTypes.Requireable<object>;
|
23
|
+
/**
|
24
|
+
* current config object that this property is part of
|
25
|
+
*/
|
26
|
+
config: PropTypes.Requireable<object>;
|
27
|
+
/**
|
28
|
+
* callback to update state oin date change
|
29
|
+
*/
|
30
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
31
|
+
};
|
32
|
+
};
|
33
|
+
export {};
|
@@ -38,7 +38,7 @@ var ItemOptionForValueField = function ItemOptionForValueField(_ref) {
|
|
38
38
|
_useTranslations2 = _rollupPluginBabelHelpers.slicedToArray(_useTranslations, 2),
|
39
39
|
propertyText = _useTranslations2[0],
|
40
40
|
clearSearchText = _useTranslations2[1];
|
41
|
-
var contentRef = React.useRef();
|
41
|
+
var contentRef = React.useRef(null);
|
42
42
|
var _useState = React.useState(config.options),
|
43
43
|
_useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
|
44
44
|
allOptions = _useState2[0],
|
@@ -105,7 +105,7 @@ var ItemOptionForValueField = function ItemOptionForValueField(_ref) {
|
|
105
105
|
if (contentRef.current) {
|
106
106
|
var firstFocusableElement = contentRef.current.querySelector('input, button,li');
|
107
107
|
if (firstFocusableElement) {
|
108
|
-
firstFocusableElement.focus();
|
108
|
+
firstFocusableElement === null || firstFocusableElement === void 0 || firstFocusableElement.focus();
|
109
109
|
}
|
110
110
|
}
|
111
111
|
}, [allOptions]);
|
@@ -146,7 +146,7 @@ var ItemOptionForValueField = function ItemOptionForValueField(_ref) {
|
|
146
146
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
147
147
|
className: "".concat(DataConfigs.blockClass, "__item-option"),
|
148
148
|
ref: contentRef
|
149
|
-
}, allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default["default"].createElement("div", {
|
149
|
+
}, popOverSearchThreshold && allOptions.length > popOverSearchThreshold && /*#__PURE__*/React__default["default"].createElement("div", {
|
150
150
|
className: "".concat(DataConfigs.blockClass, "__item-option__search")
|
151
151
|
}, /*#__PURE__*/React__default["default"].createElement(react.Search, {
|
152
152
|
size: "sm",
|
@@ -1,15 +1,36 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
export namespace ConditionBuilderItemText {
|
8
|
-
namespace propTypes {
|
9
|
-
let conditionState: PropTypes.Requireable<object>;
|
10
|
-
let config: PropTypes.Requireable<object>;
|
11
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
12
|
-
let type: PropTypes.Requireable<string>;
|
13
|
-
}
|
14
|
-
}
|
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
|
+
*/
|
15
7
|
import PropTypes from 'prop-types';
|
8
|
+
import { Condition, PropertyConfigText, PropertyConfigTextArea } from '../../ConditionBuilder.types';
|
9
|
+
interface ConditionBuilderItemTextProps {
|
10
|
+
conditionState: Condition;
|
11
|
+
config: PropertyConfigText | PropertyConfigTextArea;
|
12
|
+
onChange: (value: string) => void;
|
13
|
+
type: 'textarea' | 'text';
|
14
|
+
}
|
15
|
+
export declare const ConditionBuilderItemText: {
|
16
|
+
({ conditionState, onChange, config, type, }: ConditionBuilderItemTextProps): import("react/jsx-runtime").JSX.Element;
|
17
|
+
propTypes: {
|
18
|
+
/**
|
19
|
+
* current condition object
|
20
|
+
*/
|
21
|
+
conditionState: PropTypes.Requireable<object>;
|
22
|
+
/**
|
23
|
+
* config of the current property
|
24
|
+
*/
|
25
|
+
config: PropTypes.Requireable<object>;
|
26
|
+
/**
|
27
|
+
* callback to update state oin date change
|
28
|
+
*/
|
29
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
30
|
+
/**
|
31
|
+
* current input type
|
32
|
+
*/
|
33
|
+
type: PropTypes.Requireable<string>;
|
34
|
+
};
|
35
|
+
};
|
36
|
+
export {};
|
@@ -26,15 +26,15 @@ var ConditionBuilderItemText = function ConditionBuilderItemText(_ref) {
|
|
26
26
|
_onChange = _ref.onChange,
|
27
27
|
config = _ref.config,
|
28
28
|
type = _ref.type;
|
29
|
-
var inputProps = _rollupPluginBabelHelpers.objectSpread2({
|
30
|
-
labelText: conditionState.property,
|
29
|
+
var inputProps = _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, config), {}, {
|
31
30
|
hideLabel: true,
|
32
31
|
value: util.checkIsValid(conditionState.value) ? conditionState.value : '',
|
33
32
|
id: (_conditionState$prope = conditionState.property) === null || _conditionState$prope === void 0 ? void 0 : _conditionState$prope.replace(/\s/g, ''),
|
34
33
|
onChange: function onChange(evt) {
|
35
34
|
_onChange(evt.target.value);
|
36
|
-
}
|
37
|
-
|
35
|
+
},
|
36
|
+
labelText: conditionState.property
|
37
|
+
});
|
38
38
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
39
39
|
className: "".concat(DataConfigs.blockClass, "__item-text")
|
40
40
|
}, type == 'textarea' ? /*#__PURE__*/React__default["default"].createElement(react.TextArea, inputProps) : /*#__PURE__*/React__default["default"].createElement(react.TextInput, inputProps));
|
@@ -1,11 +1,26 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
let config: PropTypes.Requireable<object>;
|
8
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
9
|
-
}
|
10
|
-
}
|
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
|
+
*/
|
11
7
|
import PropTypes from 'prop-types';
|
8
|
+
import { PropertyConfigTime } from '../../ConditionBuilder.types';
|
9
|
+
interface ConditionBuilderItemTime {
|
10
|
+
onChange: (value: string | undefined) => void;
|
11
|
+
config: PropertyConfigTime['config'];
|
12
|
+
}
|
13
|
+
export declare const ConditionBuilderItemTime: {
|
14
|
+
({ onChange, config, }: ConditionBuilderItemTime): import("react/jsx-runtime").JSX.Element;
|
15
|
+
propTypes: {
|
16
|
+
/**
|
17
|
+
* current config object that this property is part of
|
18
|
+
*/
|
19
|
+
config: PropTypes.Requireable<object>;
|
20
|
+
/**
|
21
|
+
* callback to update state oin date change
|
22
|
+
*/
|
23
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
24
|
+
};
|
25
|
+
};
|
26
|
+
export {};
|
@@ -1,24 +1,51 @@
|
|
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 PropTypes from 'prop-types';
|
8
|
+
import { ConditionGroup } from '../ConditionBuilder.types';
|
2
9
|
/**
|
3
10
|
*
|
4
11
|
* state - this is the current group that is being rendered . This can be a inner group or outer group
|
5
12
|
* All the inner components of group are called from here.
|
6
13
|
* @returns
|
7
14
|
*/
|
8
|
-
|
9
|
-
group:
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
let className: PropTypes.Requireable<string>;
|
19
|
-
let group: PropTypes.Requireable<object>;
|
20
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
21
|
-
let onRemove: PropTypes.Requireable<(...args: any[]) => any>;
|
22
|
-
}
|
15
|
+
interface ConditionGroupBuilderProps {
|
16
|
+
group: ConditionGroup;
|
17
|
+
onRemove: (e: Event) => void;
|
18
|
+
onChange: (group: ConditionGroup) => void;
|
19
|
+
className?: string;
|
20
|
+
aria: {
|
21
|
+
level: number;
|
22
|
+
posinset: number;
|
23
|
+
setsize: number;
|
24
|
+
};
|
23
25
|
}
|
24
|
-
|
26
|
+
declare const ConditionGroupBuilder: {
|
27
|
+
({ group, aria, onRemove, onChange, className, }: ConditionGroupBuilderProps): import("react/jsx-runtime").JSX.Element;
|
28
|
+
propTypes: {
|
29
|
+
/**
|
30
|
+
* object contains the aria attributes
|
31
|
+
*/
|
32
|
+
aria: PropTypes.Requireable<object>;
|
33
|
+
/**
|
34
|
+
* state defines the current group
|
35
|
+
*/
|
36
|
+
/**
|
37
|
+
* Provide an optional class to be applied to the containing node.
|
38
|
+
*/
|
39
|
+
className: PropTypes.Requireable<string>;
|
40
|
+
group: PropTypes.Requireable<object>;
|
41
|
+
/**
|
42
|
+
* callback to update the current condition of the state tree
|
43
|
+
*/
|
44
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
45
|
+
/**
|
46
|
+
* call back to remove the particular group from the state tree
|
47
|
+
*/
|
48
|
+
onRemove: PropTypes.Requireable<(...args: any[]) => any>;
|
49
|
+
};
|
50
|
+
};
|
51
|
+
export default ConditionGroupBuilder;
|
@@ -60,23 +60,25 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
60
60
|
showConditionSubGroupPreview = _useState4[0],
|
61
61
|
setShowConditionSubGroupPreview = _useState4[1];
|
62
62
|
React.useState(false);
|
63
|
-
var conditionBuilderContentRef = React.useRef();
|
63
|
+
var conditionBuilderContentRef = React.useRef(null);
|
64
64
|
var onRemoveHandler = function onRemoveHandler(conditionId, evt, conditionIndex) {
|
65
|
-
if (group.conditions.length > 1) {
|
65
|
+
if (group && group.conditions && group.conditions.length > 1) {
|
66
66
|
variant == 'tree' ? handleFocusOnCloseTree(evt) : handleFocusOnClose(evt, conditionIndex);
|
67
67
|
if (!checkGroupHaveCondition(group.conditions, conditionId)) {
|
68
|
+
var _group$conditions;
|
68
69
|
//when we delete the last condition of a group without deleting the subgroup, we need to restructure the group.
|
69
70
|
//we will shift the group one level up. The subgroups will open up as conditions.
|
70
71
|
|
71
72
|
//spreading out the condition inside the subgroup
|
72
|
-
var allConditions = group.conditions.reduce(function (acc, condition) {
|
73
|
-
|
73
|
+
var allConditions = group === null || group === void 0 || (_group$conditions = group.conditions) === null || _group$conditions === void 0 ? void 0 : _group$conditions.reduce(function (acc, condition) {
|
74
|
+
var _condition = condition;
|
75
|
+
if (_condition.conditions) {
|
74
76
|
//this is a subgroup
|
75
|
-
return acc.concat(
|
77
|
+
return acc.concat(_condition.conditions);
|
76
78
|
}
|
77
79
|
return acc;
|
78
80
|
}, []);
|
79
|
-
onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
|
81
|
+
onChange === null || onChange === void 0 || onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
|
80
82
|
conditions: allConditions
|
81
83
|
}));
|
82
84
|
} else {
|
@@ -86,15 +88,16 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
86
88
|
//This is to handle a edge case.
|
87
89
|
//When a group has structure as 1 condition,1 subgroup, 1 condition and if we delete first condition,
|
88
90
|
//the group will start with a subgroup. To avoid this,opening up that subgroup.
|
89
|
-
if (filteredConditions
|
90
|
-
|
91
|
+
if ((filteredConditions === null || filteredConditions === void 0 ? void 0 : filteredConditions[0]).conditions) {
|
92
|
+
var firstFilteredConditions = filteredConditions[0];
|
93
|
+
filteredConditions.splice.apply(filteredConditions, [0, 1].concat(_rollupPluginBabelHelpers.toConsumableArray(firstFilteredConditions === null || firstFilteredConditions === void 0 ? void 0 : firstFilteredConditions.conditions)));
|
91
94
|
}
|
92
|
-
onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
|
95
|
+
onChange === null || onChange === void 0 || onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
|
93
96
|
conditions: filteredConditions
|
94
97
|
}));
|
95
98
|
}
|
96
99
|
} else {
|
97
|
-
onRemove(evt);
|
100
|
+
onRemove === null || onRemove === void 0 || onRemove(evt);
|
98
101
|
}
|
99
102
|
};
|
100
103
|
//check to identify a group without a plain condition
|
@@ -104,9 +107,11 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
104
107
|
});
|
105
108
|
};
|
106
109
|
var onChangeHandler = function onChangeHandler(updatedCondition, conditionIndex) {
|
107
|
-
var
|
108
|
-
|
109
|
-
|
110
|
+
var _group$id;
|
111
|
+
var updatedConditions = [].concat(_rollupPluginBabelHelpers.toConsumableArray(group !== null && group !== void 0 && group.conditions ? group.conditions.slice(0, conditionIndex) : []), [updatedCondition], _rollupPluginBabelHelpers.toConsumableArray(group !== null && group !== void 0 && group.conditions ? group.conditions.slice(conditionIndex + 1) : []));
|
112
|
+
onChange === null || onChange === void 0 || onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
|
113
|
+
conditions: updatedConditions,
|
114
|
+
id: (_group$id = group === null || group === void 0 ? void 0 : group.id) !== null && _group$id !== void 0 ? _group$id : uuidv4["default"]()
|
110
115
|
}));
|
111
116
|
};
|
112
117
|
var addConditionHandler = function addConditionHandler(conditionIndex) {
|
@@ -117,8 +122,8 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
117
122
|
popoverToOpen: 'propertyField',
|
118
123
|
id: uuidv4["default"]()
|
119
124
|
};
|
120
|
-
onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
|
121
|
-
conditions: [].concat(_rollupPluginBabelHelpers.toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [newCondition], _rollupPluginBabelHelpers.toConsumableArray(group.conditions.slice(conditionIndex + 1)))
|
125
|
+
onChange === null || onChange === void 0 || onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
|
126
|
+
conditions: [].concat(_rollupPluginBabelHelpers.toConsumableArray(group.conditions ? group.conditions.slice(0, conditionIndex + 1) : []), [newCondition], _rollupPluginBabelHelpers.toConsumableArray(group.conditions ? group.conditions.slice(conditionIndex + 1) : []))
|
122
127
|
}));
|
123
128
|
};
|
124
129
|
var handleFocusOnClose = function handleFocusOnClose(e, conditionIndex) {
|
@@ -163,10 +168,11 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
163
168
|
ariaPosInSet: nextRow.ariaPosInSet
|
164
169
|
};
|
165
170
|
setTimeout(function () {
|
166
|
-
var
|
171
|
+
var _conditionBuilderCont5;
|
172
|
+
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, "\"]"));
|
167
173
|
util.manageTabIndexAndFocus(currentRowToFocus === null || currentRowToFocus === void 0 ? void 0 : currentRowToFocus.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
|
168
174
|
}, 0);
|
169
|
-
} else if (
|
175
|
+
} else if (prevRows !== null && prevRows !== void 0 && prevRows.length && prevRows.length > 1) {
|
170
176
|
var _prevRows;
|
171
177
|
util.manageTabIndexAndFocus((_prevRows = prevRows[prevRows.length - 2]) === null || _prevRows === void 0 ? void 0 : _prevRows.querySelector('[data-name="closeCondition"]'), conditionBuilderRef);
|
172
178
|
}
|
@@ -174,9 +180,9 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
174
180
|
};
|
175
181
|
var addConditionSubGroupHandler = function addConditionSubGroupHandler(conditionIndex) {
|
176
182
|
onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, group), {}, {
|
177
|
-
conditions: [].concat(_rollupPluginBabelHelpers.toConsumableArray(group.conditions.slice(0, conditionIndex + 1)), [{
|
178
|
-
groupOperator: 'and',
|
183
|
+
conditions: [].concat(_rollupPluginBabelHelpers.toConsumableArray(group.conditions ? group.conditions.slice(0, conditionIndex + 1) : []), [{
|
179
184
|
statement: 'if',
|
185
|
+
groupOperator: 'and',
|
180
186
|
conditions: [{
|
181
187
|
property: undefined,
|
182
188
|
operator: '',
|
@@ -185,7 +191,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
185
191
|
id: uuidv4["default"]()
|
186
192
|
}],
|
187
193
|
id: uuidv4["default"]()
|
188
|
-
}], _rollupPluginBabelHelpers.toConsumableArray(group.conditions.slice(conditionIndex + 1)))
|
194
|
+
}], _rollupPluginBabelHelpers.toConsumableArray(group.conditions ? group.conditions.slice(conditionIndex + 1) : []))
|
189
195
|
}));
|
190
196
|
};
|
191
197
|
var isLastCondition = function isLastCondition(conditionIndex, conditionArr) {
|
@@ -219,14 +225,15 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
219
225
|
}));
|
220
226
|
};
|
221
227
|
var getSentenceVariant = function getSentenceVariant() {
|
222
|
-
var _group$
|
228
|
+
var _group$conditions2;
|
223
229
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
224
230
|
className: "".concat(className, " eachGroup")
|
225
231
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
226
232
|
className: "".concat(DataConfigs.blockClass, "__condition-wrapper"),
|
227
233
|
role: "grid",
|
228
234
|
"aria-label": conditionBuilderText
|
229
|
-
}, group === null || group === void 0 || (_group$
|
235
|
+
}, group === null || group === void 0 || (_group$conditions2 = group.conditions) === null || _group$conditions2 === void 0 ? void 0 : _group$conditions2.map(function (eachCondition, conditionIndex) {
|
236
|
+
var _group$conditions3;
|
230
237
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
231
238
|
key: eachCondition.id,
|
232
239
|
className: "".concat(DataConfigs.blockClass, "__group-wrapper")
|
@@ -235,7 +242,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
235
242
|
aria: {
|
236
243
|
level: aria.level + 1,
|
237
244
|
posinset: conditionIndex + 1,
|
238
|
-
setsize: group.conditions.length
|
245
|
+
setsize: group === null || group === void 0 || (_group$conditions3 = group.conditions) === null || _group$conditions3 === void 0 ? void 0 : _group$conditions3.length
|
239
246
|
},
|
240
247
|
isStatement: conditionIndex == 0,
|
241
248
|
condition: eachCondition,
|
@@ -255,7 +262,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
255
262
|
})));
|
256
263
|
};
|
257
264
|
var getTreeVariant = function getTreeVariant() {
|
258
|
-
var _group$
|
265
|
+
var _group$conditions4;
|
259
266
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
260
267
|
className: "".concat(className, " ").concat(DataConfigs.blockClass, "__condition-wrapper"),
|
261
268
|
role: aria.level === 1 ? 'rowgroup' : undefined,
|
@@ -285,11 +292,12 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
285
292
|
config: {
|
286
293
|
options: DataConfigs.statementConfig
|
287
294
|
}
|
288
|
-
}))), group === null || group === void 0 || (_group$
|
295
|
+
}))), group === null || group === void 0 || (_group$conditions4 = group.conditions) === null || _group$conditions4 === void 0 ? void 0 : _group$conditions4.map(function (eachCondition, conditionIndex) {
|
296
|
+
var _group$conditions$len, _group$conditions5, _group$conditions$len2, _group$conditions6;
|
289
297
|
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
290
298
|
key: eachCondition.id
|
291
299
|
}, eachCondition.conditions ? /*#__PURE__*/React__default["default"].createElement("div", {
|
292
|
-
className: cx__default["default"]("".concat(DataConfigs.blockClass, "__condition-block subgroup ").concat(DataConfigs.blockClass, "__gap"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__gap-bottom"), group.conditions.length < conditionIndex + 1), {})
|
300
|
+
className: cx__default["default"]("".concat(DataConfigs.blockClass, "__condition-block subgroup ").concat(DataConfigs.blockClass, "__gap"), _rollupPluginBabelHelpers.defineProperty({}, "".concat(DataConfigs.blockClass, "__gap-bottom"), group && group.conditions && group.conditions.length < conditionIndex + 1), {})
|
293
301
|
}, /*#__PURE__*/React__default["default"].createElement(ConditionConnector["default"], {
|
294
302
|
className: "".concat(DataConfigs.blockClass, "__gap ").concat(DataConfigs.blockClass, "__gap-bottom ").concat(DataConfigs.blockClass, "__groupConnector"),
|
295
303
|
operator: group.groupOperator,
|
@@ -298,7 +306,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
298
306
|
aria: {
|
299
307
|
level: aria.level + 1,
|
300
308
|
posinset: conditionIndex + 1,
|
301
|
-
setsize: group.conditions.length
|
309
|
+
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
|
302
310
|
},
|
303
311
|
className: "".concat(DataConfigs.blockClass, "__group"),
|
304
312
|
group: eachCondition,
|
@@ -306,14 +314,14 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
306
314
|
onChangeHandler(updatedConditions, conditionIndex);
|
307
315
|
},
|
308
316
|
onRemove: function onRemove(e) {
|
309
|
-
onRemoveHandler(eachCondition.id, e);
|
317
|
+
onRemoveHandler(eachCondition.id, e, conditionIndex);
|
310
318
|
}
|
311
319
|
})) : /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement(ConditionBlock["default"], {
|
312
320
|
conjunction: conditionIndex > 0 ? group.groupOperator : undefined,
|
313
321
|
aria: {
|
314
322
|
level: aria.level + 1,
|
315
323
|
posinset: conditionIndex + 1,
|
316
|
-
setsize: group.conditions.length
|
324
|
+
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
|
317
325
|
},
|
318
326
|
isStatement: false,
|
319
327
|
condition: eachCondition,
|
@@ -325,7 +333,7 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
325
333
|
onChangeHandler(updatedConditions, conditionIndex);
|
326
334
|
},
|
327
335
|
onRemove: function onRemove(e) {
|
328
|
-
onRemoveHandler(eachCondition.id, e);
|
336
|
+
onRemoveHandler(eachCondition.id, e, conditionIndex);
|
329
337
|
},
|
330
338
|
onConnectorOperatorChange: onConnectorOperatorChange,
|
331
339
|
onStatementChange: onStatementChangeHandler,
|
@@ -349,7 +357,6 @@ var ConditionGroupBuilder = function ConditionGroupBuilder(_ref) {
|
|
349
357
|
};
|
350
358
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, variant == 'tree' && getTreeVariant(), variant == 'sentence' && getSentenceVariant());
|
351
359
|
};
|
352
|
-
var ConditionGroupBuilder$1 = ConditionGroupBuilder;
|
353
360
|
ConditionGroupBuilder.propTypes = {
|
354
361
|
/**
|
355
362
|
* object contains the aria attributes
|
@@ -373,4 +380,4 @@ ConditionGroupBuilder.propTypes = {
|
|
373
380
|
onRemove: index["default"].func
|
374
381
|
};
|
375
382
|
|
376
|
-
exports["default"] = ConditionGroupBuilder
|
383
|
+
exports["default"] = ConditionGroupBuilder;
|
@@ -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;
|
@@ -91,7 +91,6 @@ var ConditionPreview = function ConditionPreview(_ref) {
|
|
91
91
|
popOverClassName: "".concat(DataConfigs.blockClass, "__gap")
|
92
92
|
}), getConditionSection())));
|
93
93
|
};
|
94
|
-
var ConditionPreview$1 = ConditionPreview;
|
95
94
|
ConditionPreview.propTypes = {
|
96
95
|
/**
|
97
96
|
* index of the color for next group
|
@@ -107,4 +106,4 @@ ConditionPreview.propTypes = {
|
|
107
106
|
previewType: index["default"].oneOf(['condition', 'subGroup', 'newGroup'])
|
108
107
|
};
|
109
108
|
|
110
|
-
exports["default"] = ConditionPreview
|
109
|
+
exports["default"] = ConditionPreview;
|
@@ -82,9 +82,9 @@ var handleKeyPressForPopover = function handleKeyPressForPopover(evt, parentCont
|
|
82
82
|
if (document.activeElement.type !== 'button') {
|
83
83
|
var _document$activeEleme2;
|
84
84
|
//for button , enter key is click which already handled by framework, for other elements trigger click
|
85
|
+
evt.preventDefault();
|
85
86
|
(_document$activeEleme2 = document.activeElement) === null || _document$activeEleme2 === void 0 || _document$activeEleme2.click();
|
86
87
|
}
|
87
|
-
evt.preventDefault();
|
88
88
|
} else {
|
89
89
|
if (document.activeElement.type !== 'button') {
|
90
90
|
var _document$activeEleme3;
|