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

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