@elliemae/ds-query-builder 1.61.8 → 1.61.12
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/cjs/components/QueryBuilderRow/QueryBuilderRow.js +10 -1
- package/cjs/components/QueryBuilderRow/QueryBuilderRow.js.map +1 -1
- package/cjs/components/helpers/dependencies.js +4 -2
- package/cjs/components/helpers/dependencies.js.map +1 -1
- package/esm/components/QueryBuilderRow/QueryBuilderRow.js +10 -1
- package/esm/components/QueryBuilderRow/QueryBuilderRow.js.map +1 -1
- package/esm/components/helpers/dependencies.js +4 -2
- package/esm/components/helpers/dependencies.js.map +1 -1
- package/package.json +7 -7
|
@@ -226,7 +226,16 @@ var QueryBuilderRow = /*#__PURE__*/function (_Component) {
|
|
|
226
226
|
value: value,
|
|
227
227
|
additionalInfo: additionalInfo
|
|
228
228
|
}, fields);
|
|
229
|
-
var gridTemplateColumns = ['24px'].concat(_toConsumableArray__default['default'](test.map(function () {
|
|
229
|
+
var gridTemplateColumns = ['24px'].concat(_toConsumableArray__default['default'](test.map(function (r) {
|
|
230
|
+
if (r.handleWidth) {
|
|
231
|
+
return r.handleWidth(_this2.props[r.target], {
|
|
232
|
+
field: field,
|
|
233
|
+
operator: operator,
|
|
234
|
+
value: value,
|
|
235
|
+
additionalInfo: additionalInfo
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
|
|
230
239
|
return 'minmax(0, 1fr)';
|
|
231
240
|
})), ['30px']).join(' ');
|
|
232
241
|
return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilderRow.js","sources":["../../../../src/components/QueryBuilderRow/QueryBuilderRow.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\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 {\n constructor(props) {\n super(props);\n this.state = {\n isOpen: false,\n };\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 = ['24px', ...test.map(() => 'minmax(0, 1fr)'), '30px'].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"],"names":["RenderField","target","component","valueProp","additionalInfo","handleMouseEnterInput","handleMouseLeaveInput","onChangeHandler","hasError","ref","React","useRef","id","useMemo","String","fromCharCode","Math","floor","random","error","_refInput","current","querySelector","focus","setTimeout","cloneElement","onChange","e","extraData","value","checked","Boolean","errorMessage","width","DSTooltipV3","AlertsDetail","QueryBuilderRow","props","handleMouseEnterRow","handleMouseLeaveRow","handleTooltipRow","setDraggableItems","isOpen","setState","state","handleFieldChange","idFilter","idGroup","field","operator","eventValue","fields","onAddFilter","onRemoveFilter","onAddRuleContainer","items","singleRow","toolTipZIndex","convertPropToCssClassName","cssClassName","classNameBlock","classNameElement","test","resolveDependencies","gridTemplateColumns","map","join","DragControllerRow","renderField","isTouched","validation","ConditionController","Component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryBuilderRow.js","sources":["../../../../src/components/QueryBuilderRow/QueryBuilderRow.tsx"],"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} ${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\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"],"names":["RenderField","target","component","valueProp","additionalInfo","handleMouseEnterInput","handleMouseLeaveInput","onChangeHandler","hasError","ref","React","useRef","id","useMemo","String","fromCharCode","Math","floor","random","error","_refInput","current","querySelector","focus","setTimeout","cloneElement","onChange","e","extraData","value","checked","Boolean","errorMessage","width","DSTooltipV3","AlertsDetail","QueryBuilderRow","props","handleMouseEnterRow","handleMouseLeaveRow","handleTooltipRow","setDraggableItems","isOpen","setState","state","handleFieldChange","idFilter","idGroup","field","operator","eventValue","fields","onAddFilter","onRemoveFilter","onAddRuleContainer","items","singleRow","toolTipZIndex","convertPropToCssClassName","cssClassName","classNameBlock","classNameElement","test","resolveDependencies","gridTemplateColumns","map","r","handleWidth","join","DragControllerRow","renderField","isTouched","validation","ConditionController","Component"],"mappings":"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"}
|
|
@@ -57,11 +57,13 @@ var resolveDependencies = function resolveDependencies(state, fields) {
|
|
|
57
57
|
component = _ref.component,
|
|
58
58
|
condition = _ref.condition,
|
|
59
59
|
resolveBy = _ref.resolveBy,
|
|
60
|
-
validation = _ref.validation
|
|
60
|
+
validation = _ref.validation,
|
|
61
|
+
handleWidth = _ref.handleWidth;
|
|
61
62
|
if (resolveCondition(condition, state, resolveBy)) result.push({
|
|
62
63
|
target: target,
|
|
63
64
|
component: component,
|
|
64
|
-
validation: validation
|
|
65
|
+
validation: validation,
|
|
66
|
+
handleWidth: handleWidth
|
|
65
67
|
});
|
|
66
68
|
return result;
|
|
67
69
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sources":["../../../../src/components/helpers/dependencies.tsx"],"sourcesContent":["import { get } from 'lodash';\nimport * as operators from '@elliemae/ds-utilities/operators';\nimport { QB_GROUP_CONDITION_TYPES } from './types';\n\nconst resolveCondition = (\n condition,\n state,\n resolveBy = QB_GROUP_CONDITION_TYPES.AND,\n) => {\n if (condition.length === 0 || !condition) return true;\n // resolve by AND: all the conditions must be true\n if (resolveBy) {\n return condition.every((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n if (typeof operatorRule === \"function\") return operatorRule(get(state, sourceRule), valueRule);\n return operators[operatorRule](get(state, sourceRule), valueRule);\n });\n }\n // resolve by OR: at least one condition must be true\n return condition.some((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n return operators[operatorRule](state[sourceRule], valueRule);\n });\n};\n\nexport const resolveDependencies = (state, fields) => {\n const fieldsToRender = fields.reduce(\n (result, { target, component, condition, resolveBy, validation }) => {\n if (resolveCondition(condition, state, resolveBy))\n result.push({ target, component, validation });\n return result;\n },\n [],\n );\n return fieldsToRender;\n};\n"],"names":["resolveCondition","condition","state","resolveBy","QB_GROUP_CONDITION_TYPES","AND","length","every","rule","sourceRule","source","operatorRule","operator","valueRule","value","get","operators","some","resolveDependencies","fields","fieldsToRender","reduce","result","target","component","validation","push"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CACvBC,SADuB,EAEvBC,KAFuB,EAIpB;AAAA,MADHC,SACG,uEADSC,iDAAwB,CAACC,GAClC;AACH,MAAIJ,SAAS,CAACK,MAAV,KAAqB,CAArB,IAA0B,CAACL,SAA/B,EAA0C,OAAO,IAAP,CADvC;;AAGH,MAAIE,SAAJ,EAAe;AACb,WAAOF,SAAS,CAACM,KAAV,CAAgB,UAACC,IAAD,EAAU;AAC/B,UACUC,UADV,GAIID,IAJJ,CACEE,MADF;AAAA,UAEYC,YAFZ,GAIIH,IAJJ,CAEEI,QAFF;AAAA,UAGSC,SAHT,GAIIL,IAJJ,CAGEM,KAHF;AAKA,UAAI,OAAOH,YAAP,KAAwB,UAA5B,EAAwC,OAAOA,YAAY,CAACI,UAAG,CAACb,KAAD,EAAQO,UAAR,CAAJ,EAAyBI,SAAzB,CAAnB;AACxC,aAAOG,oBAAS,CAACL,YAAD,CAAT,CAAwBI,UAAG,CAACb,KAAD,EAAQO,UAAR,CAA3B,EAAgDI,SAAhD,CAAP;AACD,KARM,CAAP;AASD,GAbE;;;AAeH,SAAOZ,SAAS,CAACgB,IAAV,CAAe,UAACT,IAAD,EAAU;AAC9B,QACUC,UADV,GAIID,IAJJ,CACEE,MADF;AAAA,QAEYC,YAFZ,GAIIH,IAJJ,CAEEI,QAFF;AAAA,QAGSC,SAHT,GAIIL,IAJJ,CAGEM,KAHF;AAKA,WAAOE,oBAAS,CAACL,YAAD,CAAT,CAAwBT,KAAK,CAACO,UAAD,CAA7B,EAA2CI,SAA3C,CAAP;AACD,GAPM,CAAP;AAQD,CA3BD;;IA6BaK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAChB,KAAD,EAAQiB,MAAR,EAAmB;AACpD,MAAMC,cAAc,GAAGD,MAAM,CAACE,MAAP,CACrB,UAACC,MAAD,
|
|
1
|
+
{"version":3,"file":"dependencies.js","sources":["../../../../src/components/helpers/dependencies.tsx"],"sourcesContent":["import { get } from 'lodash';\nimport * as operators from '@elliemae/ds-utilities/operators';\nimport { QB_GROUP_CONDITION_TYPES } from './types';\n\nconst resolveCondition = (\n condition,\n state,\n resolveBy = QB_GROUP_CONDITION_TYPES.AND,\n) => {\n if (condition.length === 0 || !condition) return true;\n // resolve by AND: all the conditions must be true\n if (resolveBy) {\n return condition.every((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n if (typeof operatorRule === \"function\") return operatorRule(get(state, sourceRule), valueRule);\n return operators[operatorRule](get(state, sourceRule), valueRule);\n });\n }\n // resolve by OR: at least one condition must be true\n return condition.some((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n return operators[operatorRule](state[sourceRule], valueRule);\n });\n};\n\nexport const resolveDependencies = (state, fields) => {\n const fieldsToRender = fields.reduce(\n (result, { target, component, condition, resolveBy, validation, handleWidth }) => {\n if (resolveCondition(condition, state, resolveBy))\n result.push({ target, component, validation, handleWidth });\n return result;\n },\n [],\n );\n return fieldsToRender;\n};\n"],"names":["resolveCondition","condition","state","resolveBy","QB_GROUP_CONDITION_TYPES","AND","length","every","rule","sourceRule","source","operatorRule","operator","valueRule","value","get","operators","some","resolveDependencies","fields","fieldsToRender","reduce","result","target","component","validation","handleWidth","push"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CACvBC,SADuB,EAEvBC,KAFuB,EAIpB;AAAA,MADHC,SACG,uEADSC,iDAAwB,CAACC,GAClC;AACH,MAAIJ,SAAS,CAACK,MAAV,KAAqB,CAArB,IAA0B,CAACL,SAA/B,EAA0C,OAAO,IAAP,CADvC;;AAGH,MAAIE,SAAJ,EAAe;AACb,WAAOF,SAAS,CAACM,KAAV,CAAgB,UAACC,IAAD,EAAU;AAC/B,UACUC,UADV,GAIID,IAJJ,CACEE,MADF;AAAA,UAEYC,YAFZ,GAIIH,IAJJ,CAEEI,QAFF;AAAA,UAGSC,SAHT,GAIIL,IAJJ,CAGEM,KAHF;AAKA,UAAI,OAAOH,YAAP,KAAwB,UAA5B,EAAwC,OAAOA,YAAY,CAACI,UAAG,CAACb,KAAD,EAAQO,UAAR,CAAJ,EAAyBI,SAAzB,CAAnB;AACxC,aAAOG,oBAAS,CAACL,YAAD,CAAT,CAAwBI,UAAG,CAACb,KAAD,EAAQO,UAAR,CAA3B,EAAgDI,SAAhD,CAAP;AACD,KARM,CAAP;AASD,GAbE;;;AAeH,SAAOZ,SAAS,CAACgB,IAAV,CAAe,UAACT,IAAD,EAAU;AAC9B,QACUC,UADV,GAIID,IAJJ,CACEE,MADF;AAAA,QAEYC,YAFZ,GAIIH,IAJJ,CAEEI,QAFF;AAAA,QAGSC,SAHT,GAIIL,IAJJ,CAGEM,KAHF;AAKA,WAAOE,oBAAS,CAACL,YAAD,CAAT,CAAwBT,KAAK,CAACO,UAAD,CAA7B,EAA2CI,SAA3C,CAAP;AACD,GAPM,CAAP;AAQD,CA3BD;;IA6BaK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAChB,KAAD,EAAQiB,MAAR,EAAmB;AACpD,MAAMC,cAAc,GAAGD,MAAM,CAACE,MAAP,CACrB,UAACC,MAAD,QAAkF;AAAA,QAAvEC,MAAuE,QAAvEA,MAAuE;AAAA,QAA/DC,SAA+D,QAA/DA,SAA+D;AAAA,QAApDvB,SAAoD,QAApDA,SAAoD;AAAA,QAAzCE,SAAyC,QAAzCA,SAAyC;AAAA,QAA9BsB,UAA8B,QAA9BA,UAA8B;AAAA,QAAlBC,WAAkB,QAAlBA,WAAkB;AAChF,QAAI1B,gBAAgB,CAACC,SAAD,EAAYC,KAAZ,EAAmBC,SAAnB,CAApB,EACEmB,MAAM,CAACK,IAAP,CAAY;AAAEJ,MAAAA,MAAM,EAANA,MAAF;AAAUC,MAAAA,SAAS,EAATA,SAAV;AAAqBC,MAAAA,UAAU,EAAVA,UAArB;AAAiCC,MAAAA,WAAW,EAAXA;AAAjC,KAAZ;AACF,WAAOJ,MAAP;AACD,GALoB,EAMrB,EANqB,CAAvB;AAQA,SAAOF,cAAP;AACD;;;;"}
|
|
@@ -213,7 +213,16 @@ var QueryBuilderRow = /*#__PURE__*/function (_Component) {
|
|
|
213
213
|
value: value,
|
|
214
214
|
additionalInfo: additionalInfo
|
|
215
215
|
}, fields);
|
|
216
|
-
var gridTemplateColumns = ['24px'].concat(_toConsumableArray(test.map(function () {
|
|
216
|
+
var gridTemplateColumns = ['24px'].concat(_toConsumableArray(test.map(function (r) {
|
|
217
|
+
if (r.handleWidth) {
|
|
218
|
+
return r.handleWidth(_this2.props[r.target], {
|
|
219
|
+
field: field,
|
|
220
|
+
operator: operator,
|
|
221
|
+
value: value,
|
|
222
|
+
additionalInfo: additionalInfo
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
|
|
217
226
|
return 'minmax(0, 1fr)';
|
|
218
227
|
})), ['30px']).join(' ');
|
|
219
228
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryBuilderRow.js","sources":["../../../../src/components/QueryBuilderRow/QueryBuilderRow.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\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 {\n constructor(props) {\n super(props);\n this.state = {\n isOpen: false,\n };\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 = ['24px', ...test.map(() => 'minmax(0, 1fr)'), '30px'].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"],"names":["RenderField","target","component","valueProp","additionalInfo","handleMouseEnterInput","handleMouseLeaveInput","onChangeHandler","hasError","ref","React","useRef","id","useMemo","String","fromCharCode","Math","floor","random","error","_refInput","current","querySelector","focus","setTimeout","cloneElement","onChange","e","extraData","value","checked","Boolean","errorMessage","width","QueryBuilderRow","props","handleMouseEnterRow","handleMouseLeaveRow","handleTooltipRow","setDraggableItems","isOpen","setState","state","handleFieldChange","idFilter","idGroup","field","operator","eventValue","fields","onAddFilter","onRemoveFilter","onAddRuleContainer","items","singleRow","toolTipZIndex","convertPropToCssClassName","cssClassName","classNameBlock","classNameElement","test","resolveDependencies","gridTemplateColumns","map","join","renderField","isTouched","validation","Component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"QueryBuilderRow.js","sources":["../../../../src/components/QueryBuilderRow/QueryBuilderRow.tsx"],"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} ${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\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"],"names":["RenderField","target","component","valueProp","additionalInfo","handleMouseEnterInput","handleMouseLeaveInput","onChangeHandler","hasError","ref","React","useRef","id","useMemo","String","fromCharCode","Math","floor","random","error","_refInput","current","querySelector","focus","setTimeout","cloneElement","onChange","e","extraData","value","checked","Boolean","errorMessage","width","QueryBuilderRow","props","handleMouseEnterRow","handleMouseLeaveRow","handleTooltipRow","setDraggableItems","isOpen","setState","state","handleFieldChange","idFilter","idGroup","field","operator","eventValue","fields","onAddFilter","onRemoveFilter","onAddRuleContainer","items","singleRow","toolTipZIndex","convertPropToCssClassName","cssClassName","classNameBlock","classNameElement","test","resolveDependencies","gridTemplateColumns","map","r","handleWidth","join","renderField","isTouched","validation","Component"],"mappings":"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"}
|
|
@@ -31,11 +31,13 @@ var resolveDependencies = function resolveDependencies(state, fields) {
|
|
|
31
31
|
component = _ref.component,
|
|
32
32
|
condition = _ref.condition,
|
|
33
33
|
resolveBy = _ref.resolveBy,
|
|
34
|
-
validation = _ref.validation
|
|
34
|
+
validation = _ref.validation,
|
|
35
|
+
handleWidth = _ref.handleWidth;
|
|
35
36
|
if (resolveCondition(condition, state, resolveBy)) result.push({
|
|
36
37
|
target: target,
|
|
37
38
|
component: component,
|
|
38
|
-
validation: validation
|
|
39
|
+
validation: validation,
|
|
40
|
+
handleWidth: handleWidth
|
|
39
41
|
});
|
|
40
42
|
return result;
|
|
41
43
|
}, []);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dependencies.js","sources":["../../../../src/components/helpers/dependencies.tsx"],"sourcesContent":["import { get } from 'lodash';\nimport * as operators from '@elliemae/ds-utilities/operators';\nimport { QB_GROUP_CONDITION_TYPES } from './types';\n\nconst resolveCondition = (\n condition,\n state,\n resolveBy = QB_GROUP_CONDITION_TYPES.AND,\n) => {\n if (condition.length === 0 || !condition) return true;\n // resolve by AND: all the conditions must be true\n if (resolveBy) {\n return condition.every((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n if (typeof operatorRule === \"function\") return operatorRule(get(state, sourceRule), valueRule);\n return operators[operatorRule](get(state, sourceRule), valueRule);\n });\n }\n // resolve by OR: at least one condition must be true\n return condition.some((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n return operators[operatorRule](state[sourceRule], valueRule);\n });\n};\n\nexport const resolveDependencies = (state, fields) => {\n const fieldsToRender = fields.reduce(\n (result, { target, component, condition, resolveBy, validation }) => {\n if (resolveCondition(condition, state, resolveBy))\n result.push({ target, component, validation });\n return result;\n },\n [],\n );\n return fieldsToRender;\n};\n"],"names":["resolveCondition","condition","state","resolveBy","QB_GROUP_CONDITION_TYPES","AND","length","every","rule","sourceRule","source","operatorRule","operator","valueRule","value","get","operators","some","resolveDependencies","fields","fieldsToRender","reduce","result","target","component","validation","push"],"mappings":";;;;AAIA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CACvBC,SADuB,EAEvBC,KAFuB,EAIpB;AAAA,MADHC,SACG,uEADSC,wBAAwB,CAACC,GAClC;AACH,MAAIJ,SAAS,CAACK,MAAV,KAAqB,CAArB,IAA0B,CAACL,SAA/B,EAA0C,OAAO,IAAP,CADvC;;AAGH,MAAIE,SAAJ,EAAe;AACb,WAAOF,SAAS,CAACM,KAAV,CAAgB,UAACC,IAAD,EAAU;AAC/B,UACUC,UADV,GAIID,IAJJ,CACEE,MADF;AAAA,UAEYC,YAFZ,GAIIH,IAJJ,CAEEI,QAFF;AAAA,UAGSC,SAHT,GAIIL,IAJJ,CAGEM,KAHF;AAKA,UAAI,OAAOH,YAAP,KAAwB,UAA5B,EAAwC,OAAOA,YAAY,CAACI,GAAG,CAACb,KAAD,EAAQO,UAAR,CAAJ,EAAyBI,SAAzB,CAAnB;AACxC,aAAOG,SAAS,CAACL,YAAD,CAAT,CAAwBI,GAAG,CAACb,KAAD,EAAQO,UAAR,CAA3B,EAAgDI,SAAhD,CAAP;AACD,KARM,CAAP;AASD,GAbE;;;AAeH,SAAOZ,SAAS,CAACgB,IAAV,CAAe,UAACT,IAAD,EAAU;AAC9B,QACUC,UADV,GAIID,IAJJ,CACEE,MADF;AAAA,QAEYC,YAFZ,GAIIH,IAJJ,CAEEI,QAFF;AAAA,QAGSC,SAHT,GAIIL,IAJJ,CAGEM,KAHF;AAKA,WAAOE,SAAS,CAACL,YAAD,CAAT,CAAwBT,KAAK,CAACO,UAAD,CAA7B,EAA2CI,SAA3C,CAAP;AACD,GAPM,CAAP;AAQD,CA3BD;;IA6BaK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAChB,KAAD,EAAQiB,MAAR,EAAmB;AACpD,MAAMC,cAAc,GAAGD,MAAM,CAACE,MAAP,CACrB,UAACC,MAAD,
|
|
1
|
+
{"version":3,"file":"dependencies.js","sources":["../../../../src/components/helpers/dependencies.tsx"],"sourcesContent":["import { get } from 'lodash';\nimport * as operators from '@elliemae/ds-utilities/operators';\nimport { QB_GROUP_CONDITION_TYPES } from './types';\n\nconst resolveCondition = (\n condition,\n state,\n resolveBy = QB_GROUP_CONDITION_TYPES.AND,\n) => {\n if (condition.length === 0 || !condition) return true;\n // resolve by AND: all the conditions must be true\n if (resolveBy) {\n return condition.every((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n if (typeof operatorRule === \"function\") return operatorRule(get(state, sourceRule), valueRule);\n return operators[operatorRule](get(state, sourceRule), valueRule);\n });\n }\n // resolve by OR: at least one condition must be true\n return condition.some((rule) => {\n const {\n source: sourceRule,\n operator: operatorRule,\n value: valueRule,\n } = rule;\n return operators[operatorRule](state[sourceRule], valueRule);\n });\n};\n\nexport const resolveDependencies = (state, fields) => {\n const fieldsToRender = fields.reduce(\n (result, { target, component, condition, resolveBy, validation, handleWidth }) => {\n if (resolveCondition(condition, state, resolveBy))\n result.push({ target, component, validation, handleWidth });\n return result;\n },\n [],\n );\n return fieldsToRender;\n};\n"],"names":["resolveCondition","condition","state","resolveBy","QB_GROUP_CONDITION_TYPES","AND","length","every","rule","sourceRule","source","operatorRule","operator","valueRule","value","get","operators","some","resolveDependencies","fields","fieldsToRender","reduce","result","target","component","validation","handleWidth","push"],"mappings":";;;;AAIA,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CACvBC,SADuB,EAEvBC,KAFuB,EAIpB;AAAA,MADHC,SACG,uEADSC,wBAAwB,CAACC,GAClC;AACH,MAAIJ,SAAS,CAACK,MAAV,KAAqB,CAArB,IAA0B,CAACL,SAA/B,EAA0C,OAAO,IAAP,CADvC;;AAGH,MAAIE,SAAJ,EAAe;AACb,WAAOF,SAAS,CAACM,KAAV,CAAgB,UAACC,IAAD,EAAU;AAC/B,UACUC,UADV,GAIID,IAJJ,CACEE,MADF;AAAA,UAEYC,YAFZ,GAIIH,IAJJ,CAEEI,QAFF;AAAA,UAGSC,SAHT,GAIIL,IAJJ,CAGEM,KAHF;AAKA,UAAI,OAAOH,YAAP,KAAwB,UAA5B,EAAwC,OAAOA,YAAY,CAACI,GAAG,CAACb,KAAD,EAAQO,UAAR,CAAJ,EAAyBI,SAAzB,CAAnB;AACxC,aAAOG,SAAS,CAACL,YAAD,CAAT,CAAwBI,GAAG,CAACb,KAAD,EAAQO,UAAR,CAA3B,EAAgDI,SAAhD,CAAP;AACD,KARM,CAAP;AASD,GAbE;;;AAeH,SAAOZ,SAAS,CAACgB,IAAV,CAAe,UAACT,IAAD,EAAU;AAC9B,QACUC,UADV,GAIID,IAJJ,CACEE,MADF;AAAA,QAEYC,YAFZ,GAIIH,IAJJ,CAEEI,QAFF;AAAA,QAGSC,SAHT,GAIIL,IAJJ,CAGEM,KAHF;AAKA,WAAOE,SAAS,CAACL,YAAD,CAAT,CAAwBT,KAAK,CAACO,UAAD,CAA7B,EAA2CI,SAA3C,CAAP;AACD,GAPM,CAAP;AAQD,CA3BD;;IA6BaK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAChB,KAAD,EAAQiB,MAAR,EAAmB;AACpD,MAAMC,cAAc,GAAGD,MAAM,CAACE,MAAP,CACrB,UAACC,MAAD,QAAkF;AAAA,QAAvEC,MAAuE,QAAvEA,MAAuE;AAAA,QAA/DC,SAA+D,QAA/DA,SAA+D;AAAA,QAApDvB,SAAoD,QAApDA,SAAoD;AAAA,QAAzCE,SAAyC,QAAzCA,SAAyC;AAAA,QAA9BsB,UAA8B,QAA9BA,UAA8B;AAAA,QAAlBC,WAAkB,QAAlBA,WAAkB;AAChF,QAAI1B,gBAAgB,CAACC,SAAD,EAAYC,KAAZ,EAAmBC,SAAnB,CAApB,EACEmB,MAAM,CAACK,IAAP,CAAY;AAAEJ,MAAAA,MAAM,EAANA,MAAF;AAAUC,MAAAA,SAAS,EAATA,SAAV;AAAqBC,MAAAA,UAAU,EAAVA,UAArB;AAAiCC,MAAAA,WAAW,EAAXA;AAAjC,KAAZ;AACF,WAAOJ,MAAP;AACD,GALoB,EAMrB,EANqB,CAAvB;AAQA,SAAOF,cAAP;AACD;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-query-builder",
|
|
3
|
-
"version": "1.61.
|
|
3
|
+
"version": "1.61.12",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Ellie Mae - Dim Sum - Query Builder",
|
|
6
6
|
"main": "cjs/index.js",
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
"build": "node ../../scripts/build/build.js"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@elliemae/ds-basic": "1.61.
|
|
20
|
-
"@elliemae/ds-classnames": "1.61.
|
|
21
|
-
"@elliemae/ds-grid": "1.61.
|
|
22
|
-
"@elliemae/ds-icons": "1.61.
|
|
23
|
-
"@elliemae/ds-shared": "1.61.
|
|
24
|
-
"@elliemae/ds-utilities": "1.61.
|
|
19
|
+
"@elliemae/ds-basic": "1.61.12",
|
|
20
|
+
"@elliemae/ds-classnames": "1.61.12",
|
|
21
|
+
"@elliemae/ds-grid": "1.61.12",
|
|
22
|
+
"@elliemae/ds-icons": "1.61.12",
|
|
23
|
+
"@elliemae/ds-shared": "1.61.12",
|
|
24
|
+
"@elliemae/ds-utilities": "1.61.12",
|
|
25
25
|
"classnames": "~2.2.6",
|
|
26
26
|
"prop-types": "~15.7.2",
|
|
27
27
|
"react-addons-update": "~15.6.3",
|