@hitachivantara/uikit-react-lab 3.51.7 → 3.52.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/QueryBuilder/Context.js +2 -1
- package/dist/QueryBuilder/Context.js.map +1 -1
- package/dist/QueryBuilder/QueryBuilder.d.ts +4 -0
- package/dist/QueryBuilder/QueryBuilder.js +11 -3
- package/dist/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/QueryBuilder/Rule/Attribute/Attribute.js +3 -1
- package/dist/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
- package/dist/QueryBuilder/Rule/Operator/Operator.js +3 -1
- package/dist/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
- package/dist/QueryBuilder/Rule/Rule.js +9 -5
- package/dist/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +3 -1
- package/dist/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +10 -5
- package/dist/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +8 -4
- package/dist/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/QueryBuilder/Rule/Value/TextValue/TextValue.js +4 -2
- package/dist/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
- package/dist/QueryBuilder/RuleGroup/RuleGroup.js +30 -12
- package/dist/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/QueryBuilder/RuleGroup/styles.js +3 -0
- package/dist/QueryBuilder/RuleGroup/styles.js.map +1 -1
- package/dist/legacy/QueryBuilder/Context.js +2 -1
- package/dist/legacy/QueryBuilder/Context.js.map +1 -1
- package/dist/legacy/QueryBuilder/QueryBuilder.d.ts +4 -0
- package/dist/legacy/QueryBuilder/QueryBuilder.js +11 -3
- package/dist/legacy/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Attribute/Attribute.js +3 -1
- package/dist/legacy/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Operator/Operator.js +3 -1
- package/dist/legacy/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Rule.js +9 -5
- package/dist/legacy/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +3 -1
- package/dist/legacy/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +10 -5
- package/dist/legacy/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +8 -4
- package/dist/legacy/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/legacy/QueryBuilder/Rule/Value/TextValue/TextValue.js +4 -2
- package/dist/legacy/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
- package/dist/legacy/QueryBuilder/RuleGroup/RuleGroup.js +28 -10
- package/dist/legacy/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/legacy/QueryBuilder/RuleGroup/styles.js +3 -0
- package/dist/legacy/QueryBuilder/RuleGroup/styles.js.map +1 -1
- package/dist/modern/QueryBuilder/Context.js +2 -1
- package/dist/modern/QueryBuilder/Context.js.map +1 -1
- package/dist/modern/QueryBuilder/QueryBuilder.d.ts +4 -0
- package/dist/modern/QueryBuilder/QueryBuilder.js +10 -3
- package/dist/modern/QueryBuilder/QueryBuilder.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Attribute/Attribute.js +3 -1
- package/dist/modern/QueryBuilder/Rule/Attribute/Attribute.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Operator/Operator.js +3 -1
- package/dist/modern/QueryBuilder/Rule/Operator/Operator.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Rule.js +9 -5
- package/dist/modern/QueryBuilder/Rule/Rule.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js +3 -1
- package/dist/modern/QueryBuilder/Rule/Value/BooleanValue/BooleanValue.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js +10 -5
- package/dist/modern/QueryBuilder/Rule/Value/DateTimeValue/DateTimeValue.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/NumericValue/NumericValue.js +8 -4
- package/dist/modern/QueryBuilder/Rule/Value/NumericValue/NumericValue.js.map +1 -1
- package/dist/modern/QueryBuilder/Rule/Value/TextValue/TextValue.js +4 -2
- package/dist/modern/QueryBuilder/Rule/Value/TextValue/TextValue.js.map +1 -1
- package/dist/modern/QueryBuilder/RuleGroup/RuleGroup.js +28 -10
- package/dist/modern/QueryBuilder/RuleGroup/RuleGroup.js.map +1 -1
- package/dist/modern/QueryBuilder/RuleGroup/styles.js +3 -0
- package/dist/modern/QueryBuilder/RuleGroup/styles.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _Info;
|
|
4
4
|
|
|
5
5
|
import "core-js/modules/es.array.map.js";
|
|
6
6
|
import "core-js/modules/es.object.to-string.js";
|
|
@@ -30,7 +30,8 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
30
30
|
askAction = context.askAction,
|
|
31
31
|
maxDepth = context.maxDepth,
|
|
32
32
|
combinators = context.combinators,
|
|
33
|
-
labels = context.labels
|
|
33
|
+
labels = context.labels,
|
|
34
|
+
readOnly = context.readOnly;
|
|
34
35
|
var normalizedMaxDepth = maxDepth - 1;
|
|
35
36
|
var actionButtons = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(HvButton, {
|
|
36
37
|
category: "secondary",
|
|
@@ -39,18 +40,27 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
39
40
|
type: "add-rule",
|
|
40
41
|
id: id
|
|
41
42
|
});
|
|
42
|
-
}
|
|
43
|
-
|
|
43
|
+
},
|
|
44
|
+
disabled: readOnly
|
|
45
|
+
}, /*#__PURE__*/React.createElement(Add, {
|
|
46
|
+
disabled: readOnly
|
|
47
|
+
}), level === 0 && ((_labels$query = labels.query) === null || _labels$query === void 0 ? void 0 : (_labels$query$addRule = _labels$query.addRule) === null || _labels$query$addRule === void 0 ? void 0 : _labels$query$addRule.label) != null ? (_labels$query2 = labels.query) === null || _labels$query2 === void 0 ? void 0 : (_labels$query2$addRul = _labels$query2.addRule) === null || _labels$query2$addRul === void 0 ? void 0 : _labels$query2$addRul.label : labels.group.addRule.label), level <= normalizedMaxDepth && /*#__PURE__*/React.createElement(HvButton, {
|
|
44
48
|
category: "secondary",
|
|
45
49
|
onClick: function onClick() {
|
|
46
50
|
dispatchAction({
|
|
47
51
|
type: "add-group",
|
|
48
52
|
id: id
|
|
49
53
|
});
|
|
50
|
-
}
|
|
51
|
-
|
|
54
|
+
},
|
|
55
|
+
disabled: readOnly
|
|
56
|
+
}, /*#__PURE__*/React.createElement(Add, {
|
|
57
|
+
disabled: readOnly
|
|
58
|
+
}), level === 0 && ((_labels$query3 = labels.query) === null || _labels$query3 === void 0 ? void 0 : (_labels$query3$addGro = _labels$query3.addGroup) === null || _labels$query3$addGro === void 0 ? void 0 : _labels$query3$addGro.label) != null ? (_labels$query4 = labels.query) === null || _labels$query4 === void 0 ? void 0 : (_labels$query4$addGro = _labels$query4.addGroup) === null || _labels$query4$addGro === void 0 ? void 0 : _labels$query4$addGro.label : labels.group.addGroup.label));
|
|
52
59
|
var DeleteIcon = withTooltip(function () {
|
|
53
|
-
return
|
|
60
|
+
return /*#__PURE__*/React.createElement(Delete, {
|
|
61
|
+
className: readOnly ? classes.topRemoveButtonDisabled : "",
|
|
62
|
+
disabled: readOnly
|
|
63
|
+
});
|
|
54
64
|
}, level === 0 && (_labels$query5 = labels.query) !== null && _labels$query5 !== void 0 && (_labels$query5$delete = _labels$query5.delete) !== null && _labels$query5$delete !== void 0 && _labels$query5$delete.tooltip ? (_labels$query6 = labels.query) === null || _labels$query6 === void 0 ? void 0 : (_labels$query6$delete = _labels$query6.delete) === null || _labels$query6$delete === void 0 ? void 0 : _labels$query6$delete.tooltip : labels.group.delete.tooltip, "top");
|
|
55
65
|
var onClickCombinator = useCallback(function (item) {
|
|
56
66
|
dispatchAction({
|
|
@@ -66,7 +76,8 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
66
76
|
}, /*#__PURE__*/React.createElement(HvGrid, {
|
|
67
77
|
item: true
|
|
68
78
|
}, /*#__PURE__*/React.createElement(HvMultiButton, {
|
|
69
|
-
className: clsx(classes.combinator, classes.topCombinator)
|
|
79
|
+
className: clsx(classes.combinator, classes.topCombinator),
|
|
80
|
+
disabled: readOnly
|
|
70
81
|
}, combinators.map(function (item) {
|
|
71
82
|
return /*#__PURE__*/React.createElement(HvButton, {
|
|
72
83
|
key: item.operand,
|
|
@@ -74,7 +85,8 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
74
85
|
selected: item.operand === combinator,
|
|
75
86
|
onClick: function onClick() {
|
|
76
87
|
return item.operand && onClickCombinator(item);
|
|
77
|
-
}
|
|
88
|
+
},
|
|
89
|
+
disabled: readOnly
|
|
78
90
|
}, item.label);
|
|
79
91
|
}))), /*#__PURE__*/React.createElement(HvGrid, {
|
|
80
92
|
item: true
|
|
@@ -92,7 +104,8 @@ var RuleGroup = function RuleGroup(_ref) {
|
|
|
92
104
|
dialog: level === 0 && ((_labels$query7 = labels.query) === null || _labels$query7 === void 0 ? void 0 : _labels$query7.delete) != null ? labels.query.delete : labels.group.delete
|
|
93
105
|
});
|
|
94
106
|
},
|
|
95
|
-
"aria-label": level === 0 && (_labels$query8 = labels.query) !== null && _labels$query8 !== void 0 && (_labels$query8$delete = _labels$query8.delete) !== null && _labels$query8$delete !== void 0 && _labels$query8$delete.ariaLabel ? (_labels$query9 = labels.query) === null || _labels$query9 === void 0 ? void 0 : (_labels$query9$delete = _labels$query9.delete) === null || _labels$query9$delete === void 0 ? void 0 : _labels$query9$delete.ariaLabel : labels.group.delete.ariaLabel
|
|
107
|
+
"aria-label": level === 0 && (_labels$query8 = labels.query) !== null && _labels$query8 !== void 0 && (_labels$query8$delete = _labels$query8.delete) !== null && _labels$query8$delete !== void 0 && _labels$query8$delete.ariaLabel ? (_labels$query9 = labels.query) === null || _labels$query9 === void 0 ? void 0 : (_labels$query9$delete = _labels$query9.delete) === null || _labels$query9$delete === void 0 ? void 0 : _labels$query9$delete.ariaLabel : labels.group.delete.ariaLabel,
|
|
108
|
+
disabled: readOnly
|
|
96
109
|
}, /*#__PURE__*/React.createElement(DeleteIcon, null)))), (rules === null || rules === void 0 ? void 0 : rules.length) > 0 && /*#__PURE__*/React.createElement("div", {
|
|
97
110
|
className: clsx(classes.rulesContainer, level > 0 && classes.subRulesContainer, level === 0 && "topRulesContainer")
|
|
98
111
|
}, rules.map(function (rule, index) {
|
|
@@ -210,6 +223,11 @@ process.env.NODE_ENV !== "production" ? RuleGroup.propTypes = {
|
|
|
210
223
|
*/
|
|
211
224
|
topRemoveButton: PropTypes.string,
|
|
212
225
|
|
|
226
|
+
/**
|
|
227
|
+
* Styles applied to the remove button on the top group when disabled.
|
|
228
|
+
*/
|
|
229
|
+
topRemoveButtonDisabled: PropTypes.string,
|
|
230
|
+
|
|
213
231
|
/**
|
|
214
232
|
* Styles applied to the rules container.
|
|
215
233
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuleGroup.js","names":["React","useCallback","useContext","clsx","withStyles","PropTypes","HvGrid","HvMultiButton","HvButton","HvEmptyState","HvTypography","withTooltip","Add","Delete","Info","Context","Rule","styles","RuleGroup","level","id","combinator","rules","classes","context","dispatchAction","askAction","maxDepth","combinators","labels","normalizedMaxDepth","actionButtons","type","query","addRule","label","group","addGroup","DeleteIcon","delete","tooltip","onClickCombinator","item","operand","root","topGroup","subGroup","topCombinator","map","combinatorButton","removeButton","topRemoveButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","rule","index","isInvalid","some","r","i","attribute","empty","title","cursor","textDecoration","createCondition","spacer","createGroup","actionButtonContainer","topActionButtonContainer","propTypes","shape","string","number","array","name"],"sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.js"],"sourcesContent":["import React, { useCallback, useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport {\n HvGrid,\n HvMultiButton,\n HvButton,\n HvEmptyState,\n HvTypography,\n withTooltip,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Rule from \"../Rule\";\nimport styles from \"./styles\";\n\nconst RuleGroup = ({ level = 0, id, combinator = \"and\", rules = [], classes }) => {\n const context = useContext(Context);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels } = context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n {level <= normalizedMaxDepth && (\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n >\n <Add />\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n )}\n </>\n );\n\n const DeleteIcon = withTooltip(\n () => <Delete />,\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <div\n className={clsx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level !== 0,\n })}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton className={clsx(classes.combinator, classes.topCombinator)}>\n {combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <HvButton\n icon\n className={clsx(classes.removeButton, classes.topRemoveButton)}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={clsx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n topRulesContainer: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id ?? index}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (r.attribute === rule.attribute && r.id !== rule.id && i < index) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id ?? index}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={clsx(classes.actionButtonContainer, classes.topActionButtonContainer)}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nRuleGroup.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n id: PropTypes.number,\n level: PropTypes.number,\n combinator: PropTypes.string,\n rules: PropTypes.array,\n};\n\nexport default withStyles(styles, { name: \"RuleGroup\" })(RuleGroup);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RuleGroup.js","names":["React","useCallback","useContext","clsx","withStyles","PropTypes","HvGrid","HvMultiButton","HvButton","HvEmptyState","HvTypography","withTooltip","Add","Delete","Info","Context","Rule","styles","RuleGroup","level","id","combinator","rules","classes","context","dispatchAction","askAction","maxDepth","combinators","labels","readOnly","normalizedMaxDepth","actionButtons","type","query","addRule","label","group","addGroup","DeleteIcon","topRemoveButtonDisabled","delete","tooltip","onClickCombinator","item","operand","root","topGroup","subGroup","topCombinator","map","combinatorButton","removeButton","topRemoveButton","actions","dialog","ariaLabel","length","rulesContainer","subRulesContainer","rule","index","isInvalid","some","r","i","attribute","empty","title","cursor","textDecoration","createCondition","spacer","createGroup","actionButtonContainer","topActionButtonContainer","propTypes","shape","string","number","array","name"],"sources":["../../../../src/QueryBuilder/RuleGroup/RuleGroup.js"],"sourcesContent":["import React, { useCallback, useContext } from \"react\";\nimport clsx from \"clsx\";\nimport { withStyles } from \"@material-ui/core\";\nimport PropTypes from \"prop-types\";\nimport {\n HvGrid,\n HvMultiButton,\n HvButton,\n HvEmptyState,\n HvTypography,\n withTooltip,\n} from \"@hitachivantara/uikit-react-core\";\nimport { Add, Delete, Info } from \"@hitachivantara/uikit-react-icons\";\n\nimport Context from \"../Context\";\nimport Rule from \"../Rule\";\nimport styles from \"./styles\";\n\nconst RuleGroup = ({ level = 0, id, combinator = \"and\", rules = [], classes }) => {\n const context = useContext(Context);\n\n const { dispatchAction, askAction, maxDepth, combinators, labels, readOnly } = context;\n const normalizedMaxDepth = maxDepth - 1;\n\n const actionButtons = (\n <>\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n disabled={readOnly}\n >\n <Add disabled={readOnly} />\n {level === 0 && labels.query?.addRule?.label != null\n ? labels.query?.addRule?.label\n : labels.group.addRule.label}\n </HvButton>\n {level <= normalizedMaxDepth && (\n <HvButton\n category=\"secondary\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n disabled={readOnly}\n >\n <Add disabled={readOnly} />\n {level === 0 && labels.query?.addGroup?.label != null\n ? labels.query?.addGroup?.label\n : labels.group.addGroup.label}\n </HvButton>\n )}\n </>\n );\n\n const DeleteIcon = withTooltip(\n () => (\n <Delete className={readOnly ? classes.topRemoveButtonDisabled : \"\"} disabled={readOnly} />\n ),\n level === 0 && labels.query?.delete?.tooltip\n ? labels.query?.delete?.tooltip\n : labels.group.delete.tooltip,\n \"top\"\n );\n\n const onClickCombinator = useCallback(\n (item) => {\n dispatchAction({\n type: \"set-combinator\",\n id,\n combinator: item.operand,\n });\n },\n [dispatchAction, id]\n );\n\n return (\n <div\n className={clsx(classes.root, {\n [classes.topGroup]: level === 0,\n [classes.subGroup]: level !== 0,\n })}\n >\n <HvGrid container>\n <HvGrid item>\n <HvMultiButton\n className={clsx(classes.combinator, classes.topCombinator)}\n disabled={readOnly}\n >\n {combinators.map((item) => (\n <HvButton\n key={item.operand}\n className={classes.combinatorButton}\n selected={item.operand === combinator}\n onClick={() => item.operand && onClickCombinator(item)}\n disabled={readOnly}\n >\n {item.label}\n </HvButton>\n ))}\n </HvMultiButton>\n </HvGrid>\n <HvGrid item>\n <HvButton\n icon\n className={clsx(classes.removeButton, classes.topRemoveButton)}\n onClick={() => {\n askAction({\n actions: [{ type: \"remove-node\", id }],\n dialog:\n level === 0 && labels.query?.delete != null\n ? labels.query.delete\n : labels.group.delete,\n });\n }}\n aria-label={\n level === 0 && labels.query?.delete?.ariaLabel\n ? labels.query?.delete?.ariaLabel\n : labels.group.delete.ariaLabel\n }\n disabled={readOnly}\n >\n <DeleteIcon />\n </HvButton>\n </HvGrid>\n </HvGrid>\n {rules?.length > 0 && (\n <div\n className={clsx(classes.rulesContainer, {\n [classes.subRulesContainer]: level > 0,\n topRulesContainer: level === 0,\n })}\n >\n {rules.map((rule, index) => {\n if (\"combinator\" in rule) {\n return (\n <RuleGroup\n key={rule.id ?? index}\n level={level + 1}\n {...rule}\n id={rule.id}\n classes={classes}\n />\n );\n }\n\n const isInvalid =\n combinator === \"and\" &&\n rules.some((r, i) => {\n if (\"attribute\" in r) {\n if (r.attribute === rule.attribute && r.id !== rule.id && i < index) {\n return true;\n }\n }\n return false;\n });\n\n return (\n <Rule\n key={rule.id ?? index}\n {...rule}\n isInvalid={isInvalid}\n id={rule.id}\n combinator={combinator}\n />\n );\n })}\n </div>\n )}\n {rules?.length === 0 && (\n <HvEmptyState\n title={labels.empty?.title}\n message={\n <>\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-rule\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createCondition}`}\n </HvTypography>\n {level <= normalizedMaxDepth && (\n <>\n {`${labels.empty?.spacer}`}\n <HvTypography\n variant=\"link\"\n component=\"a\"\n onClick={() => {\n dispatchAction({ type: \"add-group\", id });\n }}\n style={{ cursor: \"pointer\", textDecoration: \"underline\" }}\n >\n {`${labels.empty?.createGroup}`}\n </HvTypography>\n </>\n )}\n </>\n }\n icon={<Info />}\n />\n )}\n <HvGrid container>\n <HvGrid\n item\n className={clsx(classes.actionButtonContainer, classes.topActionButtonContainer)}\n >\n {actionButtons}\n </HvGrid>\n </HvGrid>\n </div>\n );\n};\n\nRuleGroup.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group when disabled.\n */\n topRemoveButtonDisabled: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n id: PropTypes.number,\n level: PropTypes.number,\n combinator: PropTypes.string,\n rules: PropTypes.array,\n};\n\nexport default withStyles(styles, { name: \"RuleGroup\" })(RuleGroup);\n"],"mappings":"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"}
|
|
@@ -67,6 +67,9 @@ var styles = function styles(theme) {
|
|
|
67
67
|
right: -16,
|
|
68
68
|
backgroundColor: theme.hv.palette.atmosphere.atmo2
|
|
69
69
|
},
|
|
70
|
+
topRemoveButtonDisabled: {
|
|
71
|
+
backgroundColor: theme.hv.palette.atmosphere.atmo2
|
|
72
|
+
},
|
|
70
73
|
rulesContainer: {},
|
|
71
74
|
subRulesContainer: {
|
|
72
75
|
borderLeft: "1px solid ".concat(theme.hv.palette.atmosphere.atmo4),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","names":["styles","theme","root","position","padding","hv","spacing","sm","marginTop","marginBottom","border","palette","atmosphere","atmo4","subGroup","margin","minHeight","paddingBottom","content","zIndex","width","height","borderBottom","borderLeft","top","left","topGroup","backgroundColor","maxWidth","minWidth","combinator","topCombinator","combinatorButton","actionButtonContainer","marginLeft","topActionButtonContainer","bottom","md","right","removeButton","topRemoveButton","atmo2","rulesContainer","subRulesContainer","paddingLeft","paddingTop"],"sources":["../../../../src/QueryBuilder/RuleGroup/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n position: \"relative\",\n padding: theme.hv.spacing.sm,\n\n marginTop: 12,\n marginBottom: 32,\n\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n subGroup: {\n margin: \"40px 14px 32px 20px\",\n minHeight: 120,\n paddingBottom: 60,\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: 21,\n height: 36,\n\n borderBottom: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n borderLeft: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n top: -38,\n left: -42,\n },\n \":not(.topRulesContainer)>&:last-child::after\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: 32,\n height: \"100%\",\n\n borderLeft: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n top: 0,\n left: -22,\n },\n },\n topGroup: {\n margin: theme.hv.spacing.sm,\n backgroundColor: \"transparent\",\n maxWidth: \"100%\",\n minWidth: 740,\n\n paddingBottom: theme.hv.spacing.sm * 3,\n },\n\n combinator: {\n minWidth: 80,\n },\n topCombinator: {\n position: \"absolute\",\n top: -theme.hv.spacing.sm,\n left: -theme.hv.spacing.sm,\n },\n\n combinatorButton: {},\n\n actionButtonContainer: {\n marginLeft: \"auto\",\n\n \"&>*\": {\n marginLeft: theme.hv.spacing.sm,\n },\n },\n topActionButtonContainer: {\n position: \"absolute\",\n bottom: -theme.hv.spacing.md,\n right: theme.hv.spacing.sm,\n },\n\n removeButton: {},\n topRemoveButton: {\n position: \"absolute\",\n top: -16,\n right: -16,\n backgroundColor: theme.hv.palette.atmosphere.atmo2,\n },\n\n rulesContainer: {},\n\n subRulesContainer: {\n borderLeft: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n marginLeft: theme.hv.spacing.sm,\n marginBottom: theme.hv.spacing.md,\n paddingLeft: theme.hv.spacing.sm,\n\n paddingTop: 7,\n\n position: \"relative\",\n left: -41,\n\n width: \"100%\",\n },\n});\n\nexport default styles;\n"],"mappings":"AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;EAAA,OAAY;IACzBC,IAAI,EAAE;MACJC,QAAQ,EAAE,UADN;MAEJC,OAAO,EAAEH,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAFtB;MAIJC,SAAS,EAAE,EAJP;MAKJC,YAAY,EAAE,EALV;MAOJC,MAAM,sBAAeT,KAAK,CAACI,EAAN,CAASM,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C;IAPF,CADmB;IAUzBC,QAAQ,EAAE;MACRC,MAAM,EAAE,qBADA;MAERC,SAAS,EAAE,GAFH;MAGRC,aAAa,EAAE,EAHP;MAKR,aAAa;QACXC,OAAO,EAAE,IADE;QAEXf,QAAQ,EAAE,UAFC;QAGXgB,MAAM,EAAE,CAHG;QAKXC,KAAK,EAAE,EALI;QAMXC,MAAM,EAAE,EANG;QAQXC,YAAY,sBAAerB,KAAK,CAACI,EAAN,CAASM,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CARD;QASXU,UAAU,sBAAetB,KAAK,CAACI,EAAN,CAASM,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CATC;QAWXW,GAAG,EAAE,CAAC,EAXK;QAYXC,IAAI,EAAE,CAAC;MAZI,CALL;MAmBR,gDAAgD;QAC9CP,OAAO,EAAE,IADqC;QAE9Cf,QAAQ,EAAE,UAFoC;QAG9CgB,MAAM,EAAE,CAHsC;QAK9CC,KAAK,EAAE,EALuC;QAM9CC,MAAM,EAAE,MANsC;QAQ9CE,UAAU,sBAAetB,KAAK,CAACI,EAAN,CAASM,OAAT,CAAiBC,UAAjB,CAA4BC,KAA3C,CARoC;QAU9CW,GAAG,EAAE,CAVyC;QAW9CC,IAAI,EAAE,CAAC;MAXuC;IAnBxC,CAVe;IA2CzBC,QAAQ,EAAE;MACRX,MAAM,EAAEd,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EADjB;MAERoB,eAAe,EAAE,aAFT;MAGRC,QAAQ,EAAE,MAHF;MAIRC,QAAQ,EAAE,GAJF;MAMRZ,aAAa,EAAEhB,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAAjB,GAAsB;IAN7B,CA3Ce;IAoDzBuB,UAAU,EAAE;MACVD,QAAQ,EAAE;IADA,CApDa;IAuDzBE,aAAa,EAAE;MACb5B,QAAQ,EAAE,UADG;MAEbqB,GAAG,EAAE,CAACvB,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC,EAFV;MAGbkB,IAAI,EAAE,CAACxB,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC;IAHX,CAvDU;IA6DzByB,gBAAgB,EAAE,EA7DO;IA+DzBC,qBAAqB,EAAE;MACrBC,UAAU,EAAE,MADS;MAGrB,OAAO;QACLA,UAAU,EAAEjC,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC;MADxB;IAHc,CA/DE;IAsEzB4B,wBAAwB,EAAE;MACxBhC,QAAQ,EAAE,UADc;MAExBiC,MAAM,EAAE,CAACnC,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiB+B,EAFF;MAGxBC,KAAK,EAAErC,KAAK,CAACI,EAAN,CAASC,OAAT,CAAiBC;IAHA,CAtED;IA4EzBgC,YAAY,EAAE,EA5EW;IA6EzBC,eAAe,EAAE;MACfrC,QAAQ,EAAE,UADK;MAEfqB,GAAG,EAAE,CAAC,EAFS;MAGfc,KAAK,EAAE,CAAC,EAHO;MAIfX,eAAe,EAAE1B,KAAK,CAACI,EAAN,CAASM,OAAT,CAAiBC,UAAjB,CAA4B6B;IAJ9B,CA7EQ;IAoFzBC,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"styles.js","names":["styles","theme","root","position","padding","hv","spacing","sm","marginTop","marginBottom","border","palette","atmosphere","atmo4","subGroup","margin","minHeight","paddingBottom","content","zIndex","width","height","borderBottom","borderLeft","top","left","topGroup","backgroundColor","maxWidth","minWidth","combinator","topCombinator","combinatorButton","actionButtonContainer","marginLeft","topActionButtonContainer","bottom","md","right","removeButton","topRemoveButton","atmo2","topRemoveButtonDisabled","rulesContainer","subRulesContainer","paddingLeft","paddingTop"],"sources":["../../../../src/QueryBuilder/RuleGroup/styles.js"],"sourcesContent":["const styles = (theme) => ({\n root: {\n position: \"relative\",\n padding: theme.hv.spacing.sm,\n\n marginTop: 12,\n marginBottom: 32,\n\n border: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n },\n subGroup: {\n margin: \"40px 14px 32px 20px\",\n minHeight: 120,\n paddingBottom: 60,\n\n \"&::before\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 2,\n\n width: 21,\n height: 36,\n\n borderBottom: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n borderLeft: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n top: -38,\n left: -42,\n },\n \":not(.topRulesContainer)>&:last-child::after\": {\n content: '\"\"',\n position: \"absolute\",\n zIndex: 1,\n\n width: 32,\n height: \"100%\",\n\n borderLeft: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n top: 0,\n left: -22,\n },\n },\n topGroup: {\n margin: theme.hv.spacing.sm,\n backgroundColor: \"transparent\",\n maxWidth: \"100%\",\n minWidth: 740,\n\n paddingBottom: theme.hv.spacing.sm * 3,\n },\n\n combinator: {\n minWidth: 80,\n },\n topCombinator: {\n position: \"absolute\",\n top: -theme.hv.spacing.sm,\n left: -theme.hv.spacing.sm,\n },\n\n combinatorButton: {},\n\n actionButtonContainer: {\n marginLeft: \"auto\",\n\n \"&>*\": {\n marginLeft: theme.hv.spacing.sm,\n },\n },\n topActionButtonContainer: {\n position: \"absolute\",\n bottom: -theme.hv.spacing.md,\n right: theme.hv.spacing.sm,\n },\n\n removeButton: {},\n topRemoveButton: {\n position: \"absolute\",\n top: -16,\n right: -16,\n backgroundColor: theme.hv.palette.atmosphere.atmo2,\n },\n\n topRemoveButtonDisabled: {\n backgroundColor: theme.hv.palette.atmosphere.atmo2,\n },\n\n rulesContainer: {},\n\n subRulesContainer: {\n borderLeft: `1px solid ${theme.hv.palette.atmosphere.atmo4}`,\n\n marginLeft: theme.hv.spacing.sm,\n marginBottom: theme.hv.spacing.md,\n paddingLeft: theme.hv.spacing.sm,\n\n paddingTop: 7,\n\n position: \"relative\",\n left: -41,\n\n width: \"100%\",\n },\n});\n\nexport default styles;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Context.js","names":["createContext","defaultOperators","numeric","operator","label","combinators","text","textarea","boolean","dateandtime","defaultCombinators","operand","defaultLabels","query","delete","ariaLabel","tooltip","dialogTitle","dialogMessage","dialogConfirm","dialogCancel","dialogCloseTooltip","rule","attribute","placeholder","exists","value","distance","connectorText","button","validation","required","invalid","options","true","false","equal","greaterThan","range","leftLabel","rightLabel","datetime","dateLabel","datePlaceholder","timeLabel","timePlaceholder","startDateLabel","startDatePlaceholder","startTimeLabel","startTimePlaceholder","endDateLabel","endDatePlaceholder","endTimeLabel","endTimePlaceholder","invalidInterval","group","reset","addRule","addGroup","empty","title","createCondition","createGroup","spacer","dispatchAction","askAction","selectLocation","attributes","operators","maxDepth","labels","initialTouched"],"sources":["../../../src/QueryBuilder/Context.js"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const defaultOperators = {\n numeric: [\n {\n operator: \"greaterThan\",\n label: \"Greater than (>)\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThan\",\n label: \"Less than (<)\",\n combinators: [\"and\"],\n },\n {\n operator: \"equalsTo\",\n label: \"Equal to (=)\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"greaterThanEq\",\n label: \"Greater than or equal to (>=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThanEq\",\n label: \"Less than or equal to (<=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"notEqual\",\n label: \"Not equal to (!=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"range\",\n label: \"Range\",\n combinators: [\"and\"],\n },\n ],\n text: [\n {\n operator: \"equals\",\n label: \"Equals\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"equalsIgnoreCase\",\n label: \"Equals Ignore Case\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"Contains\",\n label: \"Contains\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"StartsWith\",\n label: \"A string begins with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"EndsWith\",\n label: \"A string ends with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"IsNotEmpty\",\n label: \"Is Not empty\",\n combinators: [\"and\"],\n },\n {\n operator: \"IsNot\",\n label: \"Is Not\",\n combinators: [\"and\"],\n },\n {\n operator: \"Empty\",\n label: \"Empty\",\n combinators: [\"and\"],\n },\n ],\n textarea: [\n {\n operator: \"equals\",\n label: \"Equals\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"equalsIgnoreCase\",\n label: \"Equals Ignore Case\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"Contains\",\n label: \"Contains\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"StartsWith\",\n label: \"A string begins with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"EndsWith\",\n label: \"A string ends with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"IsNotEmpty\",\n label: \"Is Not empty\",\n combinators: [\"and\"],\n },\n {\n operator: \"IsNot\",\n label: \"Is Not\",\n combinators: [\"and\"],\n },\n {\n operator: \"Empty\",\n label: \"Empty\",\n combinators: [\"and\"],\n },\n ],\n boolean: [\n {\n operator: \"equalsTo\",\n label: \"=\",\n combinators: [\"and\", \"or\"],\n },\n ],\n dateandtime: [\n {\n operator: \"greaterThan\",\n label: \"Greater than\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThan\",\n label: \"Less than\",\n combinators: [\"and\"],\n },\n {\n operator: \"equalsTo\",\n label: \"Equal to\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"greaterThanEq\",\n label: \"Greater than or equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThanEq\",\n label: \"Less than or equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"notEqual\",\n label: \"Not equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"range\",\n label: \"Range\",\n combinators: [\"and\"],\n },\n ],\n};\n\nexport const defaultCombinators = [\n { operand: \"and\", label: \"AND\" },\n { operand: \"or\", label: \"OR\" },\n];\n\nexport const defaultLabels = {\n query: {\n delete: {\n ariaLabel: \"Reset query\",\n tooltip: \"Reset query\",\n dialogTitle: \"Remove all conditions?\",\n dialogMessage:\n \"Are you sure you want to remove all the conditions? They will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n },\n rule: {\n attribute: {\n label: \"Attribute\",\n placeholder: \"Select attribute...\",\n exists: \"Attribute already exists.\",\n },\n operator: {\n label: \"Operator\",\n placeholder: \"Select operator...\",\n },\n value: {\n distance: {\n label: \"Value\",\n connectorText: \"radius miles from\",\n button: \"Select location\",\n validation: {\n required: \"The value is required.\",\n invalid: \"Value must be a positive number.\",\n },\n },\n text: {\n label: \"Value\",\n placeholder: \"Enter value...\",\n validation: {\n required: \"The value is required.\",\n },\n },\n boolean: {\n label: \"Value\",\n placeholder: \"Enter value\",\n options: {\n true: \"True\",\n false: \"False\",\n },\n },\n numeric: {\n label: \"Value\",\n placeholder: \"Enter value\",\n validation: {\n required: \"The value is required.\",\n invalid: \"Value must be a number.\",\n equal: \"Cannot be equal.\",\n greaterThan: \"Needs to be greater.\",\n },\n range: {\n leftLabel: \"From\",\n rightLabel: \"To\",\n },\n },\n datetime: {\n dateLabel: \"Date\",\n datePlaceholder: \"Select Date\",\n timeLabel: \"Time\",\n timePlaceholder: \"Select Time\",\n startDateLabel: \"Start Date\",\n startDatePlaceholder: \"Select Start Date\",\n startTimeLabel: \"Start Time\",\n startTimePlaceholder: \"Select Start Time\",\n endDateLabel: \"End Date\",\n endDatePlaceholder: \"Select End Date\",\n endTimeLabel: \"End Time\",\n endTimePlaceholder: \"Select End Time\",\n validation: {\n required: \"The value is required.\",\n invalidInterval: \"End date and time must be after start date and time.\",\n },\n },\n },\n delete: {\n ariaLabel: \"Remove condition\",\n tooltip: \"Remove condition\",\n dialogTitle: \"Remove condition?\",\n dialogMessage:\n \"Are you sure you want to remove the condition? It will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n },\n group: {\n delete: {\n ariaLabel: \"Remove group\",\n tooltip: \"Remove group\",\n dialogTitle: \"Remove group?\",\n dialogMessage: \"Are you sure you want to remove the group? It will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n reset: {\n ariaLabel: \"Change operator\",\n tooltip: \"Change operator query\",\n dialogTitle: \"Change conditional operator?\",\n dialogMessage:\n \"Do you want to change conditional operator? You won't be able to undo this operation. Conditions and/or groups will be removed.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n addRule: {\n label: \"Add condition\",\n },\n addGroup: {\n label: \"Add group\",\n },\n },\n empty: {\n title: \"No conditions created yet\",\n createCondition: \"Create a condition\",\n createGroup: \"condition group\",\n spacer: \" or a \",\n },\n};\n\nexport default createContext({\n dispatchAction: () => ({}),\n askAction: () => ({}),\n selectLocation: () => ({}),\n attributes: {},\n operators: defaultOperators,\n combinators: defaultCombinators,\n maxDepth: 1,\n labels: defaultLabels,\n initialTouched: false,\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Context.js","names":["createContext","defaultOperators","numeric","operator","label","combinators","text","textarea","boolean","dateandtime","defaultCombinators","operand","defaultLabels","query","delete","ariaLabel","tooltip","dialogTitle","dialogMessage","dialogConfirm","dialogCancel","dialogCloseTooltip","rule","attribute","placeholder","exists","value","distance","connectorText","button","validation","required","invalid","options","true","false","equal","greaterThan","range","leftLabel","rightLabel","datetime","dateLabel","datePlaceholder","timeLabel","timePlaceholder","startDateLabel","startDatePlaceholder","startTimeLabel","startTimePlaceholder","endDateLabel","endDatePlaceholder","endTimeLabel","endTimePlaceholder","invalidInterval","group","reset","addRule","addGroup","empty","title","createCondition","createGroup","spacer","dispatchAction","askAction","selectLocation","attributes","operators","maxDepth","labels","initialTouched","readOnly"],"sources":["../../../src/QueryBuilder/Context.js"],"sourcesContent":["import { createContext } from \"react\";\n\nexport const defaultOperators = {\n numeric: [\n {\n operator: \"greaterThan\",\n label: \"Greater than (>)\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThan\",\n label: \"Less than (<)\",\n combinators: [\"and\"],\n },\n {\n operator: \"equalsTo\",\n label: \"Equal to (=)\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"greaterThanEq\",\n label: \"Greater than or equal to (>=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThanEq\",\n label: \"Less than or equal to (<=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"notEqual\",\n label: \"Not equal to (!=)\",\n combinators: [\"and\"],\n },\n {\n operator: \"range\",\n label: \"Range\",\n combinators: [\"and\"],\n },\n ],\n text: [\n {\n operator: \"equals\",\n label: \"Equals\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"equalsIgnoreCase\",\n label: \"Equals Ignore Case\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"Contains\",\n label: \"Contains\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"StartsWith\",\n label: \"A string begins with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"EndsWith\",\n label: \"A string ends with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"IsNotEmpty\",\n label: \"Is Not empty\",\n combinators: [\"and\"],\n },\n {\n operator: \"IsNot\",\n label: \"Is Not\",\n combinators: [\"and\"],\n },\n {\n operator: \"Empty\",\n label: \"Empty\",\n combinators: [\"and\"],\n },\n ],\n textarea: [\n {\n operator: \"equals\",\n label: \"Equals\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"equalsIgnoreCase\",\n label: \"Equals Ignore Case\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"Contains\",\n label: \"Contains\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"StartsWith\",\n label: \"A string begins with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"EndsWith\",\n label: \"A string ends with\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"IsNotEmpty\",\n label: \"Is Not empty\",\n combinators: [\"and\"],\n },\n {\n operator: \"IsNot\",\n label: \"Is Not\",\n combinators: [\"and\"],\n },\n {\n operator: \"Empty\",\n label: \"Empty\",\n combinators: [\"and\"],\n },\n ],\n boolean: [\n {\n operator: \"equalsTo\",\n label: \"=\",\n combinators: [\"and\", \"or\"],\n },\n ],\n dateandtime: [\n {\n operator: \"greaterThan\",\n label: \"Greater than\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThan\",\n label: \"Less than\",\n combinators: [\"and\"],\n },\n {\n operator: \"equalsTo\",\n label: \"Equal to\",\n combinators: [\"and\", \"or\"],\n },\n {\n operator: \"greaterThanEq\",\n label: \"Greater than or equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"lessThanEq\",\n label: \"Less than or equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"notEqual\",\n label: \"Not equal to\",\n combinators: [\"and\"],\n },\n {\n operator: \"range\",\n label: \"Range\",\n combinators: [\"and\"],\n },\n ],\n};\n\nexport const defaultCombinators = [\n { operand: \"and\", label: \"AND\" },\n { operand: \"or\", label: \"OR\" },\n];\n\nexport const defaultLabels = {\n query: {\n delete: {\n ariaLabel: \"Reset query\",\n tooltip: \"Reset query\",\n dialogTitle: \"Remove all conditions?\",\n dialogMessage:\n \"Are you sure you want to remove all the conditions? They will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n },\n rule: {\n attribute: {\n label: \"Attribute\",\n placeholder: \"Select attribute...\",\n exists: \"Attribute already exists.\",\n },\n operator: {\n label: \"Operator\",\n placeholder: \"Select operator...\",\n },\n value: {\n distance: {\n label: \"Value\",\n connectorText: \"radius miles from\",\n button: \"Select location\",\n validation: {\n required: \"The value is required.\",\n invalid: \"Value must be a positive number.\",\n },\n },\n text: {\n label: \"Value\",\n placeholder: \"Enter value...\",\n validation: {\n required: \"The value is required.\",\n },\n },\n boolean: {\n label: \"Value\",\n placeholder: \"Enter value\",\n options: {\n true: \"True\",\n false: \"False\",\n },\n },\n numeric: {\n label: \"Value\",\n placeholder: \"Enter value\",\n validation: {\n required: \"The value is required.\",\n invalid: \"Value must be a number.\",\n equal: \"Cannot be equal.\",\n greaterThan: \"Needs to be greater.\",\n },\n range: {\n leftLabel: \"From\",\n rightLabel: \"To\",\n },\n },\n datetime: {\n dateLabel: \"Date\",\n datePlaceholder: \"Select Date\",\n timeLabel: \"Time\",\n timePlaceholder: \"Select Time\",\n startDateLabel: \"Start Date\",\n startDatePlaceholder: \"Select Start Date\",\n startTimeLabel: \"Start Time\",\n startTimePlaceholder: \"Select Start Time\",\n endDateLabel: \"End Date\",\n endDatePlaceholder: \"Select End Date\",\n endTimeLabel: \"End Time\",\n endTimePlaceholder: \"Select End Time\",\n validation: {\n required: \"The value is required.\",\n invalidInterval: \"End date and time must be after start date and time.\",\n },\n },\n },\n delete: {\n ariaLabel: \"Remove condition\",\n tooltip: \"Remove condition\",\n dialogTitle: \"Remove condition?\",\n dialogMessage:\n \"Are you sure you want to remove the condition? It will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n },\n group: {\n delete: {\n ariaLabel: \"Remove group\",\n tooltip: \"Remove group\",\n dialogTitle: \"Remove group?\",\n dialogMessage: \"Are you sure you want to remove the group? It will be removed permanently.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n reset: {\n ariaLabel: \"Change operator\",\n tooltip: \"Change operator query\",\n dialogTitle: \"Change conditional operator?\",\n dialogMessage:\n \"Do you want to change conditional operator? You won't be able to undo this operation. Conditions and/or groups will be removed.\",\n dialogConfirm: \"Yes\",\n dialogCancel: \"No\",\n dialogCloseTooltip: \"Close\",\n },\n addRule: {\n label: \"Add condition\",\n },\n addGroup: {\n label: \"Add group\",\n },\n },\n empty: {\n title: \"No conditions created yet\",\n createCondition: \"Create a condition\",\n createGroup: \"condition group\",\n spacer: \" or a \",\n },\n};\n\nexport default createContext({\n dispatchAction: () => ({}),\n askAction: () => ({}),\n selectLocation: () => ({}),\n attributes: {},\n operators: defaultOperators,\n combinators: defaultCombinators,\n maxDepth: 1,\n labels: defaultLabels,\n initialTouched: false,\n readOnly: false,\n});\n"],"mappings":"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"}
|
|
@@ -48,6 +48,10 @@ export interface HvQueryBuilderProps
|
|
|
48
48
|
* An object containing all the labels.
|
|
49
49
|
*/
|
|
50
50
|
labels?: QueryBuilderLabels;
|
|
51
|
+
/**
|
|
52
|
+
* A flag indicating if the Query Builder is in read only mode.
|
|
53
|
+
*/
|
|
54
|
+
readOnly?: boolean;
|
|
51
55
|
}
|
|
52
56
|
|
|
53
57
|
export default function HvQueryBuilder(props: HvQueryBuilderProps): JSX.Element | null;
|
|
@@ -25,6 +25,7 @@ const HvQueryBuilder = ({
|
|
|
25
25
|
combinators,
|
|
26
26
|
maxDepth = 1,
|
|
27
27
|
labels,
|
|
28
|
+
readOnly = false,
|
|
28
29
|
classes
|
|
29
30
|
}) => {
|
|
30
31
|
const [pendingAction, askAction] = useState();
|
|
@@ -41,8 +42,9 @@ const HvQueryBuilder = ({
|
|
|
41
42
|
combinators: combinators !== null && combinators !== void 0 ? combinators : defaultcontext.combinators,
|
|
42
43
|
maxDepth: maxDepth !== null && maxDepth !== void 0 ? maxDepth : defaultcontext.maxDepth,
|
|
43
44
|
labels: labels !== null && labels !== void 0 ? labels : defaultcontext.labels,
|
|
44
|
-
initialTouched: initialState
|
|
45
|
-
|
|
45
|
+
initialTouched: initialState,
|
|
46
|
+
readOnly
|
|
47
|
+
}), [attributes, operators, defaultcontext.operators, defaultcontext.combinators, defaultcontext.maxDepth, defaultcontext.labels, combinators, maxDepth, labels, readOnly, initialState]);
|
|
46
48
|
useEffect(() => {
|
|
47
49
|
if (currentAttributes.current == null) {
|
|
48
50
|
// first run, nothing to do
|
|
@@ -216,7 +218,12 @@ process.env.NODE_ENV !== "production" ? HvQueryBuilder.propTypes = {
|
|
|
216
218
|
/**
|
|
217
219
|
* An object containing all the labels.
|
|
218
220
|
*/
|
|
219
|
-
labels: PropTypes.instanceOf(Object)
|
|
221
|
+
labels: PropTypes.instanceOf(Object),
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* A flag indicating if the Query Builder is in read only mode.
|
|
225
|
+
*/
|
|
226
|
+
readOnly: PropTypes.bool
|
|
220
227
|
} : void 0;
|
|
221
228
|
export default withStyles(styles, {
|
|
222
229
|
name: "HvQueryBuilder"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilder.js","names":["React","useEffect","useMemo","useReducer","useRef","useState","useContext","PropTypes","isEqual","cloneDeep","withStyles","Context","RuleGroup","ConfirmationDialog","emptyGroup","clearNodeIds","reducer","styles","HvQueryBuilder","attributes","query","onChange","operators","combinators","maxDepth","labels","classes","pendingAction","askAction","currentAttributes","state","dispatchAction","initialState","prevState","setPrevState","defaultcontext","context","initialTouched","current","type","onConfirmHandler","undefined","actions","forEach","action","onCancelHandler","id","combinator","rules","dialog","dialogTitle","dialogMessage","dialogConfirm","dialogCancel","dialogCloseTooltip","propTypes","shape","root","string","topGroup","subGroup","topCombinator","combinatorButton","removeButton","topRemoveButton","rulesContainer","subRulesContainer","actionButtonContainer","topActionButtonContainer","key","number","label","isRequired","value","any","order","arrayOf","operator","operand","attribute","func","instanceOf","Object","name"],"sources":["../../../src/QueryBuilder/QueryBuilder.js"],"sourcesContent":["import React, { useEffect, useMemo, useReducer, useRef, useState, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isEqual from \"lodash/isEqual\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport Context from \"./Context\";\nimport RuleGroup from \"./RuleGroup\";\nimport ConfirmationDialog from \"./ConfirmationDialog\";\nimport { emptyGroup, clearNodeIds } from \"./utils\";\nimport reducer from \"./utils/reducer\";\nimport styles from \"./styles\";\n\n/**\n * **HvQueryBuilder** component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * **PLEASE NOTE**: This component implementation is still a WIP. There might be breaking changes.\n */\nconst HvQueryBuilder = ({\n attributes = [],\n query,\n onChange,\n operators,\n combinators,\n maxDepth = 1,\n labels,\n classes,\n}) => {\n const [pendingAction, askAction] = useState();\n const currentAttributes = useRef();\n const [state, dispatchAction] = useReducer(\n reducer,\n query,\n (initialState) => initialState || emptyGroup()\n );\n\n const initialState = query === state;\n const [prevState, setPrevState] = useState();\n\n const defaultcontext = useContext(Context);\n\n const context = useMemo(\n () => ({\n dispatchAction,\n askAction,\n attributes,\n operators: operators ?? defaultcontext.operators,\n combinators: combinators ?? defaultcontext.combinators,\n maxDepth: maxDepth ?? defaultcontext.maxDepth,\n labels: labels ?? defaultcontext.labels,\n initialTouched: initialState,\n }),\n [\n attributes,\n operators,\n defaultcontext.operators,\n defaultcontext.combinators,\n defaultcontext.maxDepth,\n defaultcontext.labels,\n combinators,\n maxDepth,\n labels,\n initialState,\n ]\n );\n\n useEffect(() => {\n if (currentAttributes.current == null) {\n // first run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // attributes changed, the existing query is almost certain invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n // Propagate the change if the query is modified.\n useEffect(() => {\n if (!initialState && !isEqual(state, prevState)) {\n onChange?.(clearNodeIds(state));\n setPrevState(cloneDeep(state));\n }\n }, [state, prevState, initialState, onChange]);\n\n const onConfirmHandler = () => {\n if (pendingAction) {\n askAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const onCancelHandler = () => {\n askAction(undefined);\n };\n\n return (\n <Context.Provider value={context}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={onConfirmHandler}\n onCancel={onCancelHandler}\n title={pendingAction?.dialog.dialogTitle || \"\"}\n message={pendingAction?.dialog.dialogMessage || \"\"}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm || \"\"}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel || \"\"}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip || \"\"}\n />\n </Context.Provider>\n );\n};\n\nHvQueryBuilder.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n attributes: PropTypes.shape({\n key: PropTypes.shape({\n id: PropTypes.number,\n label: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.any,\n order: PropTypes.number,\n }),\n }).isRequired,\n /**\n * The query rules operators by attribute type and combinator.\n */\n operators: PropTypes.shape({\n type: PropTypes.arrayOf(\n PropTypes.shape({\n operator: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n combinators: PropTypes.arrayOf(PropTypes.string).isRequired,\n })\n ),\n }),\n /**\n * The query combinators operands.\n */\n combinators: PropTypes.arrayOf(\n PropTypes.shape({\n operand: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })\n ),\n /**\n * The initial query representation.\n */\n query: PropTypes.shape({\n id: PropTypes.number,\n combinator: PropTypes.string.isRequired,\n rules: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n attribute: PropTypes.string,\n operator: PropTypes.string,\n value: PropTypes.any,\n })\n ).isRequired,\n }),\n /**\n * Callback fired when query changes.\n */\n onChange: PropTypes.func,\n /**\n * Max depth of nested query groups.\n */\n maxDepth: PropTypes.number,\n /**\n * An object containing all the labels.\n */\n labels: PropTypes.instanceOf(Object),\n};\n\nexport default withStyles(styles, { name: \"HvQueryBuilder\" })(HvQueryBuilder);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryBuilder.js","names":["React","useEffect","useMemo","useReducer","useRef","useState","useContext","PropTypes","isEqual","cloneDeep","withStyles","Context","RuleGroup","ConfirmationDialog","emptyGroup","clearNodeIds","reducer","styles","HvQueryBuilder","attributes","query","onChange","operators","combinators","maxDepth","labels","readOnly","classes","pendingAction","askAction","currentAttributes","state","dispatchAction","initialState","prevState","setPrevState","defaultcontext","context","initialTouched","current","type","onConfirmHandler","undefined","actions","forEach","action","onCancelHandler","id","combinator","rules","dialog","dialogTitle","dialogMessage","dialogConfirm","dialogCancel","dialogCloseTooltip","propTypes","shape","root","string","topGroup","subGroup","topCombinator","combinatorButton","removeButton","topRemoveButton","rulesContainer","subRulesContainer","actionButtonContainer","topActionButtonContainer","key","number","label","isRequired","value","any","order","arrayOf","operator","operand","attribute","func","instanceOf","Object","bool","name"],"sources":["../../../src/QueryBuilder/QueryBuilder.js"],"sourcesContent":["import React, { useEffect, useMemo, useReducer, useRef, useState, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport isEqual from \"lodash/isEqual\";\nimport cloneDeep from \"lodash/cloneDeep\";\nimport { withStyles } from \"@material-ui/core\";\n\nimport Context from \"./Context\";\nimport RuleGroup from \"./RuleGroup\";\nimport ConfirmationDialog from \"./ConfirmationDialog\";\nimport { emptyGroup, clearNodeIds } from \"./utils\";\nimport reducer from \"./utils/reducer\";\nimport styles from \"./styles\";\n\n/**\n * **HvQueryBuilder** component allows you to create conditions and group them using logical operators.\n * It outputs a structured set of rules which can be easily parsed to create SQL/NoSQL/whatever queries.\n *\n * **PLEASE NOTE**: This component implementation is still a WIP. There might be breaking changes.\n */\nconst HvQueryBuilder = ({\n attributes = [],\n query,\n onChange,\n operators,\n combinators,\n maxDepth = 1,\n labels,\n readOnly = false,\n classes,\n}) => {\n const [pendingAction, askAction] = useState();\n const currentAttributes = useRef();\n const [state, dispatchAction] = useReducer(\n reducer,\n query,\n (initialState) => initialState || emptyGroup()\n );\n\n const initialState = query === state;\n const [prevState, setPrevState] = useState();\n\n const defaultcontext = useContext(Context);\n\n const context = useMemo(\n () => ({\n dispatchAction,\n askAction,\n attributes,\n operators: operators ?? defaultcontext.operators,\n combinators: combinators ?? defaultcontext.combinators,\n maxDepth: maxDepth ?? defaultcontext.maxDepth,\n labels: labels ?? defaultcontext.labels,\n initialTouched: initialState,\n readOnly,\n }),\n [\n attributes,\n operators,\n defaultcontext.operators,\n defaultcontext.combinators,\n defaultcontext.maxDepth,\n defaultcontext.labels,\n combinators,\n maxDepth,\n labels,\n readOnly,\n initialState,\n ]\n );\n\n useEffect(() => {\n if (currentAttributes.current == null) {\n // first run, nothing to do\n currentAttributes.current = attributes;\n } else if (currentAttributes.current !== attributes) {\n // attributes changed, the existing query is almost certain invalid, so reset it\n currentAttributes.current = attributes;\n dispatchAction({ type: \"reset-query\" });\n }\n }, [attributes]);\n\n // Propagate the change if the query is modified.\n useEffect(() => {\n if (!initialState && !isEqual(state, prevState)) {\n onChange?.(clearNodeIds(state));\n setPrevState(cloneDeep(state));\n }\n }, [state, prevState, initialState, onChange]);\n\n const onConfirmHandler = () => {\n if (pendingAction) {\n askAction(undefined);\n pendingAction.actions.forEach((action) => dispatchAction(action));\n }\n };\n\n const onCancelHandler = () => {\n askAction(undefined);\n };\n\n return (\n <Context.Provider value={context}>\n <RuleGroup\n level={0}\n id={state.id}\n combinator={state.combinator}\n rules={state.rules}\n classes={classes}\n />\n <ConfirmationDialog\n isOpen={pendingAction != null}\n onConfirm={onConfirmHandler}\n onCancel={onCancelHandler}\n title={pendingAction?.dialog.dialogTitle || \"\"}\n message={pendingAction?.dialog.dialogMessage || \"\"}\n confirmButtonLabel={pendingAction?.dialog.dialogConfirm || \"\"}\n cancelButtonLabel={pendingAction?.dialog.dialogCancel || \"\"}\n closeButtonTooltip={pendingAction?.dialog.dialogCloseTooltip || \"\"}\n />\n </Context.Provider>\n );\n};\n\nHvQueryBuilder.propTypes = {\n /**\n * Override or extend the styles applied to the component.\n * See CSS API tab for more details.\n */\n classes: PropTypes.shape({\n /**\n * Styles applied to the component root class.\n */\n root: PropTypes.string,\n /**\n * Styles applied to the top group container.\n */\n topGroup: PropTypes.string,\n /**\n * Styles applied to the sub group containers.\n */\n subGroup: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container.\n */\n combinator: PropTypes.string,\n /**\n * Styles applied to the multi-button combinator container on the top group.\n */\n topCombinator: PropTypes.string,\n /**\n * Styles applied to each combinator button.\n */\n combinatorButton: PropTypes.string,\n /**\n * Styles applied to the remove button.\n */\n removeButton: PropTypes.string,\n /**\n * Styles applied to the remove button on the top group.\n */\n topRemoveButton: PropTypes.string,\n /**\n * Styles applied to the rules container.\n */\n rulesContainer: PropTypes.string,\n /**\n * Styles applied to the sub rules container.\n */\n subRulesContainer: PropTypes.string,\n /**\n * Styles applied to the action button container.\n */\n actionButtonContainer: PropTypes.string,\n /**\n * Styles applied to the top action button container.\n */\n topActionButtonContainer: PropTypes.string,\n }),\n attributes: PropTypes.shape({\n key: PropTypes.shape({\n id: PropTypes.number,\n label: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n value: PropTypes.any,\n order: PropTypes.number,\n }),\n }).isRequired,\n /**\n * The query rules operators by attribute type and combinator.\n */\n operators: PropTypes.shape({\n type: PropTypes.arrayOf(\n PropTypes.shape({\n operator: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n combinators: PropTypes.arrayOf(PropTypes.string).isRequired,\n })\n ),\n }),\n /**\n * The query combinators operands.\n */\n combinators: PropTypes.arrayOf(\n PropTypes.shape({\n operand: PropTypes.string.isRequired,\n label: PropTypes.string.isRequired,\n })\n ),\n /**\n * The initial query representation.\n */\n query: PropTypes.shape({\n id: PropTypes.number,\n combinator: PropTypes.string.isRequired,\n rules: PropTypes.arrayOf(\n PropTypes.shape({\n id: PropTypes.number,\n attribute: PropTypes.string,\n operator: PropTypes.string,\n value: PropTypes.any,\n })\n ).isRequired,\n }),\n /**\n * Callback fired when query changes.\n */\n onChange: PropTypes.func,\n /**\n * Max depth of nested query groups.\n */\n maxDepth: PropTypes.number,\n /**\n * An object containing all the labels.\n */\n labels: PropTypes.instanceOf(Object),\n /**\n * A flag indicating if the Query Builder is in read only mode.\n */\n readOnly: PropTypes.bool,\n};\n\nexport default withStyles(styles, { name: \"HvQueryBuilder\" })(HvQueryBuilder);\n"],"mappings":"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"}
|
|
@@ -18,7 +18,8 @@ const Attribute = ({
|
|
|
18
18
|
dispatchAction,
|
|
19
19
|
attributes,
|
|
20
20
|
operators,
|
|
21
|
-
labels
|
|
21
|
+
labels,
|
|
22
|
+
readOnly
|
|
22
23
|
} = context;
|
|
23
24
|
const values = useMemo(() => Object.keys(attributes).map(key => ({
|
|
24
25
|
id: key,
|
|
@@ -32,6 +33,7 @@ const Attribute = ({
|
|
|
32
33
|
placeholder: labels.rule.attribute.placeholder,
|
|
33
34
|
values: values,
|
|
34
35
|
disabled: disabled,
|
|
36
|
+
readOnly: readOnly,
|
|
35
37
|
status: isInvalid ? "invalid" : "valid",
|
|
36
38
|
statusMessage: labels.rule.attribute.exists,
|
|
37
39
|
onChange: selected => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Attribute.js","names":["React","useMemo","useContext","PropTypes","HvDropdown","Context","isBigList","Attribute","id","attribute","disabled","isInvalid","context","dispatchAction","attributes","operators","labels","values","Object","keys","map","key","label","selected","currentType","type","rule","placeholder","exists","Array","isArray","attributeId","typeOperators","operator","undefined","length","value","virtualized","height","propTypes","number","string","bool","memo"],"sources":["../../../../../src/QueryBuilder/Rule/Attribute/Attribute.js"],"sourcesContent":["import React, { useMemo, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { HvDropdown } from \"@hitachivantara/uikit-react-core\";\n\nimport Context from \"../../Context\";\nimport { isBigList } from \"../../utils\";\n\nconst Attribute = ({ id, attribute, disabled, isInvalid }) => {\n const context = useContext(Context);\n const { dispatchAction, attributes, operators, labels } = context;\n\n const values = useMemo(\n () =>\n Object.keys(attributes).map((key) => ({\n id: key,\n label: attributes[key].label,\n selected: key === attribute,\n })),\n [attributes, attribute]\n );\n\n const currentType = attribute != null ? attributes[attribute]?.type : null;\n\n return (\n <HvDropdown\n singleSelectionToggle={false}\n label={labels.rule.attribute.label}\n placeholder={labels.rule.attribute.placeholder}\n values={values}\n disabled={disabled}\n status={isInvalid ? \"invalid\" : \"valid\"}\n statusMessage={labels.rule.attribute.exists}\n onChange={(selected) => {\n if (selected && !Array.isArray(selected)) {\n const attributeId = selected.id;\n\n const { type } = attributes[attributeId];\n const typeOperators = operators[type];\n\n let operator;\n if (currentType === type) {\n operator = undefined;\n } else if (typeOperators?.length === 1) {\n operator = typeOperators[0].operator;\n } else {\n operator = null;\n }\n\n // default boolean attributes to true\n const value = type === \"boolean\" ? true : undefined;\n\n dispatchAction({\n type: \"set-attribute\",\n id,\n attribute: attributeId,\n operator,\n value,\n });\n } else {\n dispatchAction({ type: \"set-attribute\", id, attribute: null });\n }\n }}\n showSearch={isBigList(values)}\n {...(isBigList(values) && { virtualized: true, height: 300 })}\n />\n );\n};\n\nAttribute.propTypes = {\n id: PropTypes.number,\n attribute: PropTypes.string,\n disabled: PropTypes.bool,\n isInvalid: PropTypes.bool,\n};\n\nexport default React.memo(Attribute);\n"],"mappings":";AAAA,OAAOA,KAAP,IAAgBC,OAAhB,EAAyBC,UAAzB,QAA2C,OAA3C;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,kCAA3B;AAEA,OAAOC,OAAP,MAAoB,eAApB;AACA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,MAAMC,SAAS,GAAG,CAAC;EAAEC,EAAF;EAAMC,SAAN;EAAiBC,QAAjB;EAA2BC;AAA3B,CAAD,KAA4C;EAAA;;EAC5D,MAAMC,OAAO,GAAGV,UAAU,CAACG,OAAD,CAA1B;EACA,MAAM;IAAEQ,cAAF;IAAkBC,UAAlB;IAA8BC,SAA9B;IAAyCC;
|
|
1
|
+
{"version":3,"file":"Attribute.js","names":["React","useMemo","useContext","PropTypes","HvDropdown","Context","isBigList","Attribute","id","attribute","disabled","isInvalid","context","dispatchAction","attributes","operators","labels","readOnly","values","Object","keys","map","key","label","selected","currentType","type","rule","placeholder","exists","Array","isArray","attributeId","typeOperators","operator","undefined","length","value","virtualized","height","propTypes","number","string","bool","memo"],"sources":["../../../../../src/QueryBuilder/Rule/Attribute/Attribute.js"],"sourcesContent":["import React, { useMemo, useContext } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { HvDropdown } from \"@hitachivantara/uikit-react-core\";\n\nimport Context from \"../../Context\";\nimport { isBigList } from \"../../utils\";\n\nconst Attribute = ({ id, attribute, disabled, isInvalid }) => {\n const context = useContext(Context);\n const { dispatchAction, attributes, operators, labels, readOnly } = context;\n\n const values = useMemo(\n () =>\n Object.keys(attributes).map((key) => ({\n id: key,\n label: attributes[key].label,\n selected: key === attribute,\n })),\n [attributes, attribute]\n );\n\n const currentType = attribute != null ? attributes[attribute]?.type : null;\n\n return (\n <HvDropdown\n singleSelectionToggle={false}\n label={labels.rule.attribute.label}\n placeholder={labels.rule.attribute.placeholder}\n values={values}\n disabled={disabled}\n readOnly={readOnly}\n status={isInvalid ? \"invalid\" : \"valid\"}\n statusMessage={labels.rule.attribute.exists}\n onChange={(selected) => {\n if (selected && !Array.isArray(selected)) {\n const attributeId = selected.id;\n\n const { type } = attributes[attributeId];\n const typeOperators = operators[type];\n\n let operator;\n if (currentType === type) {\n operator = undefined;\n } else if (typeOperators?.length === 1) {\n operator = typeOperators[0].operator;\n } else {\n operator = null;\n }\n\n // default boolean attributes to true\n const value = type === \"boolean\" ? true : undefined;\n\n dispatchAction({\n type: \"set-attribute\",\n id,\n attribute: attributeId,\n operator,\n value,\n });\n } else {\n dispatchAction({ type: \"set-attribute\", id, attribute: null });\n }\n }}\n showSearch={isBigList(values)}\n {...(isBigList(values) && { virtualized: true, height: 300 })}\n />\n );\n};\n\nAttribute.propTypes = {\n id: PropTypes.number,\n attribute: PropTypes.string,\n disabled: PropTypes.bool,\n isInvalid: PropTypes.bool,\n};\n\nexport default React.memo(Attribute);\n"],"mappings":"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"}
|
|
@@ -17,7 +17,8 @@ const Operator = ({
|
|
|
17
17
|
dispatchAction,
|
|
18
18
|
attributes,
|
|
19
19
|
operators,
|
|
20
|
-
labels
|
|
20
|
+
labels,
|
|
21
|
+
readOnly
|
|
21
22
|
} = context;
|
|
22
23
|
const value = operator !== null && operator !== void 0 ? operator : null;
|
|
23
24
|
const values = useMemo(() => {
|
|
@@ -39,6 +40,7 @@ const Operator = ({
|
|
|
39
40
|
placeholder: labels.rule.operator.placeholder,
|
|
40
41
|
values: values,
|
|
41
42
|
disabled: values.length === 0,
|
|
43
|
+
readOnly: readOnly,
|
|
42
44
|
onChange: selected => {
|
|
43
45
|
if (selected && !Array.isArray(selected) && selected.id) {
|
|
44
46
|
dispatchAction({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operator.js","names":["React","useMemo","PropTypes","HvDropdown","Context","isBigList","Operator","id","combinator","attribute","operator","context","useContext","dispatchAction","attributes","operators","labels","value","values","attributeSpec","options","type","filter","o","combinators","includes","map","key","label","selected","rule","placeholder","length","Array","isArray","undefined","virtualized","height","propTypes","number","string","memo"],"sources":["../../../../../src/QueryBuilder/Rule/Operator/Operator.js"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { HvDropdown } from \"@hitachivantara/uikit-react-core\";\n\nimport Context from \"../../Context\";\nimport { isBigList } from \"../../utils\";\n\nconst Operator = ({ id, combinator, attribute, operator }) => {\n const context = React.useContext(Context);\n\n const { dispatchAction, attributes, operators, labels } = context;\n\n const value = operator ?? null;\n\n const values = useMemo(() => {\n const attributeSpec = attribute ? attributes[attribute] : null;\n const options = attributeSpec\n ? operators[attributeSpec.type].filter((o) => o.combinators.includes(combinator)) ?? []\n : [];\n return options.map((key) => ({\n id: key.operator,\n label: key.label,\n selected: key.operator === value,\n }));\n }, [attribute, attributes, operators, combinator, value]);\n\n return (\n <HvDropdown\n required\n status=\"valid\"\n singleSelectionToggle={false}\n label={labels.rule.operator.label}\n placeholder={labels.rule.operator.placeholder}\n values={values}\n disabled={values.length === 0}\n onChange={(selected) => {\n if (selected && !Array.isArray(selected) && selected.id) {\n dispatchAction({\n type: \"set-operator\",\n id,\n operator: selected.id,\n value: value === \"range\" || selected.id === \"range\" ? null : undefined,\n });\n } else {\n dispatchAction({\n type: \"set-operator\",\n id,\n operator: null,\n value: null,\n });\n }\n }}\n showSearch={isBigList(values)}\n {...(isBigList(values) && { virtualized: true, height: 300 })}\n />\n );\n};\n\nOperator.propTypes = {\n id: PropTypes.number,\n combinator: PropTypes.string,\n attribute: PropTypes.string,\n operator: PropTypes.string,\n};\n\nexport default React.memo(Operator);\n"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,OAAhB,QAA+B,OAA/B;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,UAAT,QAA2B,kCAA3B;AAEA,OAAOC,OAAP,MAAoB,eAApB;AACA,SAASC,SAAT,QAA0B,aAA1B;;AAEA,MAAMC,QAAQ,GAAG,CAAC;EAAEC,EAAF;EAAMC,UAAN;EAAkBC,SAAlB;EAA6BC;AAA7B,CAAD,KAA6C;EAC5D,MAAMC,OAAO,GAAGX,KAAK,CAACY,UAAN,CAAiBR,OAAjB,CAAhB;EAEA,MAAM;IAAES,cAAF;IAAkBC,UAAlB;IAA8BC,SAA9B;IAAyCC;
|
|
1
|
+
{"version":3,"file":"Operator.js","names":["React","useMemo","PropTypes","HvDropdown","Context","isBigList","Operator","id","combinator","attribute","operator","context","useContext","dispatchAction","attributes","operators","labels","readOnly","value","values","attributeSpec","options","type","filter","o","combinators","includes","map","key","label","selected","rule","placeholder","length","Array","isArray","undefined","virtualized","height","propTypes","number","string","memo"],"sources":["../../../../../src/QueryBuilder/Rule/Operator/Operator.js"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport PropTypes from \"prop-types\";\nimport { HvDropdown } from \"@hitachivantara/uikit-react-core\";\n\nimport Context from \"../../Context\";\nimport { isBigList } from \"../../utils\";\n\nconst Operator = ({ id, combinator, attribute, operator }) => {\n const context = React.useContext(Context);\n\n const { dispatchAction, attributes, operators, labels, readOnly } = context;\n\n const value = operator ?? null;\n\n const values = useMemo(() => {\n const attributeSpec = attribute ? attributes[attribute] : null;\n const options = attributeSpec\n ? operators[attributeSpec.type].filter((o) => o.combinators.includes(combinator)) ?? []\n : [];\n return options.map((key) => ({\n id: key.operator,\n label: key.label,\n selected: key.operator === value,\n }));\n }, [attribute, attributes, operators, combinator, value]);\n\n return (\n <HvDropdown\n required\n status=\"valid\"\n singleSelectionToggle={false}\n label={labels.rule.operator.label}\n placeholder={labels.rule.operator.placeholder}\n values={values}\n disabled={values.length === 0}\n readOnly={readOnly}\n onChange={(selected) => {\n if (selected && !Array.isArray(selected) && selected.id) {\n dispatchAction({\n type: \"set-operator\",\n id,\n operator: selected.id,\n value: value === \"range\" || selected.id === \"range\" ? null : undefined,\n });\n } else {\n dispatchAction({\n type: \"set-operator\",\n id,\n operator: null,\n value: null,\n });\n }\n }}\n showSearch={isBigList(values)}\n {...(isBigList(values) && { virtualized: true, height: 300 })}\n />\n );\n};\n\nOperator.propTypes = {\n id: PropTypes.number,\n combinator: PropTypes.string,\n attribute: PropTypes.string,\n operator: PropTypes.string,\n};\n\nexport default React.memo(Operator);\n"],"mappings":"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"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
var _Delete;
|
|
2
|
-
|
|
3
1
|
import "core-js/modules/es.array.includes.js";
|
|
4
2
|
import React, { useMemo, useContext } from "react";
|
|
5
3
|
import PropTypes from "prop-types";
|
|
@@ -20,13 +18,16 @@ const Rule = ({
|
|
|
20
18
|
disabled,
|
|
21
19
|
isInvalid
|
|
22
20
|
}) => {
|
|
21
|
+
var _Delete;
|
|
22
|
+
|
|
23
23
|
const classes = useStyles();
|
|
24
24
|
const context = useContext(Context);
|
|
25
25
|
const {
|
|
26
26
|
askAction,
|
|
27
27
|
attributes,
|
|
28
28
|
operators,
|
|
29
|
-
labels
|
|
29
|
+
labels,
|
|
30
|
+
readOnly
|
|
30
31
|
} = context;
|
|
31
32
|
const availableOperators = useMemo(() => {
|
|
32
33
|
const attributeSpec = attribute != null ? attributes[attribute] : null;
|
|
@@ -42,7 +43,9 @@ const Rule = ({
|
|
|
42
43
|
return -1;
|
|
43
44
|
}, [attribute, attributes, combinator, operators]);
|
|
44
45
|
const shouldShowValueInput = operator !== "Empty" && operator !== "IsNotEmpty";
|
|
45
|
-
const DeleteIcon = withTooltip(() => _Delete || (_Delete = /*#__PURE__*/React.createElement(Delete,
|
|
46
|
+
const DeleteIcon = withTooltip(() => _Delete || (_Delete = /*#__PURE__*/React.createElement(Delete, {
|
|
47
|
+
disabled: readOnly
|
|
48
|
+
})), labels.rule.delete.tooltip, "bottom");
|
|
46
49
|
return /*#__PURE__*/React.createElement(HvGrid, {
|
|
47
50
|
container: true,
|
|
48
51
|
className: classes.root,
|
|
@@ -88,7 +91,8 @@ const Rule = ({
|
|
|
88
91
|
}],
|
|
89
92
|
dialog: labels.rule.delete
|
|
90
93
|
});
|
|
91
|
-
}
|
|
94
|
+
},
|
|
95
|
+
disabled: readOnly
|
|
92
96
|
}, /*#__PURE__*/React.createElement(DeleteIcon, null))));
|
|
93
97
|
};
|
|
94
98
|
|