@elliemae/ds-query-builder 3.12.0-rc.2 → 3.12.0-rc.21
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/cjs/DSQueryBuilder.js +28 -25
- package/dist/cjs/DSQueryBuilder.js.map +1 -1
- package/dist/cjs/components/AndOrController/AndOrController.js +112 -101
- package/dist/cjs/components/AndOrController/AndOrController.js.map +1 -1
- package/dist/cjs/components/ConditionController/ConditionController.js +70 -56
- package/dist/cjs/components/ConditionController/ConditionController.js.map +1 -1
- package/dist/cjs/components/DisplayOutput/DisplayOutput.js +23 -46
- package/dist/cjs/components/DisplayOutput/DisplayOutput.js.map +1 -1
- package/dist/cjs/components/DragContainerController/DragContainerController.js +6 -23
- package/dist/cjs/components/DragContainerController/DragContainerController.js.map +1 -1
- package/dist/cjs/components/DragControllerRow/DragControllerRow.js +1 -8
- package/dist/cjs/components/DragControllerRow/DragControllerRow.js.map +1 -1
- package/dist/cjs/components/FieldControllerRow/FieldControllerRow.js +4 -16
- package/dist/cjs/components/FieldControllerRow/FieldControllerRow.js.map +1 -1
- package/dist/cjs/components/Nestable/Nestable.js +25 -32
- package/dist/cjs/components/Nestable/Nestable.js.map +1 -1
- package/dist/cjs/components/Nestable/NestableItem.js +21 -24
- package/dist/cjs/components/Nestable/NestableItem.js.map +1 -1
- package/dist/cjs/components/QueryBuilderImpl.js +75 -63
- package/dist/cjs/components/QueryBuilderImpl.js.map +1 -1
- package/dist/cjs/components/QueryBuilderItem/QueryBuilderItem.js +32 -28
- package/dist/cjs/components/QueryBuilderItem/QueryBuilderItem.js.map +1 -1
- package/dist/cjs/components/QueryBuilderRow/QueryBuilderRow.js +52 -63
- package/dist/cjs/components/QueryBuilderRow/QueryBuilderRow.js.map +2 -2
- package/dist/cjs/components/ToolBarAnimation/ToolBarAnimation.js +1 -6
- package/dist/cjs/components/ToolBarAnimation/ToolBarAnimation.js.map +1 -1
- package/dist/esm/DSQueryBuilder.js +28 -25
- package/dist/esm/DSQueryBuilder.js.map +1 -1
- package/dist/esm/components/AndOrController/AndOrController.js +112 -101
- package/dist/esm/components/AndOrController/AndOrController.js.map +1 -1
- package/dist/esm/components/ConditionController/ConditionController.js +70 -56
- package/dist/esm/components/ConditionController/ConditionController.js.map +1 -1
- package/dist/esm/components/DisplayOutput/DisplayOutput.js +23 -46
- package/dist/esm/components/DisplayOutput/DisplayOutput.js.map +1 -1
- package/dist/esm/components/DragContainerController/DragContainerController.js +6 -23
- package/dist/esm/components/DragContainerController/DragContainerController.js.map +1 -1
- package/dist/esm/components/DragControllerRow/DragControllerRow.js +1 -8
- package/dist/esm/components/DragControllerRow/DragControllerRow.js.map +1 -1
- package/dist/esm/components/FieldControllerRow/FieldControllerRow.js +4 -16
- package/dist/esm/components/FieldControllerRow/FieldControllerRow.js.map +1 -1
- package/dist/esm/components/Nestable/Nestable.js +25 -32
- package/dist/esm/components/Nestable/Nestable.js.map +1 -1
- package/dist/esm/components/Nestable/NestableItem.js +21 -24
- package/dist/esm/components/Nestable/NestableItem.js.map +1 -1
- package/dist/esm/components/QueryBuilderImpl.js +75 -63
- package/dist/esm/components/QueryBuilderImpl.js.map +1 -1
- package/dist/esm/components/QueryBuilderItem/QueryBuilderItem.js +32 -28
- package/dist/esm/components/QueryBuilderItem/QueryBuilderItem.js.map +1 -1
- package/dist/esm/components/QueryBuilderRow/QueryBuilderRow.js +52 -63
- package/dist/esm/components/QueryBuilderRow/QueryBuilderRow.js.map +2 -2
- package/dist/esm/components/ToolBarAnimation/ToolBarAnimation.js +1 -6
- package/dist/esm/components/ToolBarAnimation/ToolBarAnimation.js.map +1 -1
- package/package.json +13 -13
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/QueryBuilderItem/QueryBuilderItem.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["/* eslint-disable react/prop-types */\nimport React from 'react';\n\nimport { QueryBuilderContext } from '../QueryBuilderContext/QueryBuilderContext';\nimport { QB_DRAG_TYPES } from '../helpers/types';\nimport AndOrController from '../AndOrController/AndOrController';\nimport QueryBuilderRow from '../QueryBuilderRow/QueryBuilderRow';\n\nconst QueryBuilderItem = ({ item }) => {\n const { element } = item;\n const { type, idFilter, idGroup, condition } = element;\n return (\n <QueryBuilderContext.Consumer>\n {({\n fields,\n handleFieldChange,\n onAddFilter,\n onAddFilterToGroup,\n onAddRuleContainer,\n onRemoveFilter,\n showDragController,\n handleRuleContainerOperator,\n handleRuleContainerUnGroup,\n step,\n items,\n isDraggableItem,\n setDraggableItems,\n singleRow,\n toolTipZIndex,\n }) => {\n if (type === QB_DRAG_TYPES.FILTER) {\n return (\n <QueryBuilderRow\n {...element}\n fields={fields}\n handleFieldChange={handleFieldChange}\n isDraggableItem={isDraggableItem}\n items={items}\n onAddFilter={() => onAddFilter(idGroup, idFilter)}\n onAddRuleContainer={() => onAddRuleContainer(idGroup, idFilter)}\n onRemoveFilter={() => onRemoveFilter(idFilter)}\n setDraggableItems={setDraggableItems}\n showDragController={showDragController}\n step={step}\n singleRow={singleRow}\n toolTipZIndex={toolTipZIndex}\n />\n );\n }\n if (singleRow) return null;\n return (\n <AndOrController\n allowUnGroup\n condition={condition}\n handleRuleContainerOperator={(value) =>\n handleRuleContainerOperator(idGroup, value)\n }\n handleRuleContainerUnGroup={() =>\n handleRuleContainerUnGroup(idGroup)\n }\n multipleSize={false}\n onAddFilter={() => onAddFilterToGroup(idGroup)}\n showDragController\n step={step}\n toolTipZIndex={toolTipZIndex}\n />\n );\n }}\n </QueryBuilderContext.Consumer>\n );\n};\n\nexport default QueryBuilderItem;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADgCX;AA7BZ,iCAAoC;AACpC,mBAA8B;AAC9B,6BAA4B;AAC5B,6BAA4B;AAE5B,MAAM,mBAAmB,CAAC,EAAE,KAAK,MAAM;AACrC,QAAM,EAAE,QAAQ,IAAI;AACpB,QAAM,EAAE,MAAM,UAAU,SAAS,UAAU,IAAI;AAC/C,SACE,4CAAC,+CAAoB,UAApB
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADgCX;AA7BZ,iCAAoC;AACpC,mBAA8B;AAC9B,6BAA4B;AAC5B,6BAA4B;AAE5B,MAAM,mBAAmB,CAAC,EAAE,KAAK,MAAM;AACrC,QAAM,EAAE,QAAQ,IAAI;AACpB,QAAM,EAAE,MAAM,UAAU,SAAS,UAAU,IAAI;AAC/C,SACE,4CAAC,+CAAoB,UAApB,EACE,WAAC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAM;AACJ,QAAI,SAAS,2BAAc,QAAQ;AACjC,aACE;AAAA,QAAC,uBAAAA;AAAA,QAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,aAAa,MAAM,YAAY,SAAS,QAAQ;AAAA,UAChD,oBAAoB,MAAM,mBAAmB,SAAS,QAAQ;AAAA,UAC9D,gBAAgB,MAAM,eAAe,QAAQ;AAAA,UAC7C;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,IAEJ;AACA,QAAI;AAAW,aAAO;AACtB,WACE;AAAA,MAAC,uBAAAC;AAAA,MAAA;AAAA,QACC,cAAY;AAAA,QACZ;AAAA,QACA,6BAA6B,CAAC,UAC5B,4BAA4B,SAAS,KAAK;AAAA,QAE5C,4BAA4B,MAC1B,2BAA2B,OAAO;AAAA,QAEpC,cAAc;AAAA,QACd,aAAa,MAAM,mBAAmB,OAAO;AAAA,QAC7C,oBAAkB;AAAA,QAClB;AAAA,QACA;AAAA;AAAA,IACF;AAAA,EAEJ,GACF;AAEJ;AAEA,IAAO,2BAAQ;",
|
|
6
6
|
"names": ["QueryBuilderRow", "AndOrController"]
|
|
7
7
|
}
|
|
@@ -48,49 +48,31 @@ const RenderField = ({
|
|
|
48
48
|
}) => {
|
|
49
49
|
const ref = import_react.default.useRef();
|
|
50
50
|
const id = import_react.default.useMemo(() => `el_${String.fromCharCode(65 + Math.floor(Math.random() * 26))}`, []);
|
|
51
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
className: "em-ds-query-builder-row__input-controller",
|
|
65
|
-
children: import_react.default.cloneElement(component, {
|
|
51
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
52
|
+
"div",
|
|
53
|
+
{
|
|
54
|
+
className: `em-ds-query-builder-row-input child-type-${target} ${hasError && hasError.error ? "row-input-error" : ""}`,
|
|
55
|
+
onMouseDownCapture: () => {
|
|
56
|
+
const _refInput = ref.current?.querySelector(`#${id}`);
|
|
57
|
+
if (_refInput && _refInput.focus)
|
|
58
|
+
setTimeout(_refInput.focus());
|
|
59
|
+
handleMouseEnterInput();
|
|
60
|
+
},
|
|
61
|
+
onMouseEnter: () => handleMouseEnterInput(),
|
|
62
|
+
onMouseLeave: () => handleMouseLeaveInput(),
|
|
63
|
+
children: [
|
|
64
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref, className: "em-ds-query-builder-row__input-controller", children: import_react.default.cloneElement(component, {
|
|
66
65
|
id,
|
|
67
66
|
onChange: (e, extraData) => onChangeHandler(e, target, extraData),
|
|
68
67
|
value: valueProp != null ? valueProp : "",
|
|
69
68
|
checked: valueProp === true,
|
|
70
69
|
additionalInfo: additionalInfo ? additionalInfo[target] : additionalInfo || {},
|
|
71
70
|
"aria-invalid": Boolean(hasError)
|
|
72
|
-
})
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
text: hasError.errorMessage,
|
|
78
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
79
|
-
tabIndex: 0,
|
|
80
|
-
className: "row-icon-alert",
|
|
81
|
-
"data-testid": "qb-error-state-icon",
|
|
82
|
-
role: "alert",
|
|
83
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.AlertsDetail, {
|
|
84
|
-
width: 20,
|
|
85
|
-
height: 20,
|
|
86
|
-
color: ["danger", 900],
|
|
87
|
-
title: hasError.errorMessage
|
|
88
|
-
})
|
|
89
|
-
})
|
|
90
|
-
})
|
|
91
|
-
}) : null
|
|
92
|
-
]
|
|
93
|
-
});
|
|
71
|
+
}) }),
|
|
72
|
+
hasError && hasError.errorMessage ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { width: "40px" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_tooltip.DSTooltipV3, { text: hasError.errorMessage, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { tabIndex: 0, className: "row-icon-alert", "data-testid": "qb-error-state-icon", role: "alert", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ds_icons.AlertsDetail, { width: 20, height: 20, color: ["danger", 900], title: hasError.errorMessage }) }) }) }) : null
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
);
|
|
94
76
|
};
|
|
95
77
|
class QueryBuilderRow extends import_react.Component {
|
|
96
78
|
constructor(props) {
|
|
@@ -170,7 +152,7 @@ class QueryBuilderRow extends import_react.Component {
|
|
|
170
152
|
fields
|
|
171
153
|
);
|
|
172
154
|
const gridTemplateColumns = [
|
|
173
|
-
"24px",
|
|
155
|
+
singleRow ? "" : "24px",
|
|
174
156
|
...test.map((r) => {
|
|
175
157
|
if (r.handleWidth) {
|
|
176
158
|
return r.handleWidth(this.props[r.target], {
|
|
@@ -184,8 +166,9 @@ class QueryBuilderRow extends import_react.Component {
|
|
|
184
166
|
}),
|
|
185
167
|
"30px"
|
|
186
168
|
].join(" ");
|
|
187
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, {
|
|
188
|
-
|
|
169
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
170
|
+
"div",
|
|
171
|
+
{
|
|
189
172
|
className: cssClassName,
|
|
190
173
|
onMouseEnter: this.handleMouseEnterRow,
|
|
191
174
|
onMouseLeave: this.handleMouseLeaveRow,
|
|
@@ -193,10 +176,13 @@ class QueryBuilderRow extends import_react.Component {
|
|
|
193
176
|
gridTemplateColumns
|
|
194
177
|
},
|
|
195
178
|
children: [
|
|
196
|
-
!singleRow && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
179
|
+
!singleRow && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
180
|
+
import_DragControllerRow.default,
|
|
181
|
+
{
|
|
182
|
+
className: classNameElement("drag-controller"),
|
|
183
|
+
onMouseDownCapture: () => this.handleMouseLeaveInput()
|
|
184
|
+
}
|
|
185
|
+
),
|
|
200
186
|
test.map((renderField) => {
|
|
201
187
|
const { target, component } = renderField;
|
|
202
188
|
const { [target]: valueProp } = this.props;
|
|
@@ -207,22 +193,25 @@ class QueryBuilderRow extends import_react.Component {
|
|
|
207
193
|
value,
|
|
208
194
|
additionalInfo
|
|
209
195
|
}) : false;
|
|
210
|
-
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
196
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
197
|
+
RenderField,
|
|
198
|
+
{
|
|
199
|
+
component,
|
|
200
|
+
target,
|
|
201
|
+
valueProp,
|
|
202
|
+
onChangeHandler: (e, target2, extraData) => {
|
|
203
|
+
this.onChangeHandler(e, target2, extraData, hasError);
|
|
204
|
+
},
|
|
205
|
+
handleMouseEnterInput: this.handleMouseEnterInput,
|
|
206
|
+
handleMouseLeaveInput: this.handleMouseLeaveInput,
|
|
207
|
+
additionalInfo,
|
|
208
|
+
hasError: isTouched && hasError
|
|
209
|
+
}
|
|
210
|
+
);
|
|
222
211
|
}),
|
|
223
|
-
!singleRow && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
|
|
224
|
-
|
|
225
|
-
|
|
212
|
+
!singleRow && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: classNameBlock("controller"), children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
213
|
+
import_ConditionController.default,
|
|
214
|
+
{
|
|
226
215
|
handleTooltipRow: this.handleTooltipRow,
|
|
227
216
|
isOpen,
|
|
228
217
|
items,
|
|
@@ -230,11 +219,11 @@ class QueryBuilderRow extends import_react.Component {
|
|
|
230
219
|
onAddRuleContainer,
|
|
231
220
|
onRemoveFilter,
|
|
232
221
|
toolTipZIndex
|
|
233
|
-
}
|
|
234
|
-
})
|
|
222
|
+
}
|
|
223
|
+
) })
|
|
235
224
|
]
|
|
236
|
-
}
|
|
237
|
-
});
|
|
225
|
+
}
|
|
226
|
+
) });
|
|
238
227
|
}
|
|
239
228
|
}
|
|
240
229
|
var QueryBuilderRow_default = QueryBuilderRow;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/QueryBuilderRow/QueryBuilderRow.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport React, { Component } from 'react';\nimport { AlertsDetail } from '@elliemae/ds-icons';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { resolveDependencies } from '../helpers/dependencies';\nimport ConditionController from '../ConditionController/ConditionController';\nimport DragControllerRow from '../DragControllerRow/DragControllerRow';\n\nconst RenderField = ({\n target,\n component,\n valueProp,\n additionalInfo,\n handleMouseEnterInput,\n handleMouseLeaveInput,\n onChangeHandler,\n hasError,\n}) => {\n const ref = React.useRef<HTMLElement>();\n const id = React.useMemo(() => `el_${String.fromCharCode(65 + Math.floor(Math.random() * 26))}`, []);\n return (\n <div\n className={`em-ds-query-builder-row-input child-type-${target} ${\n hasError && hasError.error ? 'row-input-error' : ''\n }`}\n onMouseDownCapture={() => {\n // eslint-disable-next-line no-underscore-dangle\n const _refInput = ref.current?.querySelector(`#${id}`);\n if (_refInput && _refInput.focus) setTimeout(_refInput.focus());\n handleMouseEnterInput();\n }}\n onMouseEnter={() => handleMouseEnterInput()}\n onMouseLeave={() => handleMouseLeaveInput()}\n >\n <div ref={ref} className=\"em-ds-query-builder-row__input-controller\">\n {React.cloneElement(component, {\n id,\n onChange: (e, extraData) => onChangeHandler(e, target, extraData),\n value: valueProp != null ? valueProp : '',\n checked: valueProp === true,\n additionalInfo: additionalInfo ? additionalInfo[target] : additionalInfo || {},\n 'aria-invalid': Boolean(hasError),\n })}\n </div>\n {hasError && hasError.errorMessage ? (\n <div style={{ width: '40px' }}>\n <DSTooltipV3 text={hasError.errorMessage}>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div tabIndex={0} className=\"row-icon-alert\" data-testid=\"qb-error-state-icon\" role=\"alert\">\n <AlertsDetail width={20} height={20} color={['danger', 900]} title={hasError.errorMessage} />\n </div>\n </DSTooltipV3>\n </div>\n ) : null}\n </div>\n );\n // return React.useMemo(\n // () => (\n // <div\n // className={`em-ds-query-builder-row-input child-type-${target}`}\n // onMouseDownCapture={() => {\n // // eslint-disable-next-line no-underscore-dangle\n // const _refInput = ref.current.querySelector(`#${id}`);\n // if (_refInput && _refInput.focus) setTimeout(_refInput.focus());\n // handleMouseEnterInput();\n // }}\n // onMouseEnter={() => handleMouseEnterInput()}\n // onMouseLeave={() => handleMouseLeaveInput()}\n // >\n // <div ref={ref} className=\"em-ds-query-builder-row__input-controller\">\n // {React.cloneElement(component, {\n // id,\n // onChange: (e, extraData) => onChangeHandler(e, target, extraData),\n // value: valueProp != null ? valueProp : '',\n // checked: valueProp === true,\n // additionalInfo: additionalInfo ? additionalInfo[target] : {},\n // })}\n // </div>\n // </div>\n // ),\n // [target, component, valueProp, additionalInfo],\n // );\n};\nclass QueryBuilderRow extends Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = {\n isOpen: false,\n };\n\n this.onChangeHandler = this.onChangeHandler.bind(this);\n }\n\n onChangeHandler(e, target, extraData, hasError) {\n const { handleFieldChange, idFilter, idGroup, additionalInfo, field, operator, value } = this.props;\n let eventValue = e;\n if (e && e.target) {\n const { value, checked } = e.target;\n if (value || value === '' || typeof value === 'boolean') eventValue = value;\n else eventValue = checked || e;\n }\n handleFieldChange({\n [target]: eventValue,\n idFilter,\n idGroup,\n additionalInfo: {\n ...additionalInfo,\n [target]: extraData,\n [`${target}_error`]: hasError,\n [`${target}_touched`]: true,\n },\n target,\n });\n }\n\n handleMouseEnterRow = () => {};\n\n handleMouseLeaveRow = () => {\n this.handleTooltipRow(false);\n };\n\n handleMouseEnterInput = () => {\n const { setDraggableItems } = this.props;\n setDraggableItems(false);\n };\n\n handleMouseLeaveInput = () => {\n const { setDraggableItems } = this.props;\n setDraggableItems(true);\n };\n\n handleTooltipRow = (isOpen) => {\n this.setState({ isOpen });\n };\n\n render() {\n const { isOpen } = this.state;\n const {\n fields,\n onAddFilter,\n onRemoveFilter,\n onAddRuleContainer,\n field,\n operator,\n value,\n additionalInfo,\n items,\n singleRow,\n toolTipZIndex,\n error,\n } = this.props;\n const { cssClassName, classNameBlock, classNameElement } = convertPropToCssClassName(\n 'query-builder-row',\n isOpen ? 'has-open-tooltip' : 'has-close-tooltip',\n singleRow ? 'is-single-row' : 'is-multiple-row',\n );\n const test = resolveDependencies(\n {\n field,\n operator,\n value,\n additionalInfo,\n },\n fields,\n );\n\n const gridTemplateColumns = [\n '24px',\n ...test.map((r) => {\n if (r.handleWidth) {\n return r.handleWidth(this.props[r.target], {\n field,\n operator,\n value,\n additionalInfo,\n });\n }\n return 'minmax(0, 1fr)';\n }),\n '30px',\n ].join(' ');\n\n return (\n <>\n <div\n className={cssClassName}\n onMouseEnter={this.handleMouseEnterRow}\n onMouseLeave={this.handleMouseLeaveRow}\n style={{\n gridTemplateColumns,\n }}\n >\n {!singleRow && (\n <DragControllerRow\n className={classNameElement('drag-controller')}\n onMouseDownCapture={() => this.handleMouseLeaveInput()}\n />\n )}\n {test.map((renderField) => {\n const { target, component } = renderField;\n const { [target]: valueProp } = this.props;\n\n const isTouched = additionalInfo && additionalInfo[`${target}_touched`];\n const hasError =\n renderField && renderField.validation\n ? renderField.validation(valueProp, {\n field,\n operator,\n value,\n additionalInfo,\n })\n : false;\n return (\n <RenderField\n component={component}\n target={target}\n valueProp={valueProp}\n onChangeHandler={(e, target, extraData) => {\n this.onChangeHandler(e, target, extraData, hasError);\n }}\n handleMouseEnterInput={this.handleMouseEnterInput}\n handleMouseLeaveInput={this.handleMouseLeaveInput}\n additionalInfo={additionalInfo}\n hasError={isTouched && hasError}\n />\n );\n })}\n {!singleRow && (\n <div className={classNameBlock('controller')}>\n <ConditionController\n handleTooltipRow={this.handleTooltipRow}\n isOpen={isOpen}\n items={items}\n onAddFilter={onAddFilter}\n onAddRuleContainer={onAddRuleContainer}\n onRemoveFilter={onRemoveFilter}\n toolTipZIndex={toolTipZIndex}\n />\n </div>\n )}\n </div>\n </>\n );\n }\n}\n\nexport default QueryBuilderRow;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuBnB;AArBJ,mBAAiC;AACjC,sBAA6B;AAC7B,wBAA4B;AAC5B,2BAA0C;AAC1C,0BAAoC;AACpC,iCAAgC;AAChC,+BAA8B;AAE9B,MAAM,cAAc,CAAC;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,MAAM,aAAAA,QAAM,OAAoB;AACtC,QAAM,KAAK,aAAAA,QAAM,QAAQ,MAAM,MAAM,OAAO,aAAa,KAAK,KAAK,MAAM,KAAK,OAAO,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;AACnG,SACE,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-return */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport React, { Component } from 'react';\nimport { AlertsDetail } from '@elliemae/ds-icons';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { resolveDependencies } from '../helpers/dependencies';\nimport ConditionController from '../ConditionController/ConditionController';\nimport DragControllerRow from '../DragControllerRow/DragControllerRow';\n\nconst RenderField = ({\n target,\n component,\n valueProp,\n additionalInfo,\n handleMouseEnterInput,\n handleMouseLeaveInput,\n onChangeHandler,\n hasError,\n}) => {\n const ref = React.useRef<HTMLElement>();\n const id = React.useMemo(() => `el_${String.fromCharCode(65 + Math.floor(Math.random() * 26))}`, []);\n return (\n <div\n className={`em-ds-query-builder-row-input child-type-${target} ${\n hasError && hasError.error ? 'row-input-error' : ''\n }`}\n onMouseDownCapture={() => {\n // eslint-disable-next-line no-underscore-dangle\n const _refInput = ref.current?.querySelector(`#${id}`);\n if (_refInput && _refInput.focus) setTimeout(_refInput.focus());\n handleMouseEnterInput();\n }}\n onMouseEnter={() => handleMouseEnterInput()}\n onMouseLeave={() => handleMouseLeaveInput()}\n >\n <div ref={ref} className=\"em-ds-query-builder-row__input-controller\">\n {React.cloneElement(component, {\n id,\n onChange: (e, extraData) => onChangeHandler(e, target, extraData),\n value: valueProp != null ? valueProp : '',\n checked: valueProp === true,\n additionalInfo: additionalInfo ? additionalInfo[target] : additionalInfo || {},\n 'aria-invalid': Boolean(hasError),\n })}\n </div>\n {hasError && hasError.errorMessage ? (\n <div style={{ width: '40px' }}>\n <DSTooltipV3 text={hasError.errorMessage}>\n {/* eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex */}\n <div tabIndex={0} className=\"row-icon-alert\" data-testid=\"qb-error-state-icon\" role=\"alert\">\n <AlertsDetail width={20} height={20} color={['danger', 900]} title={hasError.errorMessage} />\n </div>\n </DSTooltipV3>\n </div>\n ) : null}\n </div>\n );\n // return React.useMemo(\n // () => (\n // <div\n // className={`em-ds-query-builder-row-input child-type-${target}`}\n // onMouseDownCapture={() => {\n // // eslint-disable-next-line no-underscore-dangle\n // const _refInput = ref.current.querySelector(`#${id}`);\n // if (_refInput && _refInput.focus) setTimeout(_refInput.focus());\n // handleMouseEnterInput();\n // }}\n // onMouseEnter={() => handleMouseEnterInput()}\n // onMouseLeave={() => handleMouseLeaveInput()}\n // >\n // <div ref={ref} className=\"em-ds-query-builder-row__input-controller\">\n // {React.cloneElement(component, {\n // id,\n // onChange: (e, extraData) => onChangeHandler(e, target, extraData),\n // value: valueProp != null ? valueProp : '',\n // checked: valueProp === true,\n // additionalInfo: additionalInfo ? additionalInfo[target] : {},\n // })}\n // </div>\n // </div>\n // ),\n // [target, component, valueProp, additionalInfo],\n // );\n};\nclass QueryBuilderRow extends Component<any, any> {\n constructor(props: any) {\n super(props);\n this.state = {\n isOpen: false,\n };\n\n this.onChangeHandler = this.onChangeHandler.bind(this);\n }\n\n onChangeHandler(e, target, extraData, hasError) {\n const { handleFieldChange, idFilter, idGroup, additionalInfo, field, operator, value } = this.props;\n let eventValue = e;\n if (e && e.target) {\n const { value, checked } = e.target;\n if (value || value === '' || typeof value === 'boolean') eventValue = value;\n else eventValue = checked || e;\n }\n handleFieldChange({\n [target]: eventValue,\n idFilter,\n idGroup,\n additionalInfo: {\n ...additionalInfo,\n [target]: extraData,\n [`${target}_error`]: hasError,\n [`${target}_touched`]: true,\n },\n target,\n });\n }\n\n handleMouseEnterRow = () => {};\n\n handleMouseLeaveRow = () => {\n this.handleTooltipRow(false);\n };\n\n handleMouseEnterInput = () => {\n const { setDraggableItems } = this.props;\n setDraggableItems(false);\n };\n\n handleMouseLeaveInput = () => {\n const { setDraggableItems } = this.props;\n setDraggableItems(true);\n };\n\n handleTooltipRow = (isOpen) => {\n this.setState({ isOpen });\n };\n\n render() {\n const { isOpen } = this.state;\n const {\n fields,\n onAddFilter,\n onRemoveFilter,\n onAddRuleContainer,\n field,\n operator,\n value,\n additionalInfo,\n items,\n singleRow,\n toolTipZIndex,\n error,\n } = this.props;\n const { cssClassName, classNameBlock, classNameElement } = convertPropToCssClassName(\n 'query-builder-row',\n isOpen ? 'has-open-tooltip' : 'has-close-tooltip',\n singleRow ? 'is-single-row' : 'is-multiple-row',\n );\n const test = resolveDependencies(\n {\n field,\n operator,\n value,\n additionalInfo,\n },\n fields,\n );\n\n const gridTemplateColumns = [\n singleRow ? '' : '24px',\n ...test.map((r) => {\n if (r.handleWidth) {\n return r.handleWidth(this.props[r.target], {\n field,\n operator,\n value,\n additionalInfo,\n });\n }\n return 'minmax(0, 1fr)';\n }),\n '30px',\n ].join(' ');\n\n return (\n <>\n <div\n className={cssClassName}\n onMouseEnter={this.handleMouseEnterRow}\n onMouseLeave={this.handleMouseLeaveRow}\n style={{\n gridTemplateColumns,\n }}\n >\n {!singleRow && (\n <DragControllerRow\n className={classNameElement('drag-controller')}\n onMouseDownCapture={() => this.handleMouseLeaveInput()}\n />\n )}\n {test.map((renderField) => {\n const { target, component } = renderField;\n const { [target]: valueProp } = this.props;\n\n const isTouched = additionalInfo && additionalInfo[`${target}_touched`];\n const hasError =\n renderField && renderField.validation\n ? renderField.validation(valueProp, {\n field,\n operator,\n value,\n additionalInfo,\n })\n : false;\n return (\n <RenderField\n component={component}\n target={target}\n valueProp={valueProp}\n onChangeHandler={(e, target, extraData) => {\n this.onChangeHandler(e, target, extraData, hasError);\n }}\n handleMouseEnterInput={this.handleMouseEnterInput}\n handleMouseLeaveInput={this.handleMouseLeaveInput}\n additionalInfo={additionalInfo}\n hasError={isTouched && hasError}\n />\n );\n })}\n {!singleRow && (\n <div className={classNameBlock('controller')}>\n <ConditionController\n handleTooltipRow={this.handleTooltipRow}\n isOpen={isOpen}\n items={items}\n onAddFilter={onAddFilter}\n onAddRuleContainer={onAddRuleContainer}\n onRemoveFilter={onRemoveFilter}\n toolTipZIndex={toolTipZIndex}\n />\n </div>\n )}\n </div>\n </>\n );\n }\n}\n\nexport default QueryBuilderRow;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["React", "value", "DragControllerRow", "target", "ConditionController"]
|
|
7
7
|
}
|
|
@@ -30,10 +30,5 @@ module.exports = __toCommonJS(ToolBarAnimation_exports);
|
|
|
30
30
|
var React = __toESM(require("react"));
|
|
31
31
|
var import_react = require("react");
|
|
32
32
|
var import_ds_shared = require("@elliemae/ds-shared");
|
|
33
|
-
const ToolBarAnimation = (props) => /* @__PURE__ */ (0, import_react.createElement)(import_ds_shared.GrowRight, {
|
|
34
|
-
...props,
|
|
35
|
-
key: "popper-animation-key",
|
|
36
|
-
from: 0.5,
|
|
37
|
-
to: 1
|
|
38
|
-
});
|
|
33
|
+
const ToolBarAnimation = (props) => /* @__PURE__ */ (0, import_react.createElement)(import_ds_shared.GrowRight, { ...props, key: "popper-animation-key", from: 0.5, to: 1 });
|
|
39
34
|
//# sourceMappingURL=ToolBarAnimation.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/ToolBarAnimation/ToolBarAnimation.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
4
|
"sourcesContent": ["import React from 'react';\nimport { GrowRight } from '@elliemae/ds-shared';\n\nconst ToolBarAnimation = (props) => <GrowRight {...props} key=\"popper-animation-key\" from={0.5} to={1} />;\n\nexport { ToolBarAnimation };\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGa;AAFpC,uBAA0B;AAE1B,MAAM,mBAAmB,CAAC,UAAU,gDAAC
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADGa;AAFpC,uBAA0B;AAE1B,MAAM,mBAAmB,CAAC,UAAU,gDAAC,8BAAW,GAAG,OAAO,KAAI,wBAAuB,MAAM,KAAK,IAAI,GAAG;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -53,31 +53,34 @@ const DSQueryBuilder = ({
|
|
|
53
53
|
},
|
|
54
54
|
singleRow = false,
|
|
55
55
|
toolTipZIndex = 110
|
|
56
|
-
}) => /* @__PURE__ */ jsx(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
56
|
+
}) => /* @__PURE__ */ jsx(
|
|
57
|
+
QueryBuilderImpl,
|
|
58
|
+
{
|
|
59
|
+
addFilterMethod,
|
|
60
|
+
containerProps,
|
|
61
|
+
displayFixedOutput,
|
|
62
|
+
displayOutput,
|
|
63
|
+
displayOutputLabel,
|
|
64
|
+
fields,
|
|
65
|
+
fieldsSharedActions,
|
|
66
|
+
format,
|
|
67
|
+
groupFilterMethod,
|
|
68
|
+
handleDrop,
|
|
69
|
+
handleDropFilter,
|
|
70
|
+
handleDropGroup,
|
|
71
|
+
handleFieldChange,
|
|
72
|
+
handleRuleContainerOperator,
|
|
73
|
+
handleRuleContainerUnGroup,
|
|
74
|
+
init,
|
|
75
|
+
onAddFilter,
|
|
76
|
+
onAddRuleContainer,
|
|
77
|
+
onChange,
|
|
78
|
+
onRemoveFilter,
|
|
79
|
+
ruleContainerClassName,
|
|
80
|
+
singleRow,
|
|
81
|
+
toolTipZIndex
|
|
82
|
+
}
|
|
83
|
+
);
|
|
81
84
|
DSQueryBuilder.propTypes = props;
|
|
82
85
|
DSQueryBuilder.displayName = "DSQueryBuilder";
|
|
83
86
|
const DSQueryBuilderWithSchema = describe(DSQueryBuilder);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSQueryBuilder.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe } from '@elliemae/ds-utilities';\nimport QueryBuilderImpl from './components/QueryBuilderImpl';\nimport {\n QB_FIELD_TYPES,\n QB_OPERATOR_TYPES,\n QB_GROUP_CONDITION_TYPES,\n QB_DRAG_TYPES,\n QB_DRAG_LOCATIONS,\n QB_EXPORT_FORMAT_TYPES,\n QB_ADD_FILTER_METHOD_TYPES,\n QB_GROUP_FILTER_METHOD_TYPES,\n QB_FIELD_SHARED_ACTIONS,\n} from './components/helpers/types';\nimport {\n QB_OPERATOR_OPTIONS,\n QB_DEFAULT_VALUES_OPTIONS,\n QB_FIELD_OPTIONS,\n QB_LOAN_VALUES_OPTIONS,\n QB_SUBJECT_VALUES_OPTIONS,\n} from './components/helpers/selectors';\nimport QueryBuilderFormat from './components/format/format';\nimport { props } from './propTypes';\n\nconst DSQueryBuilder = ({\n containerProps = {},\n addFilterMethod = QB_ADD_FILTER_METHOD_TYPES.IN_PLACE,\n groupFilterMethod = QB_GROUP_FILTER_METHOD_TYPES.IN_PLACE,\n onChange = () => null,\n fields = [],\n fieldsSharedActions = {\n onFieldChange: [],\n onOperatorChange: [],\n onValueChange: [],\n },\n format = QB_EXPORT_FORMAT_TYPES.DEFAULT,\n init = null,\n ruleContainerClassName = '',\n handleDrop = () => null,\n handleDropFilter = () => null,\n handleDropGroup = () => null,\n handleFieldChange = () => null,\n handleRuleContainerOperator = () => null,\n handleRuleContainerUnGroup = () => null,\n onAddFilter = () => null,\n onAddRuleContainer = () => null,\n onRemoveFilter = () => null,\n displayFixedOutput,\n displayOutput = false,\n displayOutputLabel = {\n show: 'Show output',\n hide: 'Hide output',\n },\n singleRow = false,\n toolTipZIndex = 110,\n}) => (\n <QueryBuilderImpl\n addFilterMethod={addFilterMethod}\n containerProps={containerProps}\n displayFixedOutput={displayFixedOutput}\n displayOutput={displayOutput}\n displayOutputLabel={displayOutputLabel}\n fields={fields}\n fieldsSharedActions={fieldsSharedActions}\n format={format}\n groupFilterMethod={groupFilterMethod}\n handleDrop={handleDrop}\n handleDropFilter={handleDropFilter}\n handleDropGroup={handleDropGroup}\n handleFieldChange={handleFieldChange}\n handleRuleContainerOperator={handleRuleContainerOperator}\n handleRuleContainerUnGroup={handleRuleContainerUnGroup}\n init={init}\n onAddFilter={onAddFilter}\n onAddRuleContainer={onAddRuleContainer}\n onChange={onChange}\n onRemoveFilter={onRemoveFilter}\n ruleContainerClassName={ruleContainerClassName}\n singleRow={singleRow}\n toolTipZIndex={toolTipZIndex}\n />\n);\n\nDSQueryBuilder.propTypes = props;\nDSQueryBuilder.displayName = 'DSQueryBuilder';\nconst DSQueryBuilderWithSchema = describe(DSQueryBuilder);\nDSQueryBuilderWithSchema.propTypes = props;\n\nexport {\n QB_FIELD_SHARED_ACTIONS,\n QB_FIELD_TYPES,\n QB_OPERATOR_TYPES,\n QB_OPERATOR_OPTIONS,\n QB_DEFAULT_VALUES_OPTIONS,\n QB_FIELD_OPTIONS,\n QB_LOAN_VALUES_OPTIONS,\n QB_SUBJECT_VALUES_OPTIONS,\n QB_GROUP_CONDITION_TYPES,\n QB_DRAG_TYPES,\n QB_DRAG_LOCATIONS,\n QB_EXPORT_FORMAT_TYPES,\n QB_ADD_FILTER_METHOD_TYPES,\n QB_GROUP_FILTER_METHOD_TYPES,\n QueryBuilderFormat,\n DSQueryBuilderWithSchema,\n DSQueryBuilder,\n};\n\nexport default DSQueryBuilder;\n"],
|
|
5
|
-
"mappings": "AAAA,YAAY,WAAW;ACwDrB;AAvDF,SAAS,gBAAgB;AACzB,OAAO,sBAAsB;AAC7B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,OAAO,wBAAwB;AAC/B,SAAS,aAAa;AAEtB,MAAM,iBAAiB,CAAC;AAAA,EACtB,iBAAiB,CAAC;AAAA,EAClB,kBAAkB,2BAA2B;AAAA,EAC7C,oBAAoB,6BAA6B;AAAA,EACjD,WAAW,MAAM;AAAA,EACjB,SAAS,CAAC;AAAA,EACV,sBAAsB;AAAA,IACpB,eAAe,CAAC;AAAA,IAChB,kBAAkB,CAAC;AAAA,IACnB,eAAe,CAAC;AAAA,EAClB;AAAA,EACA,SAAS,uBAAuB;AAAA,EAChC,OAAO;AAAA,EACP,yBAAyB;AAAA,EACzB,aAAa,MAAM;AAAA,EACnB,mBAAmB,MAAM;AAAA,EACzB,kBAAkB,MAAM;AAAA,EACxB,oBAAoB,MAAM;AAAA,EAC1B,8BAA8B,MAAM;AAAA,EACpC,6BAA6B,MAAM;AAAA,EACnC,cAAc,MAAM;AAAA,EACpB,qBAAqB,MAAM;AAAA,EAC3B,iBAAiB,MAAM;AAAA,EACvB;AAAA,EACA,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,IACnB,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,EACZ,gBAAgB;AAClB,MACE
|
|
5
|
+
"mappings": "AAAA,YAAY,WAAW;ACwDrB;AAvDF,SAAS,gBAAgB;AACzB,OAAO,sBAAsB;AAC7B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,OAAO,wBAAwB;AAC/B,SAAS,aAAa;AAEtB,MAAM,iBAAiB,CAAC;AAAA,EACtB,iBAAiB,CAAC;AAAA,EAClB,kBAAkB,2BAA2B;AAAA,EAC7C,oBAAoB,6BAA6B;AAAA,EACjD,WAAW,MAAM;AAAA,EACjB,SAAS,CAAC;AAAA,EACV,sBAAsB;AAAA,IACpB,eAAe,CAAC;AAAA,IAChB,kBAAkB,CAAC;AAAA,IACnB,eAAe,CAAC;AAAA,EAClB;AAAA,EACA,SAAS,uBAAuB;AAAA,EAChC,OAAO;AAAA,EACP,yBAAyB;AAAA,EACzB,aAAa,MAAM;AAAA,EACnB,mBAAmB,MAAM;AAAA,EACzB,kBAAkB,MAAM;AAAA,EACxB,oBAAoB,MAAM;AAAA,EAC1B,8BAA8B,MAAM;AAAA,EACpC,6BAA6B,MAAM;AAAA,EACnC,cAAc,MAAM;AAAA,EACpB,qBAAqB,MAAM;AAAA,EAC3B,iBAAiB,MAAM;AAAA,EACvB;AAAA,EACA,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,IACnB,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,EACZ,gBAAgB;AAClB,MACE;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AACF;AAGF,eAAe,YAAY;AAC3B,eAAe,cAAc;AAC7B,MAAM,2BAA2B,SAAS,cAAc;AACxD,yBAAyB,YAAY;AAsBrC,IAAO,yBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -70,110 +70,121 @@ class AndOrController extends Component {
|
|
|
70
70
|
toolTipZIndex
|
|
71
71
|
} = this.props;
|
|
72
72
|
const { isOpen, top, right } = this.state;
|
|
73
|
-
return /* @__PURE__ */ jsx(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
children: /* @__PURE__ */ jsx(
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
title: "Add condition",
|
|
102
|
-
triggerComponent: /* @__PURE__ */ jsx(DSButton, {
|
|
103
|
-
buttonType: buttonActionType,
|
|
104
|
-
className: classNameElement("add-rule"),
|
|
105
|
-
icon: /* @__PURE__ */ jsx(QueryAdd, {}),
|
|
106
|
-
onClick: onAddFilter,
|
|
107
|
-
size: buttonActionSize,
|
|
108
|
-
containerProps: {
|
|
109
|
-
"data-testid": "query-add-button"
|
|
110
|
-
}
|
|
111
|
-
})
|
|
112
|
-
}),
|
|
113
|
-
allowUnGroup && /* @__PURE__ */ jsx(DSTooltip, {
|
|
114
|
-
title: "Remove group",
|
|
115
|
-
triggerComponent: /* @__PURE__ */ jsx(DSButton, {
|
|
116
|
-
buttonType: "text",
|
|
117
|
-
className: classNameElement("ungroup"),
|
|
118
|
-
icon: /* @__PURE__ */ jsx(ParenthesisRemove, {}),
|
|
119
|
-
onClick: handleRuleContainerUnGroup,
|
|
120
|
-
size: buttonActionSize,
|
|
121
|
-
containerProps: {
|
|
122
|
-
"data-testid": "parenthesis-remove-button"
|
|
123
|
-
}
|
|
124
|
-
})
|
|
125
|
-
}),
|
|
126
|
-
/* @__PURE__ */ jsx(DSToggle, {
|
|
127
|
-
checked: condition,
|
|
128
|
-
className: classNameElement("and-or-toggle"),
|
|
129
|
-
labelOff,
|
|
130
|
-
labelOn,
|
|
131
|
-
onChange: (e) => handleRuleContainerOperator(e.target.checked),
|
|
132
|
-
size: toogleActionSize,
|
|
133
|
-
containerProps: {
|
|
134
|
-
"data-testid": "and-or-toggle-button"
|
|
135
|
-
}
|
|
136
|
-
})
|
|
137
|
-
]
|
|
138
|
-
}),
|
|
139
|
-
tooltipType: TooltipType.TOOLBAR,
|
|
140
|
-
triggerComponent: /* @__PURE__ */ jsxs("div", {
|
|
141
|
-
className: `${classNameBlock("trigger-controller")} ${showDragController ? classNameBlockModifier("draggable", "trigger-controller") : ""} step-${step}`,
|
|
142
|
-
children: [
|
|
143
|
-
/* @__PURE__ */ jsxs("div", {
|
|
144
|
-
className: classNameElement("condition-display"),
|
|
73
|
+
return /* @__PURE__ */ jsx(
|
|
74
|
+
"div",
|
|
75
|
+
{
|
|
76
|
+
ref: this.myRef,
|
|
77
|
+
className: `${cssClassName} ${mainModifier(condition ? "active" : "default")} step-${step} ${isMain ? "is-main-group-join" : ""}`,
|
|
78
|
+
onMouseLeave: this.handleMouseLeaveRow,
|
|
79
|
+
children: /* @__PURE__ */ jsx("div", { className: `${classNameBlock("content")} step-${step}`, children: /* @__PURE__ */ jsx(
|
|
80
|
+
DSTooltip,
|
|
81
|
+
{
|
|
82
|
+
delayClose,
|
|
83
|
+
delayOpen,
|
|
84
|
+
interactionType: toolBarInteractionType,
|
|
85
|
+
isOpen,
|
|
86
|
+
onOpen: this.handleTooltipRow,
|
|
87
|
+
placement: toolBarPosition,
|
|
88
|
+
springAnimationComponent: /* @__PURE__ */ jsx(ToolBarAnimation, { duration: toolBarAnimationDuration }),
|
|
89
|
+
step,
|
|
90
|
+
title: /* @__PURE__ */ jsxs(
|
|
91
|
+
"div",
|
|
92
|
+
{
|
|
93
|
+
ref: this.contenerRef,
|
|
94
|
+
className: classNameBlock("actions"),
|
|
95
|
+
style: {
|
|
96
|
+
transition: "0.2s",
|
|
97
|
+
position: "absolute",
|
|
98
|
+
top: `${top}px`,
|
|
99
|
+
right: `${right}px`
|
|
100
|
+
},
|
|
145
101
|
children: [
|
|
146
|
-
/* @__PURE__ */ jsx(
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
102
|
+
/* @__PURE__ */ jsx(
|
|
103
|
+
DSTooltip,
|
|
104
|
+
{
|
|
105
|
+
title: "Add condition",
|
|
106
|
+
triggerComponent: /* @__PURE__ */ jsx(
|
|
107
|
+
DSButton,
|
|
108
|
+
{
|
|
109
|
+
buttonType: buttonActionType,
|
|
110
|
+
className: classNameElement("add-rule"),
|
|
111
|
+
icon: /* @__PURE__ */ jsx(QueryAdd, {}),
|
|
112
|
+
onClick: onAddFilter,
|
|
113
|
+
size: buttonActionSize,
|
|
114
|
+
containerProps: {
|
|
115
|
+
"data-testid": "query-add-button"
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
)
|
|
163
119
|
}
|
|
164
|
-
|
|
120
|
+
),
|
|
121
|
+
allowUnGroup && /* @__PURE__ */ jsx(
|
|
122
|
+
DSTooltip,
|
|
123
|
+
{
|
|
124
|
+
title: "Remove group",
|
|
125
|
+
triggerComponent: /* @__PURE__ */ jsx(
|
|
126
|
+
DSButton,
|
|
127
|
+
{
|
|
128
|
+
buttonType: "text",
|
|
129
|
+
className: classNameElement("ungroup"),
|
|
130
|
+
icon: /* @__PURE__ */ jsx(ParenthesisRemove, {}),
|
|
131
|
+
onClick: handleRuleContainerUnGroup,
|
|
132
|
+
size: buttonActionSize,
|
|
133
|
+
containerProps: {
|
|
134
|
+
"data-testid": "parenthesis-remove-button"
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
),
|
|
140
|
+
/* @__PURE__ */ jsx(
|
|
141
|
+
DSToggle,
|
|
142
|
+
{
|
|
143
|
+
checked: condition,
|
|
144
|
+
className: classNameElement("and-or-toggle"),
|
|
145
|
+
labelOff,
|
|
146
|
+
labelOn,
|
|
147
|
+
onChange: (e) => handleRuleContainerOperator(e.target.checked),
|
|
148
|
+
size: toogleActionSize,
|
|
149
|
+
containerProps: {
|
|
150
|
+
"data-testid": "and-or-toggle-button"
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
)
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
),
|
|
157
|
+
tooltipType: TooltipType.TOOLBAR,
|
|
158
|
+
triggerComponent: /* @__PURE__ */ jsxs(
|
|
159
|
+
"div",
|
|
160
|
+
{
|
|
161
|
+
className: `${classNameBlock("trigger-controller")} ${showDragController ? classNameBlockModifier("draggable", "trigger-controller") : ""} step-${step}`,
|
|
162
|
+
children: [
|
|
163
|
+
/* @__PURE__ */ jsxs("div", { className: classNameElement("condition-display"), children: [
|
|
164
|
+
/* @__PURE__ */ jsx("span", { className: classNameElement("condition-display-label"), children: condition ? labelOn : labelOff }),
|
|
165
|
+
/* @__PURE__ */ jsx("span", { className: classNameElement("condition-display-step"), children: step }),
|
|
166
|
+
/* @__PURE__ */ jsx("div", { className: "separator" }),
|
|
167
|
+
/* @__PURE__ */ jsx(
|
|
168
|
+
MoreOptionsVert,
|
|
169
|
+
{
|
|
170
|
+
color: DSIconColors.NEUTRAL,
|
|
171
|
+
onClick: this.handleMouseEnterRow,
|
|
172
|
+
size: DSIconSizes.S,
|
|
173
|
+
containerProps: {
|
|
174
|
+
"data-testid": "and-or-more-options-button"
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
] }),
|
|
179
|
+
showDragController && /* @__PURE__ */ jsx(DragContainerController, { multipleSize, onClick: this.handleMouseEnterRow })
|
|
165
180
|
]
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
zIndex: toolTipZIndex
|
|
174
|
-
})
|
|
175
|
-
})
|
|
176
|
-
});
|
|
181
|
+
}
|
|
182
|
+
),
|
|
183
|
+
zIndex: toolTipZIndex
|
|
184
|
+
}
|
|
185
|
+
) })
|
|
186
|
+
}
|
|
187
|
+
);
|
|
177
188
|
}
|
|
178
189
|
}
|
|
179
190
|
AndOrController.defaultProps = {
|