@elliemae/ds-query-builder 3.11.1 → 3.11.3

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.
@@ -170,7 +170,7 @@ class QueryBuilderRow extends import_react.Component {
170
170
  fields
171
171
  );
172
172
  const gridTemplateColumns = [
173
- "24px",
173
+ singleRow ? "" : "24px",
174
174
  ...test.map((r) => {
175
175
  if (r.handleWidth) {
176
176
  return r.handleWidth(this.props[r.target], {
@@ -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": "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",
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
  }
@@ -141,7 +141,7 @@ class QueryBuilderRow extends Component {
141
141
  fields
142
142
  );
143
143
  const gridTemplateColumns = [
144
- "24px",
144
+ singleRow ? "" : "24px",
145
145
  ...test.map((r) => {
146
146
  if (r.handleWidth) {
147
147
  return r.handleWidth(this.props[r.target], {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/QueryBuilderRow/QueryBuilderRow.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* 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"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* 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"],
5
+ "mappings": "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",
6
6
  "names": ["React", "value", "target"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-query-builder",
3
- "version": "3.11.1",
3
+ "version": "3.11.3",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Query Builder",
6
6
  "files": [
@@ -171,20 +171,20 @@
171
171
  "indent": 4
172
172
  },
173
173
  "dependencies": {
174
- "@elliemae/ds-accordion": "3.11.1",
175
- "@elliemae/ds-button": "3.11.1",
176
- "@elliemae/ds-classnames": "3.11.1",
177
- "@elliemae/ds-form": "3.11.1",
178
- "@elliemae/ds-grid": "3.11.1",
179
- "@elliemae/ds-icon": "3.11.1",
180
- "@elliemae/ds-icons": "3.11.1",
181
- "@elliemae/ds-popper": "3.11.1",
182
- "@elliemae/ds-shared": "3.11.1",
183
- "@elliemae/ds-tooltip": "3.11.1",
184
- "@elliemae/ds-utilities": "3.11.1",
185
174
  "classnames": "~2.3.1",
186
175
  "prop-types": "~15.8.1",
187
- "react-addons-update": "~15.6.3"
176
+ "react-addons-update": "~15.6.3",
177
+ "@elliemae/ds-accordion": "3.11.3",
178
+ "@elliemae/ds-grid": "3.11.3",
179
+ "@elliemae/ds-button": "3.11.3",
180
+ "@elliemae/ds-icon": "3.11.3",
181
+ "@elliemae/ds-icons": "3.11.3",
182
+ "@elliemae/ds-popper": "3.11.3",
183
+ "@elliemae/ds-shared": "3.11.3",
184
+ "@elliemae/ds-tooltip": "3.11.3",
185
+ "@elliemae/ds-utilities": "3.11.3",
186
+ "@elliemae/ds-classnames": "3.11.3",
187
+ "@elliemae/ds-form": "3.11.3"
188
188
  },
189
189
  "peerDependencies": {
190
190
  "lodash": "^4.17.21",