@elliemae/ds-query-builder 2.3.0-alpha.9 → 2.3.0-next.11

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 (242) hide show
  1. package/cjs/DSQueryBuilder.js +98 -0
  2. package/cjs/components/AndOrController/AndOrController.js +222 -0
  3. package/cjs/components/ConditionController/ConditionController.js +100 -0
  4. package/cjs/components/DisplayOutput/DisplayOutput.js +93 -0
  5. package/cjs/components/DragContainerController/DragContainerController.js +45 -0
  6. package/cjs/components/DragControllerRow/DragControllerRow.js +47 -0
  7. package/cjs/components/FieldControllerRow/FieldControllerRow.js +33 -0
  8. package/cjs/components/Nestable/Nestable.js +320 -0
  9. package/cjs/components/Nestable/NestableItem.js +111 -0
  10. package/cjs/components/Nestable/actions/events.js +166 -0
  11. package/cjs/components/Nestable/actions/getItemOptions.js +28 -0
  12. package/cjs/components/Nestable/actions/getPaths.js +124 -0
  13. package/cjs/components/Nestable/actions/index.js +28 -0
  14. package/cjs/components/Nestable/actions/moveItem.js +54 -0
  15. package/cjs/components/Nestable/actions/paths.js +126 -0
  16. package/cjs/components/Nestable/actions/tryDecreaseDepth.js +35 -0
  17. package/cjs/components/Nestable/actions/tryIncreaseDepth.js +38 -0
  18. package/cjs/components/Nestable/index.js +7 -0
  19. package/cjs/components/QueryBuilderContext/QueryBuilderContext.js +13 -0
  20. package/cjs/components/QueryBuilderImpl.js +309 -0
  21. package/cjs/components/QueryBuilderItem/QueryBuilderItem.js +90 -0
  22. package/cjs/components/QueryBuilderRow/QueryBuilderRow.js +276 -0
  23. package/cjs/components/ToolBarAnimation/ToolBarAnimation.js +29 -0
  24. package/cjs/components/format/format.js +33 -0
  25. package/cjs/components/format/sqlFormat.js +73 -0
  26. package/cjs/components/format/sqlSafeFormat.js +81 -0
  27. package/cjs/components/format/xmlFormat.js +73 -0
  28. package/cjs/components/helpers/actions.js +277 -0
  29. package/cjs/components/helpers/constants.js +11 -0
  30. package/cjs/components/helpers/dependencies.js +84 -0
  31. package/cjs/components/helpers/selectors.js +101 -0
  32. package/cjs/components/helpers/store.js +177 -0
  33. package/cjs/components/helpers/types.js +64 -0
  34. package/cjs/index.js +29 -0
  35. package/cjs/propTypes.js +97 -0
  36. package/esm/DSQueryBuilder.js +74 -0
  37. package/esm/components/AndOrController/AndOrController.js +213 -0
  38. package/esm/components/ConditionController/ConditionController.js +92 -0
  39. package/esm/components/DisplayOutput/DisplayOutput.js +87 -0
  40. package/esm/components/DragContainerController/DragContainerController.js +39 -0
  41. package/esm/components/DragControllerRow/DragControllerRow.js +39 -0
  42. package/esm/components/FieldControllerRow/FieldControllerRow.js +27 -0
  43. package/esm/components/Nestable/Nestable.js +312 -0
  44. package/esm/components/Nestable/NestableItem.js +103 -0
  45. package/esm/components/Nestable/actions/events.js +153 -0
  46. package/{dist/esm → esm}/components/Nestable/actions/getItemOptions.js +11 -7
  47. package/{dist/esm → esm}/components/Nestable/actions/getPaths.js +43 -17
  48. package/esm/components/Nestable/actions/index.js +6 -0
  49. package/esm/components/Nestable/actions/moveItem.js +45 -0
  50. package/{dist/esm → esm}/components/Nestable/actions/paths.js +47 -19
  51. package/esm/components/Nestable/actions/tryDecreaseDepth.js +31 -0
  52. package/{dist/esm → esm}/components/Nestable/actions/tryIncreaseDepth.js +22 -10
  53. package/esm/components/Nestable/index.js +2 -0
  54. package/esm/components/QueryBuilderContext/QueryBuilderContext.js +5 -0
  55. package/esm/components/QueryBuilderImpl.js +301 -0
  56. package/esm/components/QueryBuilderItem/QueryBuilderItem.js +83 -0
  57. package/esm/components/QueryBuilderRow/QueryBuilderRow.js +268 -0
  58. package/esm/components/ToolBarAnimation/ToolBarAnimation.js +20 -0
  59. package/esm/components/format/format.js +31 -0
  60. package/esm/components/format/sqlFormat.js +69 -0
  61. package/esm/components/format/sqlSafeFormat.js +76 -0
  62. package/esm/components/format/xmlFormat.js +69 -0
  63. package/esm/components/helpers/actions.js +254 -0
  64. package/esm/components/helpers/constants.js +5 -0
  65. package/esm/components/helpers/dependencies.js +60 -0
  66. package/esm/components/helpers/selectors.js +93 -0
  67. package/esm/components/helpers/store.js +171 -0
  68. package/esm/components/helpers/types.js +52 -0
  69. package/esm/index.js +4 -0
  70. package/esm/propTypes.js +93 -0
  71. package/package.json +95 -97
  72. package/{dist/types → types}/DSQueryBuilder.d.ts +0 -0
  73. package/{dist/types → types}/components/AndOrController/AndOrController.d.ts +0 -0
  74. package/{dist/types → types}/components/ConditionController/ConditionController.d.ts +0 -0
  75. package/{dist/types → types}/components/DisplayOutput/DisplayOutput.d.ts +0 -0
  76. package/{dist/types → types}/components/DragContainerController/DragContainerController.d.ts +0 -0
  77. package/{dist/types → types}/components/DragControllerRow/DragControllerRow.d.ts +0 -0
  78. package/{dist/types → types}/components/FieldControllerRow/FieldControllerRow.d.ts +0 -0
  79. package/{dist/types → types}/components/Nestable/Nestable.d.ts +0 -0
  80. package/{dist/types → types}/components/Nestable/NestableItem.d.ts +0 -0
  81. package/{dist/types → types}/components/Nestable/actions/events.d.ts +0 -0
  82. package/{dist/types → types}/components/Nestable/actions/getItemOptions.d.ts +0 -0
  83. package/{dist/types → types}/components/Nestable/actions/getPaths.d.ts +0 -0
  84. package/{dist/types → types}/components/Nestable/actions/index.d.ts +0 -0
  85. package/{dist/types → types}/components/Nestable/actions/moveItem.d.ts +0 -0
  86. package/{dist/types → types}/components/Nestable/actions/paths.d.ts +0 -0
  87. package/{dist/types → types}/components/Nestable/actions/tryDecreaseDepth.d.ts +0 -0
  88. package/{dist/types → types}/components/Nestable/actions/tryIncreaseDepth.d.ts +0 -0
  89. package/{dist/types → types}/components/Nestable/index.d.ts +0 -0
  90. package/{dist/types → types}/components/QueryBuilderContext/QueryBuilderContext.d.ts +0 -0
  91. package/{dist/types → types}/components/QueryBuilderImpl.d.ts +0 -0
  92. package/{dist/types → types}/components/QueryBuilderItem/QueryBuilderItem.d.ts +0 -0
  93. package/{dist/types → types}/components/QueryBuilderRow/QueryBuilderRow.d.ts +0 -0
  94. package/{dist/types → types}/components/ToolBarAnimation/ToolBarAnimation.d.ts +0 -0
  95. package/{dist/types → types}/components/format/format.d.ts +0 -0
  96. package/{dist/types → types}/components/format/sqlFormat.d.ts +0 -0
  97. package/{dist/types → types}/components/format/sqlSafeFormat.d.ts +0 -0
  98. package/{dist/types → types}/components/format/xmlFormat.d.ts +0 -0
  99. package/{dist/types → types}/components/helpers/actions.d.ts +0 -0
  100. package/{dist/types → types}/components/helpers/constants.d.ts +0 -0
  101. package/{dist/types → types}/components/helpers/dependencies.d.ts +0 -0
  102. package/{dist/types → types}/components/helpers/selectors.d.ts +0 -0
  103. package/{dist/types → types}/components/helpers/store.d.ts +0 -0
  104. package/{dist/types → types}/components/helpers/types.d.ts +0 -0
  105. package/{dist/types → types}/index.d.ts +0 -0
  106. package/{dist/types → types}/propTypes.d.ts +0 -0
  107. package/dist/cjs/DSQueryBuilder.js +0 -118
  108. package/dist/cjs/DSQueryBuilder.js.map +0 -7
  109. package/dist/cjs/components/AndOrController/AndOrController.js +0 -208
  110. package/dist/cjs/components/AndOrController/AndOrController.js.map +0 -7
  111. package/dist/cjs/components/ConditionController/ConditionController.js +0 -116
  112. package/dist/cjs/components/ConditionController/ConditionController.js.map +0 -7
  113. package/dist/cjs/components/DisplayOutput/DisplayOutput.js +0 -92
  114. package/dist/cjs/components/DisplayOutput/DisplayOutput.js.map +0 -7
  115. package/dist/cjs/components/DragContainerController/DragContainerController.js +0 -65
  116. package/dist/cjs/components/DragContainerController/DragContainerController.js.map +0 -7
  117. package/dist/cjs/components/DragControllerRow/DragControllerRow.js +0 -51
  118. package/dist/cjs/components/DragControllerRow/DragControllerRow.js.map +0 -7
  119. package/dist/cjs/components/FieldControllerRow/FieldControllerRow.js +0 -55
  120. package/dist/cjs/components/FieldControllerRow/FieldControllerRow.js.map +0 -7
  121. package/dist/cjs/components/Nestable/Nestable.js +0 -254
  122. package/dist/cjs/components/Nestable/Nestable.js.map +0 -7
  123. package/dist/cjs/components/Nestable/NestableItem.js +0 -119
  124. package/dist/cjs/components/Nestable/NestableItem.js.map +0 -7
  125. package/dist/cjs/components/Nestable/actions/events.js +0 -143
  126. package/dist/cjs/components/Nestable/actions/events.js.map +0 -7
  127. package/dist/cjs/components/Nestable/actions/getItemOptions.js +0 -49
  128. package/dist/cjs/components/Nestable/actions/getItemOptions.js.map +0 -7
  129. package/dist/cjs/components/Nestable/actions/getPaths.js +0 -119
  130. package/dist/cjs/components/Nestable/actions/getPaths.js.map +0 -7
  131. package/dist/cjs/components/Nestable/actions/index.js +0 -42
  132. package/dist/cjs/components/Nestable/actions/index.js.map +0 -7
  133. package/dist/cjs/components/Nestable/actions/moveItem.js +0 -56
  134. package/dist/cjs/components/Nestable/actions/moveItem.js.map +0 -7
  135. package/dist/cjs/components/Nestable/actions/paths.js +0 -119
  136. package/dist/cjs/components/Nestable/actions/paths.js.map +0 -7
  137. package/dist/cjs/components/Nestable/actions/tryDecreaseDepth.js +0 -51
  138. package/dist/cjs/components/Nestable/actions/tryDecreaseDepth.js.map +0 -7
  139. package/dist/cjs/components/Nestable/actions/tryIncreaseDepth.js +0 -51
  140. package/dist/cjs/components/Nestable/actions/tryIncreaseDepth.js.map +0 -7
  141. package/dist/cjs/components/Nestable/index.js +0 -36
  142. package/dist/cjs/components/Nestable/index.js.map +0 -7
  143. package/dist/cjs/components/QueryBuilderContext/QueryBuilderContext.js +0 -36
  144. package/dist/cjs/components/QueryBuilderContext/QueryBuilderContext.js.map +0 -7
  145. package/dist/cjs/components/QueryBuilderImpl.js +0 -225
  146. package/dist/cjs/components/QueryBuilderImpl.js.map +0 -7
  147. package/dist/cjs/components/QueryBuilderItem/QueryBuilderItem.js +0 -92
  148. package/dist/cjs/components/QueryBuilderItem/QueryBuilderItem.js.map +0 -7
  149. package/dist/cjs/components/QueryBuilderRow/QueryBuilderRow.js +0 -219
  150. package/dist/cjs/components/QueryBuilderRow/QueryBuilderRow.js.map +0 -7
  151. package/dist/cjs/components/ToolBarAnimation/ToolBarAnimation.js +0 -42
  152. package/dist/cjs/components/ToolBarAnimation/ToolBarAnimation.js.map +0 -7
  153. package/dist/cjs/components/format/format.js +0 -59
  154. package/dist/cjs/components/format/format.js.map +0 -7
  155. package/dist/cjs/components/format/sqlFormat.js +0 -94
  156. package/dist/cjs/components/format/sqlFormat.js.map +0 -7
  157. package/dist/cjs/components/format/sqlSafeFormat.js +0 -98
  158. package/dist/cjs/components/format/sqlSafeFormat.js.map +0 -7
  159. package/dist/cjs/components/format/xmlFormat.js +0 -94
  160. package/dist/cjs/components/format/xmlFormat.js.map +0 -7
  161. package/dist/cjs/components/helpers/actions.js +0 -242
  162. package/dist/cjs/components/helpers/actions.js.map +0 -7
  163. package/dist/cjs/components/helpers/constants.js +0 -39
  164. package/dist/cjs/components/helpers/constants.js.map +0 -7
  165. package/dist/cjs/components/helpers/dependencies.js +0 -69
  166. package/dist/cjs/components/helpers/dependencies.js.map +0 -7
  167. package/dist/cjs/components/helpers/selectors.js +0 -161
  168. package/dist/cjs/components/helpers/selectors.js.map +0 -7
  169. package/dist/cjs/components/helpers/store.js +0 -159
  170. package/dist/cjs/components/helpers/store.js.map +0 -7
  171. package/dist/cjs/components/helpers/types.js +0 -92
  172. package/dist/cjs/components/helpers/types.js.map +0 -7
  173. package/dist/cjs/index.js +0 -36
  174. package/dist/cjs/index.js.map +0 -7
  175. package/dist/cjs/propTypes.js +0 -105
  176. package/dist/cjs/propTypes.js.map +0 -7
  177. package/dist/esm/DSQueryBuilder.js +0 -105
  178. package/dist/esm/DSQueryBuilder.js.map +0 -7
  179. package/dist/esm/components/AndOrController/AndOrController.js +0 -179
  180. package/dist/esm/components/AndOrController/AndOrController.js.map +0 -7
  181. package/dist/esm/components/ConditionController/ConditionController.js +0 -87
  182. package/dist/esm/components/ConditionController/ConditionController.js.map +0 -7
  183. package/dist/esm/components/DisplayOutput/DisplayOutput.js +0 -63
  184. package/dist/esm/components/DisplayOutput/DisplayOutput.js.map +0 -7
  185. package/dist/esm/components/DragContainerController/DragContainerController.js +0 -36
  186. package/dist/esm/components/DragContainerController/DragContainerController.js.map +0 -7
  187. package/dist/esm/components/DragControllerRow/DragControllerRow.js +0 -22
  188. package/dist/esm/components/DragControllerRow/DragControllerRow.js.map +0 -7
  189. package/dist/esm/components/FieldControllerRow/FieldControllerRow.js +0 -26
  190. package/dist/esm/components/FieldControllerRow/FieldControllerRow.js.map +0 -7
  191. package/dist/esm/components/Nestable/Nestable.js +0 -241
  192. package/dist/esm/components/Nestable/Nestable.js.map +0 -7
  193. package/dist/esm/components/Nestable/NestableItem.js +0 -90
  194. package/dist/esm/components/Nestable/NestableItem.js.map +0 -7
  195. package/dist/esm/components/Nestable/actions/events.js +0 -119
  196. package/dist/esm/components/Nestable/actions/events.js.map +0 -7
  197. package/dist/esm/components/Nestable/actions/getItemOptions.js.map +0 -7
  198. package/dist/esm/components/Nestable/actions/getPaths.js.map +0 -7
  199. package/dist/esm/components/Nestable/actions/index.js +0 -13
  200. package/dist/esm/components/Nestable/actions/index.js.map +0 -7
  201. package/dist/esm/components/Nestable/actions/moveItem.js +0 -27
  202. package/dist/esm/components/Nestable/actions/moveItem.js.map +0 -7
  203. package/dist/esm/components/Nestable/actions/paths.js.map +0 -7
  204. package/dist/esm/components/Nestable/actions/tryDecreaseDepth.js +0 -22
  205. package/dist/esm/components/Nestable/actions/tryDecreaseDepth.js.map +0 -7
  206. package/dist/esm/components/Nestable/actions/tryIncreaseDepth.js.map +0 -7
  207. package/dist/esm/components/Nestable/index.js +0 -7
  208. package/dist/esm/components/Nestable/index.js.map +0 -7
  209. package/dist/esm/components/QueryBuilderContext/QueryBuilderContext.js +0 -7
  210. package/dist/esm/components/QueryBuilderContext/QueryBuilderContext.js.map +0 -7
  211. package/dist/esm/components/QueryBuilderImpl.js +0 -196
  212. package/dist/esm/components/QueryBuilderImpl.js.map +0 -7
  213. package/dist/esm/components/QueryBuilderItem/QueryBuilderItem.js +0 -63
  214. package/dist/esm/components/QueryBuilderItem/QueryBuilderItem.js.map +0 -7
  215. package/dist/esm/components/QueryBuilderRow/QueryBuilderRow.js +0 -190
  216. package/dist/esm/components/QueryBuilderRow/QueryBuilderRow.js.map +0 -7
  217. package/dist/esm/components/ToolBarAnimation/ToolBarAnimation.js +0 -13
  218. package/dist/esm/components/ToolBarAnimation/ToolBarAnimation.js.map +0 -7
  219. package/dist/esm/components/format/format.js +0 -30
  220. package/dist/esm/components/format/format.js.map +0 -7
  221. package/dist/esm/components/format/sqlFormat.js +0 -65
  222. package/dist/esm/components/format/sqlFormat.js.map +0 -7
  223. package/dist/esm/components/format/sqlSafeFormat.js +0 -69
  224. package/dist/esm/components/format/sqlSafeFormat.js.map +0 -7
  225. package/dist/esm/components/format/xmlFormat.js +0 -65
  226. package/dist/esm/components/format/xmlFormat.js.map +0 -7
  227. package/dist/esm/components/helpers/actions.js +0 -217
  228. package/dist/esm/components/helpers/actions.js.map +0 -7
  229. package/dist/esm/components/helpers/constants.js +0 -10
  230. package/dist/esm/components/helpers/constants.js.map +0 -7
  231. package/dist/esm/components/helpers/dependencies.js +0 -40
  232. package/dist/esm/components/helpers/dependencies.js.map +0 -7
  233. package/dist/esm/components/helpers/selectors.js +0 -132
  234. package/dist/esm/components/helpers/selectors.js.map +0 -7
  235. package/dist/esm/components/helpers/store.js +0 -143
  236. package/dist/esm/components/helpers/store.js.map +0 -7
  237. package/dist/esm/components/helpers/types.js +0 -63
  238. package/dist/esm/components/helpers/types.js.map +0 -7
  239. package/dist/esm/index.js +0 -7
  240. package/dist/esm/index.js.map +0 -7
  241. package/dist/esm/propTypes.js +0 -76
  242. package/dist/esm/propTypes.js.map +0 -7
@@ -0,0 +1,309 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/esnext.async-iterator.filter.js');
4
+ require('core-js/modules/esnext.iterator.constructor.js');
5
+ require('core-js/modules/esnext.iterator.filter.js');
6
+ require('core-js/modules/esnext.async-iterator.for-each.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
8
+ var _jsx = require('@babel/runtime/helpers/jsx');
9
+ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
10
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
+ var React = require('react');
12
+ var Nestable = require('./Nestable/Nestable.js');
13
+ var QueryBuilderContext = require('./QueryBuilderContext/QueryBuilderContext.js');
14
+ var types = require('./helpers/types.js');
15
+ var store = require('./helpers/store.js');
16
+ var AndOrController = require('./AndOrController/AndOrController.js');
17
+ var QueryBuilderItem = require('./QueryBuilderItem/QueryBuilderItem.js');
18
+ var DisplayOutput = require('./DisplayOutput/DisplayOutput.js');
19
+ var jsxRuntime = require('react/jsx-runtime');
20
+
21
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
+
23
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
24
+ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
25
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
26
+
27
+ const _excluded = ["format"];
28
+
29
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
+
31
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
+
33
+ class QueryBuilderImpl extends React.Component {
34
+ constructor(props) {
35
+ super(props);
36
+ this.isDraggableItem = true;
37
+
38
+ this.onOrderDragAndDrop = (items, item) => {
39
+ const newFilters = this.store.onOrderDragAndDrop(items, item);
40
+ this.sendCall('reOrderOnDragAndDrop', {
41
+ items
42
+ });
43
+ this.sendChange(newFilters);
44
+ };
45
+
46
+ this.onAddFilterToGroup = idGroup => {
47
+ const newFilters = this.store.addFilter(idGroup);
48
+ this.sendCall('onAddFilterToGroup', {
49
+ idGroup
50
+ });
51
+ this.sendChange(newFilters);
52
+ };
53
+
54
+ this.onAddFilter = (idGroup, idFilter) => {
55
+ const {
56
+ addFilterMethod
57
+ } = this.props;
58
+ const newFilters = addFilterMethod === types.QB_ADD_FILTER_METHOD_TYPES.IN_PLACE ? this.store.addFilterNextToFilterId(idGroup, idFilter) : this.onAddFilterToGroup(idGroup);
59
+ this.sendCall('onAddFilter', {
60
+ idGroup,
61
+ idFilter
62
+ });
63
+ this.sendChange(newFilters);
64
+ };
65
+
66
+ this.onAddRuleContainer = (idGroup, idFilter) => {
67
+ const {
68
+ groupFilterMethod
69
+ } = this.props;
70
+ const newFilters = groupFilterMethod === types.QB_GROUP_FILTER_METHOD_TYPES.IN_PLACE ? this.store.addRuleContainerInPlace(idGroup, idFilter) : this.store.addRuleContainer(idGroup, idFilter);
71
+ this.sendCall('onAddRuleContainer', {
72
+ idGroup,
73
+ idFilter
74
+ });
75
+ this.sendChange(newFilters);
76
+ };
77
+
78
+ this.onRemoveFilter = idFilter => {
79
+ const newFilters = this.store.onRemoveFilter(idFilter);
80
+ this.sendCall('onRemoveFilter', {
81
+ idFilter
82
+ });
83
+ this.sendChange(newFilters);
84
+ };
85
+
86
+ this.handleFieldChange = data => {
87
+ const {
88
+ fieldsSharedActions
89
+ } = this.props;
90
+ const newFilters = this.store.changeFilter(_objectSpread(_objectSpread({}, data), {}, {
91
+ fieldsSharedActions
92
+ }));
93
+ this.sendCall('handleFieldChange', {
94
+ data
95
+ });
96
+ this.sendChange(newFilters);
97
+ };
98
+
99
+ this.handleRuleContainerOperator = (idGroup, value) => {
100
+ const newFilters = this.store.changeGroupOperator(idGroup, value);
101
+ this.sendCall('handleRuleContainerOperator', {
102
+ idGroup,
103
+ value
104
+ });
105
+ this.sendChange(newFilters);
106
+ };
107
+
108
+ this.handleRuleContainerUnGroup = idGroup => {
109
+ const newFilters = this.store.unGroup(idGroup);
110
+ this.sendCall('handleRuleContainerUnGroup', {
111
+ idGroup
112
+ });
113
+ this.sendChange(newFilters);
114
+ };
115
+
116
+ this.handleDropFilter = (filter, dragTo) => {
117
+ const {
118
+ position: oldPosition,
119
+ idGroup,
120
+ idFilter
121
+ } = filter;
122
+ const {
123
+ position: newPosition,
124
+ targetIdGroup
125
+ } = dragTo;
126
+ const newFilters = this.store.reOrderFilter(idFilter, idGroup, oldPosition, newPosition, targetIdGroup);
127
+ this.sendCall('handleDropFilter', {
128
+ filter,
129
+ dragTo
130
+ });
131
+ this.sendChange(newFilters);
132
+ };
133
+
134
+ this.handleDropGroup = (group, dragTo) => {
135
+ const {
136
+ position: oldPosition,
137
+ idFilter,
138
+ idGroup
139
+ } = group;
140
+ const {
141
+ position: newPosition,
142
+ targetIdGroup
143
+ } = dragTo;
144
+ const newFilters = this.store.reOrderFilter(idFilter, idGroup, oldPosition, newPosition, targetIdGroup);
145
+ this.sendCall('handleDropGroup', {
146
+ group,
147
+ dragTo
148
+ });
149
+ this.sendChange(newFilters);
150
+ };
151
+
152
+ this.handleDrop = (dragElement, dragTo) => {
153
+ const {
154
+ type
155
+ } = dragElement;
156
+ if (type === types.QB_DRAG_TYPES.FILTER) return this.handleDropFilter(dragElement, dragTo);
157
+ return this.handleDropGroup(dragElement, dragTo);
158
+ };
159
+
160
+ this.sendChange = _ref => {
161
+ let {
162
+ format
163
+ } = _ref,
164
+ newFilters = _objectWithoutProperties__default["default"](_ref, _excluded);
165
+
166
+ this.setState(_objectSpread({
167
+ format
168
+ }, newFilters));
169
+ const {
170
+ onChange
171
+ } = this.props;
172
+ onChange(format, newFilters);
173
+ };
174
+
175
+ this.sendCall = (action, data) => {
176
+ const {
177
+ [action]: callback
178
+ } = this.props;
179
+ if (callback) callback(data);
180
+ };
181
+
182
+ this.setDraggableItems = drag => {
183
+ this.isDraggableItem = true;
184
+
185
+ try {
186
+ const ua = window.navigator.userAgent;
187
+ const msie = ua.indexOf('MSIE '); // eslint-disable-next-line no-useless-escape
188
+
189
+ if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
190
+ const {
191
+ isDraggableItem
192
+ } = this.state;
193
+
194
+ if (drag !== isDraggableItem) {
195
+ this.setState({
196
+ isDraggableItem: drag
197
+ });
198
+ }
199
+
200
+ this.isDraggableItem = drag;
201
+ }
202
+ } catch (error) {
203
+ this.isDraggableItem = true;
204
+ }
205
+ };
206
+
207
+ this.store = new store(props.init, props.format);
208
+ this.state = this.store.getInitialState();
209
+ }
210
+
211
+ static getDerivedStateFromProps(props, state) {
212
+ if (props.init && props.init.step !== undefined && Number.isInteger(props.init.step) && props.init.step !== state.step) {
213
+ const store$1 = new store(props.init, props.format);
214
+ QueryBuilderImpl.recalculateStore = store$1;
215
+ return store$1.getInitialState();
216
+ }
217
+
218
+ return null;
219
+ }
220
+
221
+ componentDidUpdate() {
222
+ if (QueryBuilderImpl.recalculateStore) {
223
+ this.store = QueryBuilderImpl.recalculateStore;
224
+ QueryBuilderImpl.recalculateStore = null;
225
+ }
226
+ }
227
+
228
+ render() {
229
+ const {
230
+ mapGroups,
231
+ main,
232
+ mapFilters,
233
+ step,
234
+ items,
235
+ format
236
+ } = this.state;
237
+ const {
238
+ containerProps,
239
+ ruleContainerClassName,
240
+ fields,
241
+ displayFixedOutput,
242
+ displayOutput,
243
+ displayOutputLabel,
244
+ singleRow,
245
+ toolTipZIndex
246
+ } = this.props; // const { children } = items[0]
247
+
248
+ const {
249
+ condition
250
+ } = mapGroups[main];
251
+ return /*#__PURE__*/_jsx__default["default"](QueryBuilderContext.QueryBuilderContext.Provider, {
252
+ value: {
253
+ toolTipZIndex,
254
+ fields,
255
+ handleDrop: this.handleDrop,
256
+ handleFieldChange: this.handleFieldChange,
257
+ handleRuleContainerOperator: this.handleRuleContainerOperator,
258
+ handleRuleContainerUnGroup: this.handleRuleContainerUnGroup,
259
+ mapFilters,
260
+ mapGroups,
261
+ onAddFilter: this.onAddFilter,
262
+ onAddFilterToGroup: this.onAddFilterToGroup,
263
+ onAddRuleContainer: this.onAddRuleContainer,
264
+ onRemoveFilter: this.onRemoveFilter,
265
+ ruleContainerClassName,
266
+ showDragController: false,
267
+ format,
268
+ step,
269
+ items,
270
+ isDraggableItem: this.isDraggableItem,
271
+ setDraggableItems: this.setDraggableItems,
272
+ singleRow
273
+ }
274
+ }, void 0, /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({}, containerProps), {}, {
275
+ className: "nested-main-group ".concat(condition !== true ? 'is-or-group' : 'is-and-groupL', " ").concat(singleRow ? 'query-main-single-row' : 'query-main-multiple-row'),
276
+ children: [/*#__PURE__*/_jsx__default["default"](Nestable, {
277
+ isAndItem: condition === true,
278
+ isDraggableItem: this.isDraggableItem,
279
+ isOrItem: condition !== true,
280
+ items: items,
281
+ onChange: this.onOrderDragAndDrop,
282
+ renderItem: QueryBuilderItem,
283
+ setDraggableItems: this.setDraggableItems,
284
+ step: step,
285
+ singleRow: singleRow
286
+ }), !singleRow && /*#__PURE__*/_jsx__default["default"]("div", {
287
+ className: "rule-container-options"
288
+ }, void 0, /*#__PURE__*/_jsx__default["default"](AndOrController, {
289
+ allowUnGroup: false,
290
+ condition: condition,
291
+ handleRuleContainerOperator: value => this.handleRuleContainerOperator(main, value),
292
+ handleRuleContainerUnGroup: () => this.handleRuleContainerUnGroup(main),
293
+ isMain: true,
294
+ onAddFilter: () => this.onAddFilterToGroup(main),
295
+ showDragController: false,
296
+ step: step,
297
+ toolTipZIndex: toolTipZIndex
298
+ }))]
299
+ })), (displayOutput || displayFixedOutput) && /*#__PURE__*/_jsx__default["default"](DisplayOutput, {
300
+ displayFixedOutput: displayFixedOutput,
301
+ hideLabel: displayOutputLabel.hide,
302
+ showLabel: displayOutputLabel.show,
303
+ show: displayOutputLabel.open
304
+ }));
305
+ }
306
+
307
+ }
308
+
309
+ module.exports = QueryBuilderImpl;
@@ -0,0 +1,90 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/esnext.async-iterator.filter.js');
4
+ require('core-js/modules/esnext.iterator.constructor.js');
5
+ require('core-js/modules/esnext.iterator.filter.js');
6
+ require('core-js/modules/esnext.async-iterator.for-each.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
8
+ var _jsx = require('@babel/runtime/helpers/jsx');
9
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
+ require('react');
11
+ var QueryBuilderContext = require('../QueryBuilderContext/QueryBuilderContext.js');
12
+ var types = require('../helpers/types.js');
13
+ var AndOrController = require('../AndOrController/AndOrController.js');
14
+ var QueryBuilderRow = require('../QueryBuilderRow/QueryBuilderRow.js');
15
+ var jsxRuntime = require('react/jsx-runtime');
16
+
17
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
18
+
19
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
20
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
21
+
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
+
26
+ const QueryBuilderItem = _ref => {
27
+ let {
28
+ item
29
+ } = _ref;
30
+ const {
31
+ element
32
+ } = item;
33
+ const {
34
+ type,
35
+ idFilter,
36
+ idGroup,
37
+ condition
38
+ } = element;
39
+ return /*#__PURE__*/_jsx__default["default"](QueryBuilderContext.QueryBuilderContext.Consumer, {}, void 0, _ref2 => {
40
+ let {
41
+ fields,
42
+ handleFieldChange,
43
+ onAddFilter,
44
+ onAddFilterToGroup,
45
+ onAddRuleContainer,
46
+ onRemoveFilter,
47
+ showDragController,
48
+ handleRuleContainerOperator,
49
+ handleRuleContainerUnGroup,
50
+ step,
51
+ items,
52
+ isDraggableItem,
53
+ setDraggableItems,
54
+ singleRow,
55
+ toolTipZIndex
56
+ } = _ref2;
57
+
58
+ if (type === types.QB_DRAG_TYPES.FILTER) {
59
+ return /*#__PURE__*/jsxRuntime.jsx(QueryBuilderRow, _objectSpread(_objectSpread({}, element), {}, {
60
+ fields: fields,
61
+ handleFieldChange: handleFieldChange,
62
+ isDraggableItem: isDraggableItem,
63
+ items: items,
64
+ onAddFilter: () => onAddFilter(idGroup, idFilter),
65
+ onAddRuleContainer: () => onAddRuleContainer(idGroup, idFilter),
66
+ onRemoveFilter: () => onRemoveFilter(idFilter),
67
+ setDraggableItems: setDraggableItems,
68
+ showDragController: showDragController,
69
+ step: step,
70
+ singleRow: singleRow,
71
+ toolTipZIndex: toolTipZIndex
72
+ }));
73
+ }
74
+
75
+ if (singleRow) return null;
76
+ return /*#__PURE__*/_jsx__default["default"](AndOrController, {
77
+ allowUnGroup: true,
78
+ condition: condition,
79
+ handleRuleContainerOperator: value => handleRuleContainerOperator(idGroup, value),
80
+ handleRuleContainerUnGroup: () => handleRuleContainerUnGroup(idGroup),
81
+ multipleSize: false,
82
+ onAddFilter: () => onAddFilterToGroup(idGroup),
83
+ showDragController: true,
84
+ step: step,
85
+ toolTipZIndex: toolTipZIndex
86
+ });
87
+ });
88
+ };
89
+
90
+ module.exports = QueryBuilderItem;
@@ -0,0 +1,276 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ var _jsx = require('@babel/runtime/helpers/jsx');
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
+ require('core-js/modules/esnext.async-iterator.map.js');
7
+ require('core-js/modules/esnext.iterator.map.js');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.filter.js');
11
+ require('core-js/modules/esnext.async-iterator.for-each.js');
12
+ require('core-js/modules/esnext.iterator.for-each.js');
13
+ var React = require('react');
14
+ var dsIcons = require('@elliemae/ds-icons');
15
+ var DSTooltip = require('@elliemae/ds-tooltip');
16
+ var dsClassnames = require('@elliemae/ds-classnames');
17
+ var dependencies = require('../helpers/dependencies.js');
18
+ var ConditionController = require('../ConditionController/ConditionController.js');
19
+ var DragControllerRow = require('../DragControllerRow/DragControllerRow.js');
20
+ var jsxRuntime = require('react/jsx-runtime');
21
+
22
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
+
24
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
25
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
26
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
27
+
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
31
+
32
+ const RenderField = _ref => {
33
+ let {
34
+ target,
35
+ component,
36
+ valueProp,
37
+ additionalInfo,
38
+ handleMouseEnterInput,
39
+ handleMouseLeaveInput,
40
+ onChangeHandler,
41
+ hasError
42
+ } = _ref;
43
+ const ref = React__default["default"].useRef();
44
+ const id = React__default["default"].useMemo(() => "el_".concat(String.fromCharCode(65 + Math.floor(Math.random() * 26))), []);
45
+ return /*#__PURE__*/_jsx__default["default"]("div", {
46
+ className: "em-ds-query-builder-row-input child-type-".concat(target, " ").concat(hasError && hasError.error ? 'row-input-error' : ''),
47
+ onMouseDownCapture: () => {
48
+ var _ref$current;
49
+
50
+ // eslint-disable-next-line no-underscore-dangle
51
+ const _refInput = (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.querySelector("#".concat(id));
52
+
53
+ if (_refInput && _refInput.focus) setTimeout(_refInput.focus());
54
+ handleMouseEnterInput();
55
+ },
56
+ onMouseEnter: () => handleMouseEnterInput(),
57
+ onMouseLeave: () => handleMouseLeaveInput()
58
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx("div", {
59
+ ref: ref,
60
+ className: "em-ds-query-builder-row__input-controller",
61
+ children: /*#__PURE__*/React__default["default"].cloneElement(component, {
62
+ id,
63
+ onChange: (e, extraData) => onChangeHandler(e, target, extraData),
64
+ value: valueProp != null ? valueProp : '',
65
+ checked: valueProp === true,
66
+ additionalInfo: additionalInfo ? additionalInfo[target] : additionalInfo || {},
67
+ 'aria-invalid': Boolean(hasError)
68
+ })
69
+ }), hasError && hasError.errorMessage ? /*#__PURE__*/_jsx__default["default"]("div", {
70
+ style: {
71
+ width: '40px'
72
+ }
73
+ }, void 0, /*#__PURE__*/_jsx__default["default"](DSTooltip.DSTooltipV3, {
74
+ text: hasError.errorMessage
75
+ }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
76
+ tabIndex: 0,
77
+ className: "row-icon-alert",
78
+ "data-testid": "qb-error-state-icon",
79
+ role: "alert"
80
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsIcons.AlertsDetail, {
81
+ width: 20,
82
+ height: 20,
83
+ color: ['danger', 900],
84
+ title: hasError.errorMessage
85
+ })))) : null); // return React.useMemo(
86
+ // () => (
87
+ // <div
88
+ // className={`em-ds-query-builder-row-input child-type-${target}`}
89
+ // onMouseDownCapture={() => {
90
+ // // eslint-disable-next-line no-underscore-dangle
91
+ // const _refInput = ref.current.querySelector(`#${id}`);
92
+ // if (_refInput && _refInput.focus) setTimeout(_refInput.focus());
93
+ // handleMouseEnterInput();
94
+ // }}
95
+ // onMouseEnter={() => handleMouseEnterInput()}
96
+ // onMouseLeave={() => handleMouseLeaveInput()}
97
+ // >
98
+ // <div ref={ref} className="em-ds-query-builder-row__input-controller">
99
+ // {React.cloneElement(component, {
100
+ // id,
101
+ // onChange: (e, extraData) => onChangeHandler(e, target, extraData),
102
+ // value: valueProp != null ? valueProp : '',
103
+ // checked: valueProp === true,
104
+ // additionalInfo: additionalInfo ? additionalInfo[target] : {},
105
+ // })}
106
+ // </div>
107
+ // </div>
108
+ // ),
109
+ // [target, component, valueProp, additionalInfo],
110
+ // );
111
+ };
112
+
113
+ class QueryBuilderRow extends React.Component {
114
+ constructor(props) {
115
+ super(props);
116
+
117
+ this.handleMouseEnterRow = () => {};
118
+
119
+ this.handleMouseLeaveRow = () => {
120
+ this.handleTooltipRow(false);
121
+ };
122
+
123
+ this.handleMouseEnterInput = () => {
124
+ const {
125
+ setDraggableItems
126
+ } = this.props;
127
+ setDraggableItems(false);
128
+ };
129
+
130
+ this.handleMouseLeaveInput = () => {
131
+ const {
132
+ setDraggableItems
133
+ } = this.props;
134
+ setDraggableItems(true);
135
+ };
136
+
137
+ this.handleTooltipRow = isOpen => {
138
+ this.setState({
139
+ isOpen
140
+ });
141
+ };
142
+
143
+ this.state = {
144
+ isOpen: false
145
+ };
146
+ }
147
+
148
+ onChangeHandler(e, target, extraData, hasError) {
149
+ const {
150
+ handleFieldChange,
151
+ idFilter,
152
+ idGroup,
153
+ additionalInfo,
154
+ field,
155
+ operator,
156
+ value
157
+ } = this.props;
158
+ let eventValue = e;
159
+
160
+ if (e && e.target) {
161
+ const {
162
+ value,
163
+ checked
164
+ } = e.target;
165
+ if (value || value === '' || typeof value === 'boolean') eventValue = value;else eventValue = checked || e;
166
+ }
167
+
168
+ handleFieldChange({
169
+ [target]: eventValue,
170
+ idFilter,
171
+ idGroup,
172
+ additionalInfo: _objectSpread(_objectSpread({}, additionalInfo), {}, {
173
+ [target]: extraData,
174
+ ["".concat(target, "_error")]: hasError,
175
+ ["".concat(target, "_touched")]: true
176
+ }),
177
+ target
178
+ });
179
+ }
180
+
181
+ render() {
182
+ const {
183
+ isOpen
184
+ } = this.state;
185
+ const {
186
+ fields,
187
+ onAddFilter,
188
+ onRemoveFilter,
189
+ onAddRuleContainer,
190
+ field,
191
+ operator,
192
+ value,
193
+ additionalInfo,
194
+ items,
195
+ singleRow,
196
+ toolTipZIndex,
197
+ error
198
+ } = this.props;
199
+ const {
200
+ cssClassName,
201
+ classNameBlock,
202
+ classNameElement
203
+ } = dsClassnames.convertPropToCssClassName('query-builder-row', isOpen ? 'has-open-tooltip' : 'has-close-tooltip', singleRow ? 'is-single-row' : 'is-multiple-row');
204
+ const test = dependencies.resolveDependencies({
205
+ field,
206
+ operator,
207
+ value,
208
+ additionalInfo
209
+ }, fields);
210
+ const gridTemplateColumns = ['24px', ...test.map(r => {
211
+ if (r.handleWidth) {
212
+ return r.handleWidth(this.props[r.target], {
213
+ field,
214
+ operator,
215
+ value,
216
+ additionalInfo
217
+ });
218
+ }
219
+
220
+ return 'minmax(0, 1fr)';
221
+ }), '30px'].join(' ');
222
+ return /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
223
+ children: /*#__PURE__*/_jsx__default["default"]("div", {
224
+ className: cssClassName,
225
+ onMouseEnter: this.handleMouseEnterRow,
226
+ onMouseLeave: this.handleMouseLeaveRow,
227
+ style: {
228
+ gridTemplateColumns
229
+ }
230
+ }, void 0, !singleRow && /*#__PURE__*/_jsx__default["default"](DragControllerRow, {
231
+ className: classNameElement('drag-controller'),
232
+ onMouseDownCapture: () => this.handleMouseLeaveInput()
233
+ }), test.map(renderField => {
234
+ const {
235
+ target,
236
+ component
237
+ } = renderField;
238
+ const {
239
+ [target]: valueProp
240
+ } = this.props;
241
+ const isTouched = additionalInfo && additionalInfo["".concat(target, "_touched")];
242
+ const hasError = renderField && renderField.validation ? renderField.validation(valueProp, {
243
+ field,
244
+ operator,
245
+ value,
246
+ additionalInfo
247
+ }) : false;
248
+ return /*#__PURE__*/_jsx__default["default"](RenderField, {
249
+ component: component,
250
+ target: target,
251
+ valueProp: valueProp,
252
+ onChangeHandler: (e, target, extraData) => {
253
+ this.onChangeHandler(e, target, extraData, hasError);
254
+ },
255
+ handleMouseEnterInput: this.handleMouseEnterInput,
256
+ handleMouseLeaveInput: this.handleMouseLeaveInput,
257
+ additionalInfo: additionalInfo,
258
+ hasError: isTouched && hasError
259
+ });
260
+ }), !singleRow && /*#__PURE__*/_jsx__default["default"]("div", {
261
+ className: classNameBlock('controller')
262
+ }, void 0, /*#__PURE__*/_jsx__default["default"](ConditionController, {
263
+ handleTooltipRow: this.handleTooltipRow,
264
+ isOpen: isOpen,
265
+ items: items,
266
+ onAddFilter: onAddFilter,
267
+ onAddRuleContainer: onAddRuleContainer,
268
+ onRemoveFilter: onRemoveFilter,
269
+ toolTipZIndex: toolTipZIndex
270
+ })))
271
+ });
272
+ }
273
+
274
+ }
275
+
276
+ module.exports = QueryBuilderRow;