@elliemae/ds-query-builder 2.0.0-alpha.10 → 2.0.0-alpha.14

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.
Files changed (61) hide show
  1. package/cjs/DSQueryBuilder.js +60 -56
  2. package/cjs/components/AndOrController/AndOrController.js +31 -39
  3. package/cjs/components/ConditionController/ConditionController.js +27 -33
  4. package/cjs/components/DisplayOutput/DisplayOutput.js +20 -21
  5. package/cjs/components/DragContainerController/DragContainerController.js +14 -16
  6. package/cjs/components/DragControllerRow/DragControllerRow.js +10 -6
  7. package/cjs/components/FieldControllerRow/FieldControllerRow.js +22 -22
  8. package/cjs/components/Nestable/Nestable.js +47 -33
  9. package/cjs/components/Nestable/NestableItem.js +21 -13
  10. package/cjs/components/Nestable/actions/events.js +6 -1
  11. package/cjs/components/Nestable/actions/getPaths.js +11 -1
  12. package/cjs/components/Nestable/actions/moveItem.js +12 -5
  13. package/cjs/components/Nestable/actions/paths.js +15 -3
  14. package/cjs/components/QueryBuilderImpl.js +35 -31
  15. package/cjs/components/QueryBuilderItem/QueryBuilderItem.js +28 -20
  16. package/cjs/components/QueryBuilderRow/QueryBuilderRow.js +54 -39
  17. package/cjs/components/ToolBarAnimation/ToolBarAnimation.js +5 -0
  18. package/cjs/components/format/format.js +8 -14
  19. package/cjs/components/format/sqlFormat.js +25 -23
  20. package/cjs/components/format/sqlSafeFormat.js +27 -25
  21. package/cjs/components/format/xmlFormat.js +25 -23
  22. package/cjs/components/helpers/actions.js +61 -36
  23. package/cjs/components/helpers/dependencies.js +17 -8
  24. package/cjs/components/helpers/store.js +38 -39
  25. package/cjs/index.js +2 -1
  26. package/cjs/propTypes.js +1 -3
  27. package/esm/DSQueryBuilder.js +60 -57
  28. package/esm/components/AndOrController/AndOrController.js +21 -24
  29. package/esm/components/ConditionController/ConditionController.js +21 -23
  30. package/esm/components/DisplayOutput/DisplayOutput.js +16 -14
  31. package/esm/components/DragContainerController/DragContainerController.js +11 -11
  32. package/esm/components/DragControllerRow/DragControllerRow.js +7 -2
  33. package/esm/components/FieldControllerRow/FieldControllerRow.js +22 -20
  34. package/esm/components/Nestable/Nestable.js +46 -32
  35. package/esm/components/Nestable/NestableItem.js +21 -13
  36. package/esm/components/Nestable/actions/events.js +6 -1
  37. package/esm/components/Nestable/actions/getPaths.js +11 -1
  38. package/esm/components/Nestable/actions/moveItem.js +12 -5
  39. package/esm/components/Nestable/actions/paths.js +15 -3
  40. package/esm/components/QueryBuilderImpl.js +35 -31
  41. package/esm/components/QueryBuilderItem/QueryBuilderItem.js +28 -20
  42. package/esm/components/QueryBuilderRow/QueryBuilderRow.js +54 -38
  43. package/esm/components/ToolBarAnimation/ToolBarAnimation.js +5 -0
  44. package/esm/components/format/format.js +8 -10
  45. package/esm/components/format/sqlFormat.js +25 -23
  46. package/esm/components/format/sqlSafeFormat.js +27 -25
  47. package/esm/components/format/xmlFormat.js +25 -23
  48. package/esm/components/helpers/actions.js +61 -36
  49. package/esm/components/helpers/dependencies.js +17 -8
  50. package/esm/components/helpers/store.js +38 -39
  51. package/esm/index.js +1 -1
  52. package/esm/propTypes.js +1 -3
  53. package/package.json +14 -7
  54. package/types/DSQueryBuilder.d.ts +170 -25
  55. package/types/components/AndOrController/AndOrController.d.ts +4 -4
  56. package/types/components/ConditionController/ConditionController.d.ts +2 -2
  57. package/types/components/DragContainerController/DragContainerController.d.ts +3 -3
  58. package/types/components/DragControllerRow/DragControllerRow.d.ts +2 -2
  59. package/types/propTypes.d.ts +133 -23
  60. package/cjs/package.json +0 -7
  61. package/esm/package.json +0 -7
@@ -1,3 +1,8 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
7
  import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
8
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
@@ -20,26 +25,25 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
20
25
  class QueryBuilderImpl extends Component {
21
26
  constructor(props) {
22
27
  super(props);
28
+ this.isDraggableItem = true;
23
29
 
24
- _defineProperty(this, "isDraggableItem", true);
25
-
26
- _defineProperty(this, "onOrderDragAndDrop", (items, item) => {
30
+ this.onOrderDragAndDrop = (items, item) => {
27
31
  const newFilters = this.store.onOrderDragAndDrop(items, item);
28
32
  this.sendCall('reOrderOnDragAndDrop', {
29
33
  items
30
34
  });
31
35
  this.sendChange(newFilters);
32
- });
36
+ };
33
37
 
34
- _defineProperty(this, "onAddFilterToGroup", idGroup => {
38
+ this.onAddFilterToGroup = idGroup => {
35
39
  const newFilters = this.store.addFilter(idGroup);
36
40
  this.sendCall('onAddFilterToGroup', {
37
41
  idGroup
38
42
  });
39
43
  this.sendChange(newFilters);
40
- });
44
+ };
41
45
 
42
- _defineProperty(this, "onAddFilter", (idGroup, idFilter) => {
46
+ this.onAddFilter = (idGroup, idFilter) => {
43
47
  const {
44
48
  addFilterMethod
45
49
  } = this.props;
@@ -49,9 +53,9 @@ class QueryBuilderImpl extends Component {
49
53
  idFilter
50
54
  });
51
55
  this.sendChange(newFilters);
52
- });
56
+ };
53
57
 
54
- _defineProperty(this, "onAddRuleContainer", (idGroup, idFilter) => {
58
+ this.onAddRuleContainer = (idGroup, idFilter) => {
55
59
  const {
56
60
  groupFilterMethod
57
61
  } = this.props;
@@ -61,17 +65,17 @@ class QueryBuilderImpl extends Component {
61
65
  idFilter
62
66
  });
63
67
  this.sendChange(newFilters);
64
- });
68
+ };
65
69
 
66
- _defineProperty(this, "onRemoveFilter", idFilter => {
70
+ this.onRemoveFilter = idFilter => {
67
71
  const newFilters = this.store.onRemoveFilter(idFilter);
68
72
  this.sendCall('onRemoveFilter', {
69
73
  idFilter
70
74
  });
71
75
  this.sendChange(newFilters);
72
- });
76
+ };
73
77
 
74
- _defineProperty(this, "handleFieldChange", data => {
78
+ this.handleFieldChange = data => {
75
79
  const {
76
80
  fieldsSharedActions
77
81
  } = this.props;
@@ -82,26 +86,26 @@ class QueryBuilderImpl extends Component {
82
86
  data
83
87
  });
84
88
  this.sendChange(newFilters);
85
- });
89
+ };
86
90
 
87
- _defineProperty(this, "handleRuleContainerOperator", (idGroup, value) => {
91
+ this.handleRuleContainerOperator = (idGroup, value) => {
88
92
  const newFilters = this.store.changeGroupOperator(idGroup, value);
89
93
  this.sendCall('handleRuleContainerOperator', {
90
94
  idGroup,
91
95
  value
92
96
  });
93
97
  this.sendChange(newFilters);
94
- });
98
+ };
95
99
 
96
- _defineProperty(this, "handleRuleContainerUnGroup", idGroup => {
100
+ this.handleRuleContainerUnGroup = idGroup => {
97
101
  const newFilters = this.store.unGroup(idGroup);
98
102
  this.sendCall('handleRuleContainerUnGroup', {
99
103
  idGroup
100
104
  });
101
105
  this.sendChange(newFilters);
102
- });
106
+ };
103
107
 
104
- _defineProperty(this, "handleDropFilter", (filter, dragTo) => {
108
+ this.handleDropFilter = (filter, dragTo) => {
105
109
  const {
106
110
  position: oldPosition,
107
111
  idGroup,
@@ -117,9 +121,9 @@ class QueryBuilderImpl extends Component {
117
121
  dragTo
118
122
  });
119
123
  this.sendChange(newFilters);
120
- });
124
+ };
121
125
 
122
- _defineProperty(this, "handleDropGroup", (group, dragTo) => {
126
+ this.handleDropGroup = (group, dragTo) => {
123
127
  const {
124
128
  position: oldPosition,
125
129
  idFilter,
@@ -135,17 +139,17 @@ class QueryBuilderImpl extends Component {
135
139
  dragTo
136
140
  });
137
141
  this.sendChange(newFilters);
138
- });
142
+ };
139
143
 
140
- _defineProperty(this, "handleDrop", (dragElement, dragTo) => {
144
+ this.handleDrop = (dragElement, dragTo) => {
141
145
  const {
142
146
  type
143
147
  } = dragElement;
144
148
  if (type === QB_DRAG_TYPES.FILTER) return this.handleDropFilter(dragElement, dragTo);
145
149
  return this.handleDropGroup(dragElement, dragTo);
146
- });
150
+ };
147
151
 
148
- _defineProperty(this, "sendChange", _ref => {
152
+ this.sendChange = _ref => {
149
153
  let {
150
154
  format
151
155
  } = _ref,
@@ -158,16 +162,16 @@ class QueryBuilderImpl extends Component {
158
162
  onChange
159
163
  } = this.props;
160
164
  onChange(format, newFilters);
161
- });
165
+ };
162
166
 
163
- _defineProperty(this, "sendCall", (action, data) => {
167
+ this.sendCall = (action, data) => {
164
168
  const {
165
169
  [action]: callback
166
170
  } = this.props;
167
171
  if (callback) callback(data);
168
- });
172
+ };
169
173
 
170
- _defineProperty(this, "setDraggableItems", drag => {
174
+ this.setDraggableItems = drag => {
171
175
  this.isDraggableItem = true;
172
176
 
173
177
  try {
@@ -190,7 +194,7 @@ class QueryBuilderImpl extends Component {
190
194
  } catch (error) {
191
195
  this.isDraggableItem = true;
192
196
  }
193
- });
197
+ };
194
198
 
195
199
  this.store = new QueryBuilderStore(props.init, props.format);
196
200
  this.state = this.store.getInitialState();
@@ -260,7 +264,7 @@ class QueryBuilderImpl extends Component {
260
264
  singleRow
261
265
  }
262
266
  }, void 0, /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({}, containerProps), {}, {
263
- className: `nested-main-group ${condition !== true ? 'is-or-group' : 'is-and-groupL'} ${singleRow ? 'query-main-single-row' : 'query-main-multiple-row'}`,
267
+ className: "nested-main-group ".concat(condition !== true ? 'is-or-group' : 'is-and-groupL', " ").concat(singleRow ? 'query-main-single-row' : 'query-main-multiple-row'),
264
268
  children: [/*#__PURE__*/_jsx(Nestable, {
265
269
  isAndItem: condition === true,
266
270
  isDraggableItem: this.isDraggableItem,
@@ -1,3 +1,8 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
8
  import 'react';
@@ -11,9 +16,10 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
11
16
 
12
17
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
13
18
 
14
- const QueryBuilderItem = ({
15
- item
16
- }) => {
19
+ const QueryBuilderItem = _ref => {
20
+ let {
21
+ item
22
+ } = _ref;
17
23
  const {
18
24
  element
19
25
  } = item;
@@ -23,23 +29,25 @@ const QueryBuilderItem = ({
23
29
  idGroup,
24
30
  condition
25
31
  } = element;
26
- return /*#__PURE__*/_jsx(QueryBuilderContext.Consumer, {}, void 0, ({
27
- fields,
28
- handleFieldChange,
29
- onAddFilter,
30
- onAddFilterToGroup,
31
- onAddRuleContainer,
32
- onRemoveFilter,
33
- showDragController,
34
- handleRuleContainerOperator,
35
- handleRuleContainerUnGroup,
36
- step,
37
- items,
38
- isDraggableItem,
39
- setDraggableItems,
40
- singleRow,
41
- toolTipZIndex
42
- }) => {
32
+ return /*#__PURE__*/_jsx(QueryBuilderContext.Consumer, {}, void 0, _ref2 => {
33
+ let {
34
+ fields,
35
+ handleFieldChange,
36
+ onAddFilter,
37
+ onAddFilterToGroup,
38
+ onAddRuleContainer,
39
+ onRemoveFilter,
40
+ showDragController,
41
+ handleRuleContainerOperator,
42
+ handleRuleContainerUnGroup,
43
+ step,
44
+ items,
45
+ isDraggableItem,
46
+ setDraggableItems,
47
+ singleRow,
48
+ toolTipZIndex
49
+ } = _ref2;
50
+
43
51
  if (type === QB_DRAG_TYPES.FILTER) {
44
52
  return /*#__PURE__*/jsx(QueryBuilderRow, _objectSpread(_objectSpread({}, element), {}, {
45
53
  fields: fields,
@@ -1,8 +1,16 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
7
  import _jsx from '@babel/runtime/helpers/esm/jsx';
8
+ import 'core-js/modules/web.dom-collections.iterator.js';
9
+ import 'core-js/modules/esnext.async-iterator.map.js';
10
+ import 'core-js/modules/esnext.iterator.map.js';
3
11
  import React, { Component } from 'react';
4
- import AlertsDetail from '@elliemae/ds-icons/AlertsDetail';
5
- import { DSTooltipV2 } from '@elliemae/ds-basic/Tooltip';
12
+ import { AlertsDetail } from '@elliemae/ds-icons';
13
+ import { DSTooltipV3 } from '@elliemae/ds-tooltip';
6
14
  import { convertPropToCssClassName } from '@elliemae/ds-classnames';
7
15
  import { resolveDependencies } from '../helpers/dependencies.js';
8
16
  import ConditionController from '../ConditionController/ConditionController.js';
@@ -13,25 +21,26 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
13
21
 
14
22
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
23
 
16
- const RenderField = ({
17
- target,
18
- component,
19
- valueProp,
20
- additionalInfo,
21
- handleMouseEnterInput,
22
- handleMouseLeaveInput,
23
- onChangeHandler,
24
- hasError
25
- }) => {
24
+ const RenderField = _ref => {
25
+ let {
26
+ target,
27
+ component,
28
+ valueProp,
29
+ additionalInfo,
30
+ handleMouseEnterInput,
31
+ handleMouseLeaveInput,
32
+ onChangeHandler,
33
+ hasError
34
+ } = _ref;
26
35
  const ref = React.useRef();
27
- const id = React.useMemo(() => `el_${String.fromCharCode(65 + Math.floor(Math.random() * 26))}`, []);
36
+ const id = React.useMemo(() => "el_".concat(String.fromCharCode(65 + Math.floor(Math.random() * 26))), []);
28
37
  return /*#__PURE__*/_jsx("div", {
29
- className: `em-ds-query-builder-row-input child-type-${target} ${hasError && hasError.error ? 'row-input-error' : ''}`,
38
+ className: "em-ds-query-builder-row-input child-type-".concat(target, " ").concat(hasError && hasError.error ? 'row-input-error' : ''),
30
39
  onMouseDownCapture: () => {
31
40
  var _ref$current;
32
41
 
33
42
  // eslint-disable-next-line no-underscore-dangle
34
- const _refInput = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector(`#${id}`);
43
+ const _refInput = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector("#".concat(id));
35
44
 
36
45
  if (_refInput && _refInput.focus) setTimeout(_refInput.focus());
37
46
  handleMouseEnterInput();
@@ -46,19 +55,26 @@ const RenderField = ({
46
55
  onChange: (e, extraData) => onChangeHandler(e, target, extraData),
47
56
  value: valueProp != null ? valueProp : '',
48
57
  checked: valueProp === true,
49
- additionalInfo: additionalInfo ? additionalInfo[target] : additionalInfo || {}
58
+ additionalInfo: additionalInfo ? additionalInfo[target] : additionalInfo || {},
59
+ 'aria-invalid': Boolean(hasError)
50
60
  })
51
- }), hasError && hasError.errorMessage ? /*#__PURE__*/_jsx("span", {
61
+ }), hasError && hasError.errorMessage ? /*#__PURE__*/_jsx("div", {
62
+ style: {
63
+ width: '40px'
64
+ }
65
+ }, void 0, /*#__PURE__*/_jsx(DSTooltipV3, {
66
+ text: hasError.errorMessage
67
+ }, void 0, /*#__PURE__*/_jsx("div", {
68
+ tabIndex: 0,
52
69
  className: "row-icon-alert",
53
- "data-testid": "qb-error-state-icon"
54
- }, void 0, /*#__PURE__*/_jsx(DSTooltipV2, {
55
- title: hasError.errorMessage,
56
- triggerComponent: /*#__PURE__*/_jsx(AlertsDetail, {
57
- width: 20,
58
- height: 20,
59
- color: ['danger', 900]
60
- })
61
- })) : null); // return React.useMemo(
70
+ "data-testid": "qb-error-state-icon",
71
+ role: "alert"
72
+ }, void 0, /*#__PURE__*/_jsx(AlertsDetail, {
73
+ width: 20,
74
+ height: 20,
75
+ color: ['danger', 900],
76
+ title: hasError.errorMessage
77
+ })))) : null); // return React.useMemo(
62
78
  // () => (
63
79
  // <div
64
80
  // className={`em-ds-query-builder-row-input child-type-${target}`}
@@ -90,31 +106,31 @@ class QueryBuilderRow extends Component {
90
106
  constructor(props) {
91
107
  super(props);
92
108
 
93
- _defineProperty(this, "handleMouseEnterRow", () => {});
109
+ this.handleMouseEnterRow = () => {};
94
110
 
95
- _defineProperty(this, "handleMouseLeaveRow", () => {
111
+ this.handleMouseLeaveRow = () => {
96
112
  this.handleTooltipRow(false);
97
- });
113
+ };
98
114
 
99
- _defineProperty(this, "handleMouseEnterInput", () => {
115
+ this.handleMouseEnterInput = () => {
100
116
  const {
101
117
  setDraggableItems
102
118
  } = this.props;
103
119
  setDraggableItems(false);
104
- });
120
+ };
105
121
 
106
- _defineProperty(this, "handleMouseLeaveInput", () => {
122
+ this.handleMouseLeaveInput = () => {
107
123
  const {
108
124
  setDraggableItems
109
125
  } = this.props;
110
126
  setDraggableItems(true);
111
- });
127
+ };
112
128
 
113
- _defineProperty(this, "handleTooltipRow", isOpen => {
129
+ this.handleTooltipRow = isOpen => {
114
130
  this.setState({
115
131
  isOpen
116
132
  });
117
- });
133
+ };
118
134
 
119
135
  this.state = {
120
136
  isOpen: false
@@ -147,8 +163,8 @@ class QueryBuilderRow extends Component {
147
163
  idGroup,
148
164
  additionalInfo: _objectSpread(_objectSpread({}, additionalInfo), {}, {
149
165
  [target]: extraData,
150
- [`${target}_error`]: hasError,
151
- [`${target}_touched`]: true
166
+ ["".concat(target, "_error")]: hasError,
167
+ ["".concat(target, "_touched")]: true
152
168
  }),
153
169
  target
154
170
  });
@@ -203,7 +219,7 @@ class QueryBuilderRow extends Component {
203
219
  const {
204
220
  [target]: valueProp
205
221
  } = this.props;
206
- const isTouched = additionalInfo && additionalInfo[`${target}_touched`];
222
+ const isTouched = additionalInfo && additionalInfo["".concat(target, "_touched")];
207
223
  const hasError = renderField && renderField.validation ? renderField.validation(valueProp, {
208
224
  field,
209
225
  operator,
@@ -1,3 +1,8 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
7
  import { createElement } from 'react';
3
8
  import GrowRight from '@elliemae/ds-shared/Animations/GrowRight';
@@ -1,29 +1,27 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
1
  import { sqlFormat } from './sqlFormat.js';
3
2
  import { xmlFormat } from './xmlFormat.js';
4
3
  import { sqlSafeFormat } from './sqlSafeFormat.js';
5
4
 
6
5
  class QueryBuilderFormat {
7
6
  constructor() {
8
- _defineProperty(this, "format", {
7
+ this.format = {
9
8
  defaultFormat: query => query,
10
9
  sqlFormat,
11
10
  xmlFormat,
12
11
  sqlSafeFormat
13
- });
12
+ };
13
+ this.currentFormat = 'sqlFormat';
14
14
 
15
- _defineProperty(this, "currentFormat", 'sqlFormat');
16
-
17
- _defineProperty(this, "setDefaultFormat", formatName => {
15
+ this.setDefaultFormat = formatName => {
18
16
  if (this.format[formatName]) this.currentFormat = formatName;
19
- });
17
+ };
20
18
 
21
- _defineProperty(this, "addFormat", (formatName, format) => this.format[formatName] = format);
19
+ this.addFormat = (formatName, format) => this.format[formatName] = format;
22
20
 
23
- _defineProperty(this, "run", (query, formatName) => {
21
+ this.run = (query, formatName) => {
24
22
  if (this.format[formatName]) return this.format[formatName](query);
25
23
  return this.format[this.currentFormat](query);
26
- });
24
+ };
27
25
  }
28
26
 
29
27
  }
@@ -1,7 +1,7 @@
1
+ import 'core-js/modules/esnext.async-iterator.map.js';
2
+ import 'core-js/modules/esnext.iterator.map.js';
1
3
  import { QB_OPERATOR_TYPES } from '../helpers/types.js';
2
4
 
3
- /* eslint-disable complexity */
4
-
5
5
  const conditionSql = (condition, value) => {
6
6
  const {
7
7
  EQUAL,
@@ -15,16 +15,16 @@ const conditionSql = (condition, value) => {
15
15
  LESS_THAN_OR_EQUAL,
16
16
  START_WITH
17
17
  } = QB_OPERATOR_TYPES;
18
- if (condition === EQUAL) return ` = '${value}'`;
19
- if (condition === NOT_EQUAL) return ` <> '${value}'`;
20
- if (condition === GREATER_THAN) return ` > ${value}`;
21
- if (condition === LESS_THAN) return ` < ${value}`;
22
- if (condition === CONTAINS) return ` LIKE '%${value}%'`;
23
- if (condition === NOT_CONTAINS) return ` NOT LIKE '%${value}%'`;
24
- if (condition === BETWEEN) return ` BETWEEN ${value[0]} AND ${value[1]} `;
25
- if (condition === GREATER_THAN_OR_EQUAL) return ` >= ${value}`;
26
- if (condition === LESS_THAN_OR_EQUAL) return ` <= ${value}`;
27
- if (condition === START_WITH) return ` LIKE '${value}%'`;
18
+ if (condition === EQUAL) return " = '".concat(value, "'");
19
+ if (condition === NOT_EQUAL) return " <> '".concat(value, "'");
20
+ if (condition === GREATER_THAN) return " > ".concat(value);
21
+ if (condition === LESS_THAN) return " < ".concat(value);
22
+ if (condition === CONTAINS) return " LIKE '%".concat(value, "%'");
23
+ if (condition === NOT_CONTAINS) return " NOT LIKE '%".concat(value, "%'");
24
+ if (condition === BETWEEN) return " BETWEEN ".concat(value[0], " AND ").concat(value[1], " ");
25
+ if (condition === GREATER_THAN_OR_EQUAL) return " >= ".concat(value);
26
+ if (condition === LESS_THAN_OR_EQUAL) return " <= ".concat(value);
27
+ if (condition === START_WITH) return " LIKE '".concat(value, "%'");
28
28
  return condition;
29
29
  };
30
30
 
@@ -34,33 +34,35 @@ const renderFilterSQl = filter => {
34
34
  operator,
35
35
  value
36
36
  } = filter.element;
37
- return `${field} ${conditionSql(operator, value) || ''}`;
37
+ return "".concat(field, " ").concat(conditionSql(operator, value) || '');
38
38
  };
39
39
 
40
- const sqlFormat = ({
41
- main,
42
- mapGroups,
43
- items
44
- }) => {
40
+ const sqlFormat = _ref => {
41
+ let {
42
+ main,
43
+ mapGroups,
44
+ items
45
+ } = _ref;
46
+
45
47
  const groupSql = (item, idGroup) => {
46
48
  if (idGroup === main) {
47
49
  const groupCondition = mapGroups[idGroup].condition === true ? 'AND' : 'OR';
48
- return ` ( ${filterSql(item, groupCondition)} ) `; // eslint-disable-line
50
+ return " ( ".concat(filterSql(item, groupCondition), " ) "); // eslint-disable-line
49
51
  }
50
52
 
51
53
  const groupCondition = item.element.condition === true ? 'AND' : 'OR';
52
- return ` ( ${filterSql(item.children, groupCondition)} ) `; // eslint-disable-line
54
+ return " ( ".concat(filterSql(item.children, groupCondition), " ) "); // eslint-disable-line
53
55
  };
54
56
 
55
57
  const filterSql = (filters, groupCondition) => {
56
58
  const filterGroup = filters.map(filter => {
57
- if (filter.element.type === 'filter') return ` ${renderFilterSQl(filter)} `;
58
- return ` ${groupSql(filter) || ''} `;
59
+ if (filter.element.type === 'filter') return " ".concat(renderFilterSQl(filter), " ");
60
+ return " ".concat(groupSql(filter) || '', " ");
59
61
  });
60
62
  return filterGroup.join(groupCondition);
61
63
  };
62
64
 
63
- const sql = ` FROM [TABLE_NAME] WHERE ${groupSql(items, main) || ''} `;
65
+ const sql = " FROM [TABLE_NAME] WHERE ".concat(groupSql(items, main) || '', " ");
64
66
  return sql;
65
67
  };
66
68
 
@@ -1,7 +1,7 @@
1
+ import 'core-js/modules/esnext.async-iterator.map.js';
2
+ import 'core-js/modules/esnext.iterator.map.js';
1
3
  import { QB_OPERATOR_TYPES } from '../helpers/types.js';
2
4
 
3
- /* eslint-disable complexity */
4
-
5
5
  const specialChar = /[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/;
6
6
 
7
7
  const conditionSql = (condition, value) => {
@@ -18,17 +18,17 @@ const conditionSql = (condition, value) => {
18
18
  START_WITH
19
19
  } = QB_OPERATOR_TYPES; // eslint-disable-next-line no-restricted-globals
20
20
 
21
- const valueDisplay = isNaN(value) ? `'${value}'` : value;
22
- if (condition === EQUAL) return ` = ${valueDisplay}`;
23
- if (condition === NOT_EQUAL) return ` <> ${valueDisplay}`;
24
- if (condition === GREATER_THAN) return ` > ${valueDisplay}`;
25
- if (condition === LESS_THAN) return ` < ${valueDisplay}`;
26
- if (condition === CONTAINS) return ` LIKE '%${value}%'`;
27
- if (condition === NOT_CONTAINS) return ` NOT LIKE '%${value}%'`;
28
- if (condition === BETWEEN) return ` BETWEEN ${value[0]} AND ${value[1]} `;
29
- if (condition === GREATER_THAN_OR_EQUAL) return ` >= ${value}`;
30
- if (condition === LESS_THAN_OR_EQUAL) return ` <= ${value}`;
31
- if (condition === START_WITH) return ` LIKE '${value}%'`;
21
+ const valueDisplay = isNaN(value) ? "'".concat(value, "'") : value;
22
+ if (condition === EQUAL) return " = ".concat(valueDisplay);
23
+ if (condition === NOT_EQUAL) return " <> ".concat(valueDisplay);
24
+ if (condition === GREATER_THAN) return " > ".concat(valueDisplay);
25
+ if (condition === LESS_THAN) return " < ".concat(valueDisplay);
26
+ if (condition === CONTAINS) return " LIKE '%".concat(value, "%'");
27
+ if (condition === NOT_CONTAINS) return " NOT LIKE '%".concat(value, "%'");
28
+ if (condition === BETWEEN) return " BETWEEN ".concat(value[0], " AND ").concat(value[1], " ");
29
+ if (condition === GREATER_THAN_OR_EQUAL) return " >= ".concat(value);
30
+ if (condition === LESS_THAN_OR_EQUAL) return " <= ".concat(value);
31
+ if (condition === START_WITH) return " LIKE '".concat(value, "%'");
32
32
  return condition;
33
33
  };
34
34
 
@@ -40,34 +40,36 @@ const renderFilterSQl = filter => {
40
40
  } = filter.element; // eslint-disable-next-line no-restricted-globals
41
41
 
42
42
  const fieldDisplay = // eslint-disable-next-line no-restricted-globals
43
- /[.]/.test(field) || !isNaN(field) ? `\\"${field}\\"` : field;
44
- return `${fieldDisplay} ${conditionSql(operator, value) || ''}`;
43
+ /[.]/.test(field) || !isNaN(field) ? "\\\"".concat(field, "\\\"") : field;
44
+ return "".concat(fieldDisplay, " ").concat(conditionSql(operator, value) || '');
45
45
  };
46
46
 
47
- const sqlSafeFormat = ({
48
- main,
49
- mapGroups,
50
- items
51
- }) => {
47
+ const sqlSafeFormat = _ref => {
48
+ let {
49
+ main,
50
+ mapGroups,
51
+ items
52
+ } = _ref;
53
+
52
54
  const groupSql = (item, idGroup) => {
53
55
  if (idGroup === main) {
54
56
  const groupCondition = mapGroups[idGroup].condition === true ? 'AND' : 'OR';
55
- return ` ( ${filterSql(item, groupCondition)} ) `; // eslint-disable-line
57
+ return " ( ".concat(filterSql(item, groupCondition), " ) "); // eslint-disable-line
56
58
  }
57
59
 
58
60
  const groupCondition = item.element.condition === true ? 'AND' : 'OR';
59
- return ` ( ${filterSql(item.children, groupCondition)} ) `; // eslint-disable-line
61
+ return " ( ".concat(filterSql(item.children, groupCondition), " ) "); // eslint-disable-line
60
62
  };
61
63
 
62
64
  const filterSql = (filters, groupCondition) => {
63
65
  const filterGroup = filters.map(filter => {
64
- if (filter.element.type === 'filter') return ` ${renderFilterSQl(filter)} `;
65
- return ` ${groupSql(filter) || ''} `;
66
+ if (filter.element.type === 'filter') return " ".concat(renderFilterSQl(filter), " ");
67
+ return " ".concat(groupSql(filter) || '', " ");
66
68
  });
67
69
  return filterGroup.join(groupCondition);
68
70
  };
69
71
 
70
- const sql = ` FROM [TABLE_NAME] WHERE ${groupSql(items, main) || ''} `;
72
+ const sql = " FROM [TABLE_NAME] WHERE ".concat(groupSql(items, main) || '', " ");
71
73
  return sql;
72
74
  };
73
75