@carbon/ibm-products 2.48.0 → 2.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/css/index-full-carbon.css +29 -14
- 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-released-only.css +11 -2
- package/css/index-without-carbon-released-only.css.map +1 -1
- package/css/index-without-carbon-released-only.min.css +1 -1
- package/css/index-without-carbon-released-only.min.css.map +1 -1
- package/css/index-without-carbon.css +29 -14
- 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 +29 -14
- 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/APIKeyModal/APIKeyModal.types.d.ts +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 +30 -27
- package/es/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
- package/es/components/ConditionBuilder/ConditionBuilder.js +13 -9
- package/es/components/ConditionBuilder/ConditionBuilder.types.d.ts +151 -0
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
- package/es/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +7 -7
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
- package/es/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +2 -3
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +86 -37
- package/es/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +2 -2
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
- package/es/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +10 -9
- package/es/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +4 -1
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
- package/es/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +40 -37
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
- package/es/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +22 -31
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +6 -0
- package/es/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +7 -1
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +14 -8
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +2 -3
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +12 -7
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +35 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +16 -9
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +4 -4
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +5 -6
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
- package/es/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +1 -1
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
- package/es/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +50 -40
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
- package/es/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +2 -3
- package/es/components/ConditionBuilder/utils/handleKeyboardEvents.js +9 -10
- package/es/components/ConditionBuilder/utils/useDataConfigs.d.ts +18 -0
- package/es/components/ConditionBuilder/utils/useDataConfigs.js +120 -0
- package/es/components/ConditionBuilder/utils/useTranslations.d.ts +1 -1
- package/es/components/ConditionBuilder/utils/useTranslations.js +4 -1
- package/es/components/ConditionBuilder/utils/util.d.ts +12 -0
- package/es/components/ConditionBuilder/utils/util.js +48 -2
- package/es/components/CreateFullPage/CreateFullPageStep.d.ts +2 -2
- package/es/components/CreateFullPage/index.d.ts +1 -0
- package/es/components/CreateTearsheet/CreateTearsheet.js +3 -4
- package/es/components/DataSpreadsheet/DataSpreadsheet.js +8 -1
- package/es/components/Datagrid/Datagrid/DatagridToolbar.js +8 -3
- package/es/components/Datagrid/Datagrid/DatagridVirtualBody.js +20 -11
- package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +7 -2
- package/es/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +12 -7
- package/es/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +18 -16
- package/es/components/Datagrid/types/index.d.ts +1 -0
- package/es/components/Datagrid/useActionsColumn.js +1 -4
- package/es/components/Datagrid/useFiltering.d.ts +1 -0
- package/es/components/Datagrid/useFiltering.js +14 -3
- package/es/components/EditInPlace/EditInPlace.js +7 -5
- package/es/components/NotificationsPanel/NotificationsPanel.d.ts +2 -0
- package/es/components/NotificationsPanel/NotificationsPanel.js +75 -5
- package/es/components/TagOverflow/TagOverflow.d.ts +1 -0
- package/es/components/TagOverflow/TagOverflow.js +8 -2
- package/es/components/TagOverflow/TagOverflowPopover.d.ts +1 -0
- package/es/components/TagOverflow/TagOverflowPopover.js +7 -1
- package/es/components/TagSet/TagSetOverflow.js +1 -1
- package/es/components/Tearsheet/Tearsheet.d.ts +2 -2
- package/es/components/Tearsheet/TearsheetShell.js +7 -3
- package/es/components/Toolbar/ToolbarButton.d.ts +12 -1
- package/es/components/Toolbar/ToolbarButton.js +16 -8
- package/es/global/js/hooks/useFocus.d.ts +1 -1
- package/es/global/js/hooks/useFocus.js +40 -24
- package/es/global/js/utils/keyboardNavigation.d.ts +27 -0
- package/es/global/js/utils/keyboardNavigation.js +37 -0
- package/es/global/js/utils/wrapFocus.d.ts +25 -0
- package/es/global/js/utils/wrapFocus.js +68 -0
- package/lib/components/APIKeyModal/APIKeyModal.types.d.ts +1 -1
- 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 +36 -33
- package/lib/components/ConditionBuilder/ConditionBuilder.d.ts +9 -2
- package/lib/components/ConditionBuilder/ConditionBuilder.js +15 -11
- package/lib/components/ConditionBuilder/ConditionBuilder.types.d.ts +151 -0
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.d.ts +26 -12
- package/lib/components/ConditionBuilder/ConditionBuilderActions/ConditionBuilderActions.js +15 -15
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.d.ts +62 -27
- package/lib/components/ConditionBuilder/ConditionBuilderAdd/ConditionBuilderAdd.js +7 -8
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.d.ts +86 -37
- package/lib/components/ConditionBuilder/ConditionBuilderButton/ConditionBuilderButton.js +4 -4
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.d.ts +29 -14
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/ConditionConnector.js +11 -10
- package/lib/components/ConditionBuilder/ConditionBuilderConnector/GroupConnector.js +8 -5
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.d.ts +40 -20
- package/lib/components/ConditionBuilder/ConditionBuilderContent/ConditionBuilderContent.js +47 -44
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.d.ts +10 -49
- package/lib/components/ConditionBuilder/ConditionBuilderContext/ConditionBuilderProvider.js +22 -31
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.d.ts +6 -0
- package/lib/components/ConditionBuilder/ConditionBuilderContext/translationObject.js +7 -1
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.d.ts +81 -31
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItem.js +18 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.d.ts +27 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemDate/ConditionBuilderItemDate.js +3 -4
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.d.ts +30 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemNumber/ConditionBuilderItemNumber.js +13 -8
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.d.ts +35 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js +22 -15
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.d.ts +32 -12
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemOption/ItemOptionForValueField.js +15 -15
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.d.ts +35 -14
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemText/ConditionBuilderItemText.js +5 -6
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.d.ts +25 -10
- package/lib/components/ConditionBuilder/ConditionBuilderItem/ConditionBuilderItemTime/ConditionBuilderItemTime.js +2 -2
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.d.ts +44 -17
- package/lib/components/ConditionBuilder/ConditionGroupBuilder/ConditionGroupBuilder.js +60 -50
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.d.ts +30 -13
- package/lib/components/ConditionBuilder/ConditionPreview/ConditionPreview.js +18 -19
- package/lib/components/ConditionBuilder/utils/handleKeyboardEvents.js +12 -13
- package/lib/components/ConditionBuilder/utils/useDataConfigs.d.ts +18 -0
- package/lib/components/ConditionBuilder/utils/useDataConfigs.js +124 -0
- package/lib/components/ConditionBuilder/utils/useTranslations.d.ts +1 -1
- package/lib/components/ConditionBuilder/utils/useTranslations.js +4 -1
- package/lib/components/ConditionBuilder/utils/util.d.ts +12 -0
- package/lib/components/ConditionBuilder/utils/util.js +53 -3
- package/lib/components/CreateFullPage/CreateFullPageStep.d.ts +2 -2
- package/lib/components/CreateFullPage/index.d.ts +1 -0
- package/lib/components/CreateTearsheet/CreateTearsheet.js +3 -4
- package/lib/components/DataSpreadsheet/DataSpreadsheet.js +8 -1
- package/lib/components/Datagrid/Datagrid/DatagridToolbar.js +8 -3
- package/lib/components/Datagrid/Datagrid/DatagridVirtualBody.js +19 -10
- package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/CustomizeColumnsTearsheet.js +6 -1
- package/lib/components/Datagrid/Datagrid/addons/Filtering/FilterPanel.js +11 -6
- package/lib/components/Datagrid/Datagrid/addons/InlineEdit/InlineEditCell/InlineEditCell.js +18 -16
- package/lib/components/Datagrid/types/index.d.ts +1 -0
- package/lib/components/Datagrid/useActionsColumn.js +1 -4
- package/lib/components/Datagrid/useFiltering.d.ts +1 -0
- package/lib/components/Datagrid/useFiltering.js +13 -1
- package/lib/components/EditInPlace/EditInPlace.js +7 -5
- package/lib/components/NotificationsPanel/NotificationsPanel.d.ts +2 -0
- package/lib/components/NotificationsPanel/NotificationsPanel.js +74 -4
- package/lib/components/TagOverflow/TagOverflow.d.ts +1 -0
- package/lib/components/TagOverflow/TagOverflow.js +8 -2
- package/lib/components/TagOverflow/TagOverflowPopover.d.ts +1 -0
- package/lib/components/TagOverflow/TagOverflowPopover.js +7 -1
- package/lib/components/TagSet/TagSetOverflow.js +1 -1
- package/lib/components/Tearsheet/Tearsheet.d.ts +2 -2
- package/lib/components/Tearsheet/TearsheetShell.js +6 -2
- package/lib/components/Toolbar/ToolbarButton.d.ts +12 -1
- package/lib/components/Toolbar/ToolbarButton.js +15 -6
- package/lib/global/js/hooks/useFocus.d.ts +1 -1
- package/lib/global/js/hooks/useFocus.js +40 -24
- package/lib/global/js/utils/keyboardNavigation.d.ts +27 -0
- package/lib/global/js/utils/keyboardNavigation.js +43 -0
- package/lib/global/js/utils/wrapFocus.d.ts +25 -0
- package/lib/global/js/utils/wrapFocus.js +73 -0
- package/package.json +4 -4
- package/scss/components/ConditionBuilder/_condition-builder.scss +1 -1
- package/scss/components/ConditionBuilder/styles/_conditionBuilderItem.scss +33 -22
- package/scss/components/Datagrid/styles/_datagrid.scss +7 -0
- package/scss/components/Datagrid/styles/_useActionsColumn.scss +4 -0
- package/scss/components/EditInPlace/_edit-in-place.scss +2 -2
- package/telemetry.yml +15 -6
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +0 -28
- package/es/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +0 -123
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.d.ts +0 -28
- package/lib/components/ConditionBuilder/ConditionBuilderContext/DataConfigs.js +0 -131
@@ -1,28 +1,63 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
hideConditionSubGroupPreviewHandler: any;
|
8
|
-
showConditionPreviewHandler: any;
|
9
|
-
hideConditionPreviewHandler: any;
|
10
|
-
enableSubGroup: any;
|
11
|
-
buttonLabel: any;
|
12
|
-
tabIndex: any;
|
13
|
-
}): import("react/jsx-runtime").JSX.Element;
|
14
|
-
declare namespace ConditionBuilderAdd {
|
15
|
-
namespace propTypes {
|
16
|
-
let addConditionSubGroupHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
17
|
-
let buttonLabel: PropTypes.Requireable<string>;
|
18
|
-
let className: PropTypes.Requireable<string>;
|
19
|
-
let enableSubGroup: PropTypes.Requireable<boolean>;
|
20
|
-
let hideConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
21
|
-
let hideConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
22
|
-
let onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
23
|
-
let showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
24
|
-
let showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
25
|
-
let tabIndex: PropTypes.Requireable<number>;
|
26
|
-
}
|
27
|
-
}
|
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
|
+
*/
|
28
7
|
import PropTypes from 'prop-types';
|
8
|
+
interface ConditionBuilderAddProps {
|
9
|
+
className?: string;
|
10
|
+
onClick: () => void;
|
11
|
+
addConditionSubGroupHandler?: () => void;
|
12
|
+
showConditionSubGroupPreviewHandler?: () => void;
|
13
|
+
hideConditionSubGroupPreviewHandler?: () => void;
|
14
|
+
showConditionPreviewHandler?: () => void;
|
15
|
+
hideConditionPreviewHandler?: () => void;
|
16
|
+
enableSubGroup?: boolean;
|
17
|
+
buttonLabel?: string;
|
18
|
+
tabIndex?: number;
|
19
|
+
}
|
20
|
+
declare const ConditionBuilderAdd: {
|
21
|
+
({ className, onClick, addConditionSubGroupHandler, showConditionSubGroupPreviewHandler, hideConditionSubGroupPreviewHandler, showConditionPreviewHandler, hideConditionPreviewHandler, enableSubGroup, buttonLabel, tabIndex, }: ConditionBuilderAddProps): import("react/jsx-runtime").JSX.Element;
|
22
|
+
propTypes: {
|
23
|
+
/**
|
24
|
+
* handler for hiding sub group preview
|
25
|
+
*/
|
26
|
+
addConditionSubGroupHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
27
|
+
/**
|
28
|
+
* handler for hiding sub group preview
|
29
|
+
*/ /**
|
30
|
+
* tooltip label for plus button
|
31
|
+
*/
|
32
|
+
buttonLabel: PropTypes.Requireable<string>;
|
33
|
+
/**
|
34
|
+
* Provide an optional class to be applied to the containing node.
|
35
|
+
*/
|
36
|
+
className: PropTypes.Requireable<string>;
|
37
|
+
/**
|
38
|
+
* boolean to enable sub groups for the tree variant
|
39
|
+
*/
|
40
|
+
enableSubGroup: PropTypes.Requireable<boolean>;
|
41
|
+
/**
|
42
|
+
* handler for hiding sub group preview
|
43
|
+
*/
|
44
|
+
hideConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
45
|
+
hideConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
46
|
+
/**
|
47
|
+
* handler for hiding sub group preview
|
48
|
+
*/ /**
|
49
|
+
* callback triggered on click of add button
|
50
|
+
*/
|
51
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
52
|
+
showConditionPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
53
|
+
showConditionSubGroupPreviewHandler: PropTypes.Requireable<(...args: any[]) => any>;
|
54
|
+
/**
|
55
|
+
* handler for hiding sub group preview
|
56
|
+
*/
|
57
|
+
/**
|
58
|
+
* Tab index
|
59
|
+
*/
|
60
|
+
tabIndex: PropTypes.Requireable<number>;
|
61
|
+
};
|
62
|
+
};
|
63
|
+
export default ConditionBuilderAdd;
|
@@ -11,8 +11,8 @@ import cx from 'classnames';
|
|
11
11
|
import { AddAlt, TextNewLine } from '@carbon/react/icons';
|
12
12
|
import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
|
13
13
|
import PropTypes from '../../../node_modules/prop-types/index.js';
|
14
|
-
import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
|
15
14
|
import { useTranslations } from '../utils/useTranslations.js';
|
15
|
+
import { blockClass } from '../utils/util.js';
|
16
16
|
|
17
17
|
var ConditionBuilderAdd = function ConditionBuilderAdd(_ref) {
|
18
18
|
var className = _ref.className,
|
@@ -81,7 +81,6 @@ var ConditionBuilderAdd = function ConditionBuilderAdd(_ref) {
|
|
81
81
|
wrapperClassName: "".concat(blockClass, "__add-condition-sub-group-wrapper ").concat(blockClass, "__gap-left")
|
82
82
|
}, previewHandlersForSubgroup())));
|
83
83
|
};
|
84
|
-
var ConditionBuilderAdd$1 = ConditionBuilderAdd;
|
85
84
|
ConditionBuilderAdd.propTypes = {
|
86
85
|
/**
|
87
86
|
* handler for hiding sub group preview
|
@@ -123,4 +122,4 @@ ConditionBuilderAdd.propTypes = {
|
|
123
122
|
tabIndex: PropTypes.number
|
124
123
|
};
|
125
124
|
|
126
|
-
export { ConditionBuilderAdd
|
125
|
+
export { ConditionBuilderAdd as default };
|
@@ -1,38 +1,87 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
showToolTip: any;
|
10
|
-
wrapperProps: any;
|
11
|
-
onBlur: any;
|
12
|
-
onFocus: any;
|
13
|
-
onMouseEnter: any;
|
14
|
-
onMouseLeave: any;
|
15
|
-
isInvalid: any;
|
16
|
-
wrapperClassName: any;
|
17
|
-
tabIndex: any;
|
18
|
-
}): import("react/jsx-runtime").JSX.Element;
|
19
|
-
export namespace ConditionBuilderButton {
|
20
|
-
namespace propTypes {
|
21
|
-
let className: PropTypes.Requireable<string>;
|
22
|
-
let hideLabel: PropTypes.Requireable<boolean>;
|
23
|
-
let isInvalid: PropTypes.Requireable<boolean>;
|
24
|
-
let label: PropTypes.Requireable<string>;
|
25
|
-
let onBlur: PropTypes.Requireable<(...args: any[]) => any>;
|
26
|
-
let onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
27
|
-
let onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
28
|
-
let onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
29
|
-
let onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
30
|
-
let renderIcon: PropTypes.Requireable<object>;
|
31
|
-
let showToolTip: PropTypes.Requireable<boolean>;
|
32
|
-
let tabIndex: PropTypes.Requireable<number>;
|
33
|
-
let tooltipAlign: PropTypes.Requireable<string>;
|
34
|
-
let wrapperClassName: PropTypes.Requireable<string>;
|
35
|
-
let wrapperProps: PropTypes.Requireable<object>;
|
36
|
-
}
|
37
|
-
}
|
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
|
+
/// <reference path="../../../../src/custom-typings/index.d.ts" />
|
8
|
+
import React from 'react';
|
38
9
|
import PropTypes from 'prop-types';
|
10
|
+
import { PopoverAlignment } from '@carbon/react';
|
11
|
+
import { CarbonIconType } from '@carbon/react/icons';
|
12
|
+
interface ConditionBuilderButtonProps {
|
13
|
+
className?: string;
|
14
|
+
label: string;
|
15
|
+
hideLabel?: boolean;
|
16
|
+
tooltipAlign?: PopoverAlignment;
|
17
|
+
renderIcon?: CarbonIconType;
|
18
|
+
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
19
|
+
onBlur?: React.FocusEventHandler<HTMLButtonElement>;
|
20
|
+
onFocus?: React.FocusEventHandler<HTMLButtonElement>;
|
21
|
+
onMouseEnter?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
22
|
+
onMouseLeave?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
23
|
+
showToolTip?: boolean;
|
24
|
+
wrapperProps?: object;
|
25
|
+
isInvalid?: boolean;
|
26
|
+
wrapperClassName?: string;
|
27
|
+
tabIndex?: number;
|
28
|
+
}
|
29
|
+
export declare const ConditionBuilderButton: {
|
30
|
+
({ className, label, hideLabel, tooltipAlign, renderIcon: Icon, onClick, showToolTip, wrapperProps, onBlur, onFocus, onMouseEnter, onMouseLeave, isInvalid, wrapperClassName, tabIndex, ...rest }: ConditionBuilderButtonProps): import("react/jsx-runtime").JSX.Element;
|
31
|
+
propTypes: {
|
32
|
+
/**
|
33
|
+
* Provide an optional class to be applied to the containing node.
|
34
|
+
*/
|
35
|
+
className: PropTypes.Requireable<string>;
|
36
|
+
/**
|
37
|
+
* decides if label and tooltip to be hidden
|
38
|
+
*/
|
39
|
+
hideLabel: PropTypes.Requireable<boolean>;
|
40
|
+
/**
|
41
|
+
* boolean to know the updated value in not valid
|
42
|
+
*/
|
43
|
+
isInvalid: PropTypes.Requireable<boolean>;
|
44
|
+
/**
|
45
|
+
* label of the button
|
46
|
+
*/
|
47
|
+
label: PropTypes.Requireable<string>;
|
48
|
+
/**
|
49
|
+
* mouse events callbacks
|
50
|
+
*/
|
51
|
+
onBlur: PropTypes.Requireable<(...args: any[]) => any>;
|
52
|
+
/**
|
53
|
+
* callback triggered on click of add button
|
54
|
+
*/
|
55
|
+
onClick: PropTypes.Requireable<(...args: any[]) => any>;
|
56
|
+
onFocus: PropTypes.Requireable<(...args: any[]) => any>;
|
57
|
+
onMouseEnter: PropTypes.Requireable<(...args: any[]) => any>;
|
58
|
+
onMouseLeave: PropTypes.Requireable<(...args: any[]) => any>;
|
59
|
+
/**
|
60
|
+
* Optional prop to allow overriding the icon rendering.
|
61
|
+
*/
|
62
|
+
renderIcon: PropTypes.Requireable<object>;
|
63
|
+
/**
|
64
|
+
*/
|
65
|
+
/**
|
66
|
+
*decides if tooltip to be shown
|
67
|
+
*/
|
68
|
+
showToolTip: PropTypes.Requireable<boolean>;
|
69
|
+
/**
|
70
|
+
* Tab index
|
71
|
+
*/
|
72
|
+
tabIndex: PropTypes.Requireable<number>;
|
73
|
+
/**
|
74
|
+
* tooltip position
|
75
|
+
*/
|
76
|
+
tooltipAlign: PropTypes.Requireable<string>;
|
77
|
+
/**
|
78
|
+
* classname applies to the wrapper of popover
|
79
|
+
*/
|
80
|
+
wrapperClassName: PropTypes.Requireable<string>;
|
81
|
+
/**
|
82
|
+
* optional props for tree grid to add role and aria-label to wrapper span
|
83
|
+
*/
|
84
|
+
wrapperProps: PropTypes.Requireable<object>;
|
85
|
+
};
|
86
|
+
};
|
87
|
+
export {};
|
@@ -10,8 +10,8 @@ import React__default from 'react';
|
|
10
10
|
import cx from 'classnames';
|
11
11
|
import PropTypes from '../../../node_modules/prop-types/index.js';
|
12
12
|
import { usePrefix, Tooltip } from '@carbon/react';
|
13
|
-
import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
|
14
13
|
import { WarningAltFilled } from '@carbon/react/icons';
|
14
|
+
import { blockClass } from '../utils/util.js';
|
15
15
|
|
16
16
|
var _WarningAltFilled;
|
17
17
|
var _excluded = ["className", "label", "hideLabel", "tooltipAlign", "renderIcon", "onClick", "showToolTip", "wrapperProps", "onBlur", "onFocus", "onMouseEnter", "onMouseLeave", "isInvalid", "wrapperClassName", "tabIndex"];
|
@@ -38,7 +38,7 @@ var ConditionBuilderButton = function ConditionBuilderButton(_ref) {
|
|
38
38
|
var _rest$dataName;
|
39
39
|
var dataName = (_rest$dataName = rest['data-name']) !== null && _rest$dataName !== void 0 ? _rest$dataName : '';
|
40
40
|
return /*#__PURE__*/React__default.createElement("button", _extends({
|
41
|
-
tabIndex: tabIndex
|
41
|
+
tabIndex: tabIndex !== undefined ? tabIndex : -1,
|
42
42
|
className: cx([className, "".concat(blockClass, "__button"), _defineProperty({}, "".concat(blockClass, "__text-ellipsis"), showToolTip && !hideLabel && !isInvalid), _defineProperty({}, "".concat(blockClass, "__invalid-input"), isInvalid)]),
|
43
43
|
type: "button",
|
44
44
|
onClick: onClick,
|
@@ -1,15 +1,30 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
}): import("react/jsx-runtime").JSX.Element;
|
8
|
-
declare namespace ConditionConnector {
|
9
|
-
namespace propTypes {
|
10
|
-
let className: PropTypes.Requireable<string>;
|
11
|
-
let onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
12
|
-
let operator: 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
|
+
interface ConditionConnectorProps {
|
9
|
+
operator: string;
|
10
|
+
className: string;
|
11
|
+
onChange?: (op: string) => void;
|
12
|
+
}
|
13
|
+
declare const ConditionConnector: {
|
14
|
+
({ operator, className, onChange, ...rest }: ConditionConnectorProps): import("react/jsx-runtime").JSX.Element;
|
15
|
+
propTypes: {
|
16
|
+
/**
|
17
|
+
* Provide an optional class to be applied to the containing node.
|
18
|
+
*/
|
19
|
+
className: PropTypes.Requireable<string>;
|
20
|
+
/**
|
21
|
+
* callback to update the current condition of the state tree
|
22
|
+
*/
|
23
|
+
onChange: PropTypes.Requireable<(...args: any[]) => any>;
|
24
|
+
/**
|
25
|
+
* string that defines the connector operator (and/or)
|
26
|
+
*/
|
27
|
+
operator: PropTypes.Requireable<string>;
|
28
|
+
};
|
29
|
+
};
|
30
|
+
export default ConditionConnector;
|
@@ -9,11 +9,11 @@ import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _
|
|
9
9
|
import React__default, { useContext, useCallback } from 'react';
|
10
10
|
import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
|
11
11
|
import { ItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js';
|
12
|
-
import { blockClass, connectorConfig } from '../ConditionBuilderContext/DataConfigs.js';
|
13
12
|
import PropTypes from '../../../node_modules/prop-types/index.js';
|
14
|
-
import { focusThisField } from '../utils/util.js';
|
13
|
+
import { HIERARCHICAL_VARIANT, blockClass, focusThisField } from '../utils/util.js';
|
15
14
|
import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
|
16
15
|
import { useTranslations } from '../utils/useTranslations.js';
|
16
|
+
import { useDataConfigs } from '../utils/useDataConfigs.js';
|
17
17
|
import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
|
18
18
|
|
19
19
|
var _excluded = ["operator", "className", "onChange"];
|
@@ -28,6 +28,8 @@ var ConditionConnector = function ConditionConnector(_ref) {
|
|
28
28
|
var _useTranslations = useTranslations(['connectorText']),
|
29
29
|
_useTranslations2 = _slicedToArray(_useTranslations, 1),
|
30
30
|
connectorText = _useTranslations2[0];
|
31
|
+
var _useDataConfigs = useDataConfigs(),
|
32
|
+
connectorConfig = _useDataConfigs.connectorConfig;
|
31
33
|
var handleConnectorHover = useCallback(function (parentGroup, isHover) {
|
32
34
|
if (isHover) {
|
33
35
|
parentGroup.classList.add('hoveredConnector');
|
@@ -36,18 +38,18 @@ var ConditionConnector = function ConditionConnector(_ref) {
|
|
36
38
|
}
|
37
39
|
}, []);
|
38
40
|
var activeConnectorHandler = function activeConnectorHandler(evt) {
|
39
|
-
var parentGroup = evt.currentTarget.closest('.eachGroup');
|
41
|
+
var parentGroup = evt === null || evt === void 0 ? void 0 : evt.currentTarget.closest('.eachGroup');
|
40
42
|
handleConnectorHover(parentGroup, true);
|
41
43
|
};
|
42
44
|
var inActiveConnectorHandler = function inActiveConnectorHandler(evt) {
|
43
|
-
var parentGroup = evt.currentTarget.closest('.eachGroup');
|
45
|
+
var parentGroup = evt === null || evt === void 0 ? void 0 : evt.currentTarget.closest('.eachGroup');
|
44
46
|
handleConnectorHover(parentGroup, false);
|
45
47
|
};
|
46
48
|
var onChangeHandler = function onChangeHandler(op, evt) {
|
47
|
-
onChange(op);
|
49
|
+
onChange === null || onChange === void 0 || onChange(op);
|
48
50
|
focusThisField(evt, conditionBuilderRef);
|
49
51
|
};
|
50
|
-
return variant ==
|
52
|
+
return variant == HIERARCHICAL_VARIANT ? /*#__PURE__*/React__default.createElement("span", {
|
51
53
|
className: "".concat(className, " ").concat(blockClass, "__connector--disabled")
|
52
54
|
}, /*#__PURE__*/React__default.createElement(ConditionBuilderButton, {
|
53
55
|
label: operator
|
@@ -64,7 +66,7 @@ var ConditionConnector = function ConditionConnector(_ref) {
|
|
64
66
|
onBlur: inActiveConnectorHandler
|
65
67
|
}, rest, {
|
66
68
|
popOverClassName: className,
|
67
|
-
className: "".concat(blockClass, "__connector-button
|
69
|
+
className: "".concat(blockClass, "__connector-button")
|
68
70
|
}), /*#__PURE__*/React__default.createElement(ItemOption, {
|
69
71
|
config: {
|
70
72
|
options: connectorConfig
|
@@ -79,7 +81,6 @@ var ConditionConnector = function ConditionConnector(_ref) {
|
|
79
81
|
// </div>
|
80
82
|
;
|
81
83
|
};
|
82
|
-
var ConditionConnector$1 = ConditionConnector;
|
83
84
|
ConditionConnector.propTypes = {
|
84
85
|
/**
|
85
86
|
* Provide an optional class to be applied to the containing node.
|
@@ -95,4 +96,4 @@ ConditionConnector.propTypes = {
|
|
95
96
|
operator: PropTypes.string
|
96
97
|
};
|
97
98
|
|
98
|
-
export { ConditionConnector
|
99
|
+
export { ConditionConnector as default };
|
@@ -8,10 +8,11 @@
|
|
8
8
|
import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
9
9
|
import React__default, { useContext } from 'react';
|
10
10
|
import { ConditionBuilderItem } from '../ConditionBuilderItem/ConditionBuilderItem.js';
|
11
|
-
import { blockClass, connectorConfig } from '../ConditionBuilderContext/DataConfigs.js';
|
12
11
|
import { ItemOption } from '../ConditionBuilderItem/ConditionBuilderItemOption/ItemOption.js';
|
13
12
|
import { ConditionBuilderContext } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
|
14
13
|
import { useTranslations } from '../utils/useTranslations.js';
|
14
|
+
import { blockClass } from '../utils/util.js';
|
15
|
+
import { useDataConfigs } from '../utils/useDataConfigs.js';
|
15
16
|
|
16
17
|
var GroupConnector = function GroupConnector() {
|
17
18
|
var _useContext = useContext(ConditionBuilderContext),
|
@@ -20,6 +21,8 @@ var GroupConnector = function GroupConnector() {
|
|
20
21
|
var _useTranslations = useTranslations(['conditionText']),
|
21
22
|
_useTranslations2 = _slicedToArray(_useTranslations, 1),
|
22
23
|
conditionText = _useTranslations2[0];
|
24
|
+
var _useDataConfigs = useDataConfigs(),
|
25
|
+
connectorConfig = _useDataConfigs.connectorConfig;
|
23
26
|
var onStatementChangeHandler = function onStatementChangeHandler(updatedStatement) {
|
24
27
|
setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
|
25
28
|
operator: updatedStatement
|
@@ -1,28 +1,48 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
}
|
9
|
-
|
10
|
-
|
11
|
-
|
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 { Action, ConditionBuilderState } from '../ConditionBuilder.types';
|
9
|
+
interface ConditionBuilderContentProps {
|
10
|
+
startConditionLabel: string;
|
11
|
+
getConditionState: (state: ConditionBuilderState) => void;
|
12
|
+
getActionsState?: (state: Action[]) => void;
|
13
|
+
initialState?: ConditionBuilderState;
|
14
|
+
actions?: Action[];
|
15
|
+
}
|
16
|
+
declare const ConditionBuilderContent: {
|
17
|
+
({ startConditionLabel, getConditionState, getActionsState, initialState, actions, }: ConditionBuilderContentProps): import("react/jsx-runtime").JSX.Element;
|
18
|
+
propTypes: {
|
19
|
+
/**
|
20
|
+
* optional array of object that give the list of actions.
|
21
|
+
*/
|
22
|
+
actions: PropTypes.Requireable<(PropTypes.InferProps<{
|
12
23
|
id: PropTypes.Validator<NonNullable<NonNullable<string | number | null | undefined>>>;
|
13
24
|
label: PropTypes.Validator<string>;
|
14
25
|
}> | null | undefined)[]>;
|
15
|
-
|
16
|
-
|
17
|
-
|
26
|
+
/**
|
27
|
+
* callback functions that will provide the updated action state back.
|
28
|
+
*/
|
29
|
+
getActionsState: PropTypes.Requireable<(...args: any[]) => any>;
|
30
|
+
/**
|
31
|
+
* This is a callback function that returns the updated state
|
32
|
+
*/
|
33
|
+
getConditionState: PropTypes.Validator<(...args: any[]) => any>;
|
34
|
+
/**
|
35
|
+
* Optional prop if the condition building need to start from a predefined initial state
|
36
|
+
*/
|
37
|
+
initialState: PropTypes.Requireable<PropTypes.InferProps<{
|
18
38
|
groups: PropTypes.Requireable<(PropTypes.InferProps<{
|
19
|
-
groupOperator: PropTypes.
|
20
|
-
statement: PropTypes.
|
39
|
+
groupOperator: PropTypes.Requireable<string>;
|
40
|
+
statement: PropTypes.Requireable<string>;
|
21
41
|
conditions: PropTypes.Requireable<(object | null | undefined)[]>;
|
22
42
|
}> | null | undefined)[]>;
|
23
43
|
operator: PropTypes.Requireable<string>;
|
24
44
|
}>>;
|
25
|
-
|
26
|
-
}
|
27
|
-
}
|
28
|
-
|
45
|
+
startConditionLabel: PropTypes.Validator<string>;
|
46
|
+
};
|
47
|
+
};
|
48
|
+
export default ConditionBuilderContent;
|
@@ -12,17 +12,17 @@ import { Button, Section, Heading } from '@carbon/react';
|
|
12
12
|
import { Add, TextNewLine } from '@carbon/react/icons';
|
13
13
|
import ConditionGroupBuilder from '../ConditionGroupBuilder/ConditionGroupBuilder.js';
|
14
14
|
import { ConditionBuilderContext, emptyState } from '../ConditionBuilderContext/ConditionBuilderProvider.js';
|
15
|
-
import { blockClass } from '../ConditionBuilderContext/DataConfigs.js';
|
16
15
|
import { ConditionBuilderButton } from '../ConditionBuilderButton/ConditionBuilderButton.js';
|
17
16
|
import uuidv4 from '../../../global/js/utils/uuidv4.js';
|
18
17
|
import ConditionPreview from '../ConditionPreview/ConditionPreview.js';
|
19
18
|
import GroupConnector from '../ConditionBuilderConnector/GroupConnector.js';
|
20
19
|
import ConditionBuilderActions from '../ConditionBuilderActions/ConditionBuilderActions.js';
|
21
20
|
import { useTranslations } from '../utils/useTranslations.js';
|
21
|
+
import { blockClass, HIERARCHICAL_VARIANT } from '../utils/util.js';
|
22
22
|
|
23
23
|
var _GroupConnector;
|
24
24
|
var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
25
|
-
var _rootState$
|
25
|
+
var _rootState$groups4;
|
26
26
|
var startConditionLabel = _ref.startConditionLabel,
|
27
27
|
getConditionState = _ref.getConditionState,
|
28
28
|
getActionsState = _ref.getActionsState,
|
@@ -41,10 +41,11 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
|
41
41
|
_useState4 = _slicedToArray(_useState3, 2),
|
42
42
|
showConditionGroupPreview = _useState4[0],
|
43
43
|
setShowConditionGroupPreview = _useState4[1];
|
44
|
-
var _useTranslations = useTranslations(['addConditionGroupText', 'conditionHeadingText']),
|
45
|
-
_useTranslations2 = _slicedToArray(_useTranslations,
|
44
|
+
var _useTranslations = useTranslations(['addConditionGroupText', 'conditionHeadingText', 'conditionBuilderHierarchicalText']),
|
45
|
+
_useTranslations2 = _slicedToArray(_useTranslations, 3),
|
46
46
|
addConditionGroupText = _useTranslations2[0],
|
47
|
-
conditionHeadingText = _useTranslations2[1]
|
47
|
+
conditionHeadingText = _useTranslations2[1],
|
48
|
+
conditionBuilderHierarchicalText = _useTranslations2[2];
|
48
49
|
var showConditionGroupPreviewHandler = function showConditionGroupPreviewHandler() {
|
49
50
|
setShowConditionGroupPreview(true);
|
50
51
|
};
|
@@ -59,26 +60,27 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
|
59
60
|
setIsConditionBuilderActive(false);
|
60
61
|
}
|
61
62
|
if (getConditionState) {
|
62
|
-
getConditionState(rootState);
|
63
|
+
getConditionState(rootState !== null && rootState !== void 0 ? rootState : {});
|
63
64
|
}
|
64
65
|
|
65
66
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
66
67
|
}, [rootState]);
|
67
68
|
useEffect(function () {
|
68
|
-
getActionsState === null || getActionsState === void 0 || getActionsState(actionState);
|
69
|
+
getActionsState === null || getActionsState === void 0 || getActionsState(actionState !== null && actionState !== void 0 ? actionState : []);
|
69
70
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
70
71
|
}, [actionState]);
|
71
72
|
var onStartConditionBuilder = function onStartConditionBuilder() {
|
72
73
|
//when add condition button is clicked.
|
73
74
|
setIsConditionBuilderActive(true);
|
74
|
-
setRootState(initialState !== null && initialState !== void 0 ? initialState : emptyState); //here we can set an empty skeleton object for an empty condition builder,
|
75
|
+
setRootState === null || setRootState === void 0 || setRootState(initialState !== null && initialState !== void 0 ? initialState : emptyState); //here we can set an empty skeleton object for an empty condition builder,
|
75
76
|
//or we can even pre-populate some existing builder and continue editing
|
76
77
|
};
|
77
78
|
var _onRemove = useCallback(function (groupId) {
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
79
|
+
var _rootState$groups2;
|
80
|
+
setRootState === null || setRootState === void 0 || setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
|
81
|
+
groups: rootState ? rootState === null || rootState === void 0 || (_rootState$groups2 = rootState.groups) === null || _rootState$groups2 === void 0 ? void 0 : _rootState$groups2.filter(function (group) {
|
82
|
+
return groupId !== (group === null || group === void 0 ? void 0 : group.id);
|
83
|
+
}) : []
|
82
84
|
}));
|
83
85
|
}, [setRootState, rootState]);
|
84
86
|
var onChangeHandler = function onChangeHandler(updatedGroup, groupIndex) {
|
@@ -86,17 +88,18 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
|
86
88
|
* This method is triggered from inner components. This will be called every time when any change is to be updated in the rootState.
|
87
89
|
* This gets the updated group as argument.
|
88
90
|
*/
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
91
|
+
if (rootState && rootState.groups) {
|
92
|
+
var groups = [].concat(_toConsumableArray(rootState.groups ? rootState.groups.slice(0, groupIndex) : []), [updatedGroup], _toConsumableArray(rootState.groups ? rootState.groups.slice(groupIndex + 1) : []));
|
93
|
+
setRootState === null || setRootState === void 0 || setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
|
94
|
+
groups: groups
|
95
|
+
}));
|
96
|
+
}
|
93
97
|
};
|
94
98
|
var addConditionGroupHandler = function addConditionGroupHandler() {
|
95
99
|
var newGroup = {
|
96
|
-
|
97
|
-
//'and|or',
|
98
|
-
statement: 'if',
|
100
|
+
statement: 'ifAll',
|
99
101
|
// 'if|exclude if',
|
102
|
+
groupOperator: 'and',
|
100
103
|
id: uuidv4(),
|
101
104
|
conditions: [{
|
102
105
|
property: undefined,
|
@@ -106,13 +109,13 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
|
106
109
|
id: uuidv4()
|
107
110
|
}]
|
108
111
|
};
|
109
|
-
setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
|
110
|
-
groups: [].concat(_toConsumableArray(rootState.groups), [newGroup])
|
112
|
+
setRootState === null || setRootState === void 0 || setRootState(_objectSpread2(_objectSpread2({}, rootState), {}, {
|
113
|
+
groups: rootState && rootState.groups ? [].concat(_toConsumableArray(rootState.groups), [newGroup]) : [newGroup]
|
111
114
|
}));
|
112
115
|
};
|
113
116
|
var getColorIndex = function getColorIndex() {
|
114
|
-
var _rootState$groups$len, _rootState$
|
115
|
-
var groupLength = (_rootState$groups$len = rootState === null || rootState === void 0 || (_rootState$
|
117
|
+
var _rootState$groups$len, _rootState$groups3;
|
118
|
+
var groupLength = (_rootState$groups$len = rootState === null || rootState === void 0 || (_rootState$groups3 = rootState.groups) === null || _rootState$groups3 === void 0 ? void 0 : _rootState$groups3.length) !== null && _rootState$groups$len !== void 0 ? _rootState$groups$len : 0;
|
116
119
|
return groupLength % 5;
|
117
120
|
};
|
118
121
|
if (!isConditionBuilderActive) {
|
@@ -133,8 +136,9 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
|
133
136
|
}, /*#__PURE__*/React__default.createElement(Heading, null, conditionHeadingText)), /*#__PURE__*/React__default.createElement("div", {
|
134
137
|
className: "".concat(blockClass, "__content-container"),
|
135
138
|
role: "treegrid",
|
136
|
-
"aria-label":
|
137
|
-
}, rootState && (rootState === null || rootState === void 0 || (_rootState$
|
139
|
+
"aria-label": conditionBuilderHierarchicalText
|
140
|
+
}, rootState && (rootState === null || rootState === void 0 || (_rootState$groups4 = rootState.groups) === null || _rootState$groups4 === void 0 ? void 0 : _rootState$groups4.map(function (eachGroup, groupIndex) {
|
141
|
+
var _ref2;
|
138
142
|
return /*#__PURE__*/React__default.createElement("div", {
|
139
143
|
key: eachGroup.id,
|
140
144
|
className: "".concat(blockClass, "__group-wrapper")
|
@@ -143,7 +147,7 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
|
143
147
|
aria: {
|
144
148
|
level: 1,
|
145
149
|
posinset: groupIndex * 2 + 1,
|
146
|
-
setsize: rootState.groups.length * 2
|
150
|
+
setsize: (_ref2 = rootState.groups && rootState.groups.length * 2) !== null && _ref2 !== void 0 ? _ref2 : 0
|
147
151
|
},
|
148
152
|
group: eachGroup,
|
149
153
|
onRemove: function onRemove() {
|
@@ -152,8 +156,8 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
|
152
156
|
onChange: function onChange(updatedGroup) {
|
153
157
|
onChangeHandler(updatedGroup, groupIndex);
|
154
158
|
}
|
155
|
-
}), groupIndex < rootState.groups.length - 1 && (_GroupConnector || (_GroupConnector = /*#__PURE__*/React__default.createElement(GroupConnector, null))));
|
156
|
-
})), variant ==
|
159
|
+
}), rootState.groups && groupIndex < rootState.groups.length - 1 && (_GroupConnector || (_GroupConnector = /*#__PURE__*/React__default.createElement(GroupConnector, null))));
|
160
|
+
})), variant == HIERARCHICAL_VARIANT && /*#__PURE__*/React__default.createElement("div", {
|
157
161
|
role: "row",
|
158
162
|
tabIndex: -1,
|
159
163
|
"aria-level": 1,
|
@@ -176,15 +180,14 @@ var ConditionBuilderContent = function ConditionBuilderContent(_ref) {
|
|
176
180
|
previewType: "newGroup",
|
177
181
|
colorIndex: getColorIndex(),
|
178
182
|
group: {
|
179
|
-
groupOperator: rootState.operator
|
183
|
+
groupOperator: rootState === null || rootState === void 0 ? void 0 : rootState.operator,
|
184
|
+
id: uuidv4()
|
180
185
|
}
|
181
186
|
})), actions && /*#__PURE__*/React__default.createElement(ConditionBuilderActions, {
|
182
187
|
actions: actions,
|
183
|
-
className: "".concat(blockClass, "__actions-container")
|
184
|
-
variant: variant
|
188
|
+
className: "".concat(blockClass, "__actions-container")
|
185
189
|
}));
|
186
190
|
};
|
187
|
-
var ConditionBuilderContent$1 = ConditionBuilderContent;
|
188
191
|
ConditionBuilderContent.propTypes = {
|
189
192
|
/**
|
190
193
|
* optional array of object that give the list of actions.
|
@@ -206,11 +209,11 @@ ConditionBuilderContent.propTypes = {
|
|
206
209
|
*/
|
207
210
|
initialState: PropTypes.shape({
|
208
211
|
groups: PropTypes.arrayOf(PropTypes.shape({
|
209
|
-
groupOperator: PropTypes.string
|
210
|
-
statement: PropTypes.string
|
212
|
+
groupOperator: PropTypes.string,
|
213
|
+
statement: PropTypes.string,
|
211
214
|
conditions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.shape({
|
212
|
-
property: PropTypes.string
|
213
|
-
operator: PropTypes.string
|
215
|
+
property: PropTypes.string,
|
216
|
+
operator: PropTypes.string,
|
214
217
|
value: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.shape({
|
215
218
|
id: PropTypes.string,
|
216
219
|
label: PropTypes.string
|
@@ -227,4 +230,4 @@ ConditionBuilderContent.propTypes = {
|
|
227
230
|
startConditionLabel: PropTypes.string.isRequired
|
228
231
|
};
|
229
232
|
|
230
|
-
export { ConditionBuilderContent
|
233
|
+
export { ConditionBuilderContent as default };
|