@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
@@ -1,241 +0,0 @@
1
- import * as React from "react";
2
- import React2, { Component } from "react";
3
- import PropTypes from "prop-types";
4
- import cn from "classnames";
5
- import { listWithChildren } from "@elliemae/ds-shared/utils";
6
- import { isEqualWith } from "@elliemae/ds-utilities";
7
- import {
8
- tryIncreaseDepth,
9
- tryDecreaseDepth,
10
- moveItem,
11
- getItemOptions,
12
- getRealNextPath,
13
- getPathById,
14
- getItemByPath,
15
- getItemDepth,
16
- getSplicePath,
17
- onDragStart,
18
- onDragEnd,
19
- onMouseMove,
20
- onMouseEnter,
21
- onToggleCollapse,
22
- onKeyDown
23
- } from "./actions";
24
- import NestableItem from "./NestableItem";
25
- const shallowCompare = (instance, nextProps, nextState) => !isEqualWith(instance.props, nextProps) || !isEqualWith(instance.state, nextState);
26
- class Nestable extends Component {
27
- constructor(props) {
28
- super(props);
29
- this.onDragStart = (e, item) => {
30
- onDragStart.call(this, e, item);
31
- };
32
- this.onDragEnd = (e, isCancel) => onDragEnd.call(this, e, isCancel);
33
- this.onMouseMove = (e) => onMouseMove.call(this, e);
34
- this.onMouseEnter = (e, item) => onMouseEnter.call(this, e, item);
35
- this.onToggleCollapse = (item, isGetter) => onToggleCollapse.call(this, item, isGetter);
36
- this.onKeyDown = (e) => onKeyDown.call(this, e);
37
- this.getDefaultItems = () => {
38
- const { items } = this.state;
39
- return items;
40
- };
41
- this.getItemDepth = (item) => getItemDepth.call(this, item);
42
- this.startTrackMouse = () => {
43
- document.addEventListener("mousemove", this.onMouseMove);
44
- document.addEventListener("mouseup", this.onDragEnd);
45
- document.addEventListener("keydown", this.onKeyDown);
46
- };
47
- this.stopTrackMouse = () => {
48
- document.removeEventListener("mousemove", this.onMouseMove);
49
- document.removeEventListener("mouseup", this.onDragEnd);
50
- document.removeEventListener("keydown", this.onKeyDown);
51
- this.elCopyStyles = null;
52
- };
53
- this.isCollapsed = (item) => {
54
- const { collapsed } = this.props;
55
- const { collapsedGroups } = this.state;
56
- return !!(collapsedGroups.indexOf(item.id) > -1 ^ collapsed);
57
- };
58
- this.checkFilterChildren = (items) => items.find((current) => {
59
- const {
60
- element: { type },
61
- children
62
- } = current;
63
- if (type === "filter" && children.length > 0)
64
- return true;
65
- return this.checkFilterChildren(children);
66
- });
67
- this.dragRevert = () => {
68
- const { itemsOld } = this.state;
69
- this.setState({
70
- items: itemsOld,
71
- itemsOld: null,
72
- dragItem: null,
73
- isDirty: false
74
- });
75
- };
76
- this.state = {
77
- items: [],
78
- itemsOld: null,
79
- dragItem: null,
80
- isDirty: false,
81
- collapsedGroups: [],
82
- stopTrackingMouse: this.stopTrackMouse.bind(this),
83
- oldProps: props
84
- };
85
- this.el = null;
86
- this.elCopyStyles = null;
87
- this.mouse = {
88
- last: { x: 0 },
89
- shift: { x: 0 }
90
- };
91
- }
92
- componentDidMount() {
93
- const { childrenProp } = this.props;
94
- let { items } = this.props;
95
- items = listWithChildren(items, childrenProp);
96
- this.setState({ items });
97
- }
98
- componentWillUnmount() {
99
- this.stopTrackMouse();
100
- }
101
- static getDerivedStateFromProps(props, state) {
102
- const { items: itemsNew, childrenProp } = props;
103
- const { stopTrackingMouse, oldProps } = state;
104
- if (shallowCompare({ props: oldProps, state: {} }, props, {})) {
105
- stopTrackingMouse();
106
- const extra = {};
107
- if (oldProps.collapsed !== props.collapsed) {
108
- extra.collapsedGroups = [];
109
- }
110
- return {
111
- items: listWithChildren(itemsNew, childrenProp),
112
- dragItem: null,
113
- isDirty: false,
114
- oldProps: props,
115
- ...extra
116
- };
117
- }
118
- return null;
119
- }
120
- getPathById(id, items = this.getDefaultItems()) {
121
- return getPathById.call(this, id, items);
122
- }
123
- getItemByPath(path, items = this.getDefaultItems()) {
124
- return getItemByPath.call(this, path, items);
125
- }
126
- getSplicePath(path, options = {}) {
127
- return getSplicePath.call(this, path, options);
128
- }
129
- getRealNextPath(prevPath, nextPath) {
130
- return getRealNextPath.call(this, prevPath, nextPath);
131
- }
132
- getItemOptions() {
133
- return getItemOptions.call(this);
134
- }
135
- dragApply() {
136
- const { onChange } = this.props;
137
- const { items, isDirty, dragItem } = this.state;
138
- this.setState({
139
- itemsOld: null,
140
- dragItem: null,
141
- isDirty: false
142
- });
143
- if (onChange && isDirty)
144
- onChange(items, dragItem);
145
- }
146
- tryIncreaseDepth(dragItem) {
147
- tryIncreaseDepth.call(this, dragItem);
148
- }
149
- tryDecreaseDepth(dragItem) {
150
- tryDecreaseDepth.call(this, dragItem);
151
- }
152
- moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {
153
- moveItem.call(this, { dragItem, pathFrom, pathTo }, extraProps);
154
- }
155
- renderDragLayer() {
156
- const { group } = this.props;
157
- const { dragItem } = this.state;
158
- const el = document.querySelector(`.nestable-${group} .nestable-item-${dragItem.id}`);
159
- let listStyles = {};
160
- if (el) {
161
- listStyles.width = el.clientWidth;
162
- }
163
- if (this.elCopyStyles) {
164
- listStyles = {
165
- ...listStyles,
166
- ...this.elCopyStyles
167
- };
168
- }
169
- const options = this.getItemOptions();
170
- return /* @__PURE__ */ React2.createElement("div", {
171
- className: "nestable-drag-layer"
172
- }, /* @__PURE__ */ React2.createElement("ol", {
173
- className: "nestable-list",
174
- style: listStyles
175
- }, /* @__PURE__ */ React2.createElement(NestableItem, {
176
- isCopy: true,
177
- item: dragItem,
178
- options
179
- })));
180
- }
181
- render() {
182
- const { items, dragItem } = this.state;
183
- const {
184
- group,
185
- isAndItem,
186
- isOrItem,
187
- isDraggableItem,
188
- setDraggableItems,
189
- singleRow
190
- } = this.props;
191
- const options = this.getItemOptions();
192
- const childLength = items.length;
193
- let childClass = "single";
194
- if (childLength === 0)
195
- childClass = "empty";
196
- else if (childLength > 1)
197
- childClass = "multiple";
198
- return /* @__PURE__ */ React2.createElement("div", {
199
- className: cn("nestable", `nestable-${group}`, {
200
- "is-drag-active": dragItem
201
- })
202
- }, /* @__PURE__ */ React2.createElement("ol", {
203
- className: `nestable-list nestable-group nestable-child-count-${childClass}`
204
- }, items.map((item, i) => /* @__PURE__ */ React2.createElement(NestableItem, {
205
- key: item.id,
206
- index: i,
207
- isAndItem,
208
- isDraggableItem,
209
- isOrItem,
210
- item,
211
- options,
212
- setDraggableItems,
213
- singleRow
214
- }))), dragItem && this.renderDragLayer());
215
- }
216
- }
217
- Nestable.defaultProps = {
218
- items: [],
219
- collapsed: false,
220
- group: Math.random().toString(36).slice(2),
221
- childrenProp: "children",
222
- onChange: () => {
223
- }
224
- };
225
- Nestable.propTypes = {
226
- childrenProp: PropTypes.string,
227
- group: PropTypes.string,
228
- items: PropTypes.arrayOf(PropTypes.shape({})),
229
- collapsed: PropTypes.bool,
230
- onChange: PropTypes.func,
231
- isAndItem: PropTypes.bool,
232
- isOrItem: PropTypes.bool,
233
- isDraggableItem: PropTypes.bool,
234
- setDraggableItems: PropTypes.func,
235
- singleRow: PropTypes.bool
236
- };
237
- var Nestable_default = Nestable;
238
- export {
239
- Nestable_default as default
240
- };
241
- //# sourceMappingURL=Nestable.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/Nestable/Nestable.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-bitwise, max-lines */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'classnames';\nimport { listWithChildren } from '@elliemae/ds-shared/utils';\nimport { isEqualWith } from '@elliemae/ds-utilities';\nimport {\n tryIncreaseDepth,\n tryDecreaseDepth,\n moveItem,\n getItemOptions,\n getRealNextPath,\n getPathById,\n getItemByPath,\n getItemDepth,\n getSplicePath,\n onDragStart,\n onDragEnd,\n onMouseMove,\n onMouseEnter,\n onToggleCollapse,\n onKeyDown,\n} from './actions';\n\nimport NestableItem from './NestableItem';\n\nconst shallowCompare = (instance, nextProps, nextState) =>\n !isEqualWith(instance.props, nextProps) ||\n !isEqualWith(instance.state, nextState);\n\nclass Nestable extends Component {\n constructor(props) {\n super(props);\n this.state = {\n items: [],\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n collapsedGroups: [],\n stopTrackingMouse: this.stopTrackMouse.bind(this),\n oldProps: props,\n };\n\n this.el = null;\n this.elCopyStyles = null;\n this.mouse = {\n last: { x: 0 },\n shift: { x: 0 },\n };\n }\n\n componentDidMount() {\n const { childrenProp } = this.props;\n let { items } = this.props;\n // make sure every item has property 'children'\n items = listWithChildren(items, childrenProp);\n this.setState({ items });\n }\n\n componentWillUnmount() {\n this.stopTrackMouse();\n }\n\n static getDerivedStateFromProps(props, state) {\n const { items: itemsNew, childrenProp } = props;\n const { stopTrackingMouse, oldProps } = state;\n\n if (shallowCompare({ props: oldProps, state: {} }, props, {})) {\n stopTrackingMouse();\n const extra = {};\n if (oldProps.collapsed !== props.collapsed) {\n extra.collapsedGroups = [];\n }\n return {\n items: listWithChildren(itemsNew, childrenProp),\n dragItem: null,\n isDirty: false,\n oldProps: props,\n ...extra,\n };\n }\n return null;\n }\n\n onDragStart = (e, item) => {\n onDragStart.call(this, e, item);\n };\n\n onDragEnd = (e, isCancel) => onDragEnd.call(this, e, isCancel);\n\n onMouseMove = (e) => onMouseMove.call(this, e);\n\n onMouseEnter = (e, item) => onMouseEnter.call(this, e, item);\n\n onToggleCollapse = (item, isGetter) =>\n onToggleCollapse.call(this, item, isGetter);\n\n onKeyDown = (e) => onKeyDown.call(this, e);\n\n getDefaultItems = () => {\n const { items } = this.state;\n return items;\n };\n\n getPathById(id, items = this.getDefaultItems()) {\n return getPathById.call(this, id, items);\n }\n\n getItemByPath(path, items = this.getDefaultItems()) {\n return getItemByPath.call(this, path, items);\n }\n\n getItemDepth = (item) => getItemDepth.call(this, item);\n\n getSplicePath(path, options = {}) {\n return getSplicePath.call(this, path, options);\n }\n\n getRealNextPath(prevPath, nextPath) {\n return getRealNextPath.call(this, prevPath, nextPath);\n }\n\n getItemOptions() {\n return getItemOptions.call(this);\n }\n\n startTrackMouse = () => {\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onDragEnd);\n document.addEventListener('keydown', this.onKeyDown);\n };\n\n stopTrackMouse = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n document.removeEventListener('mouseup', this.onDragEnd);\n document.removeEventListener('keydown', this.onKeyDown);\n this.elCopyStyles = null;\n };\n\n isCollapsed = (item) => {\n const { collapsed } = this.props;\n const { collapsedGroups } = this.state;\n return !!((collapsedGroups.indexOf(item.id) > -1) ^ collapsed);\n };\n\n checkFilterChildren = (items) =>\n items.find((current) => {\n const {\n element: { type },\n children,\n } = current;\n if (type === 'filter' && children.length > 0) return true;\n return this.checkFilterChildren(children);\n });\n\n dragRevert = () => {\n const { itemsOld } = this.state;\n\n this.setState({\n items: itemsOld,\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n };\n\n dragApply() {\n const { onChange } = this.props;\n const { items, isDirty, dragItem } = this.state;\n\n this.setState({\n itemsOld: null,\n dragItem: null,\n isDirty: false,\n });\n\n if (onChange && isDirty) onChange(items, dragItem);\n }\n\n tryIncreaseDepth(dragItem) {\n tryIncreaseDepth.call(this, dragItem);\n }\n\n tryDecreaseDepth(dragItem) {\n tryDecreaseDepth.call(this, dragItem);\n }\n\n moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {\n moveItem.call(this, { dragItem, pathFrom, pathTo }, extraProps);\n }\n\n renderDragLayer() {\n const { group } = this.props;\n const { dragItem } = this.state;\n const el = document.querySelector(\n `.nestable-${group} .nestable-item-${dragItem.id}`,\n );\n\n let listStyles = {};\n if (el) {\n listStyles.width = el.clientWidth;\n }\n if (this.elCopyStyles) {\n listStyles = {\n ...listStyles,\n ...this.elCopyStyles,\n };\n }\n\n const options = this.getItemOptions();\n\n return (\n <div className=\"nestable-drag-layer\">\n <ol className=\"nestable-list\" style={listStyles}>\n <NestableItem isCopy item={dragItem} options={options} />\n </ol>\n </div>\n );\n }\n\n render() {\n const { items, dragItem } = this.state;\n const {\n group,\n isAndItem,\n isOrItem,\n isDraggableItem,\n setDraggableItems,\n singleRow,\n } = this.props;\n const options = this.getItemOptions();\n const childLength = items.length;\n let childClass = 'single';\n if (childLength === 0) childClass = 'empty';\n else if (childLength > 1) childClass = 'multiple';\n\n return (\n <div\n className={cn('nestable', `nestable-${group}`, {\n 'is-drag-active': dragItem,\n })}\n >\n <ol\n className={`nestable-list nestable-group nestable-child-count-${childClass}`}\n >\n {items.map((item, i) => (\n <NestableItem\n key={item.id}\n index={i}\n isAndItem={isAndItem}\n isDraggableItem={isDraggableItem}\n isOrItem={isOrItem}\n item={item}\n options={options}\n setDraggableItems={setDraggableItems}\n singleRow={singleRow}\n />\n ))}\n </ol>\n {dragItem && this.renderDragLayer()}\n </div>\n );\n }\n}\n\nNestable.defaultProps = {\n items: [],\n collapsed: false,\n group: Math.random().toString(36).slice(2),\n childrenProp: 'children',\n onChange: () => {},\n};\n\nNestable.propTypes = {\n childrenProp: PropTypes.string,\n group: PropTypes.string,\n items: PropTypes.arrayOf(PropTypes.shape({})),\n collapsed: PropTypes.bool,\n onChange: PropTypes.func,\n isAndItem: PropTypes.bool,\n isOrItem: PropTypes.bool,\n isDraggableItem: PropTypes.bool,\n setDraggableItems: PropTypes.func,\n singleRow: PropTypes.bool,\n};\n\nexport default Nestable;\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,90 +0,0 @@
1
- import * as React from "react";
2
- import React2 from "react";
3
- import cn from "classnames";
4
- const NestableItem = ({
5
- item,
6
- isCopy,
7
- options,
8
- index,
9
- isAndItem,
10
- isOrItem,
11
- isDraggableItem,
12
- singleRow
13
- }) => {
14
- const { dragItem, renderItem, handler, childrenProp } = options;
15
- const isCollapsed = options.isCollapsed(item);
16
- const isDragging = !isCopy && dragItem && dragItem.id === item.id;
17
- const hasChildren = item[childrenProp] && item[childrenProp].length > 0;
18
- let Handler;
19
- const isOrGroup = item.element.type === "group" && (item.element.condition === "" || item.element.condition === false);
20
- const isAndGroup = item.element.type === "group" && !(item.element.condition === "" || item.element.condition === false);
21
- const itemProps = {
22
- className: cn(`nestable-item${isCopy ? "-copy" : ""}`, `nestable-item${isCopy ? "-copy" : ""}-${item.id}`, `nestable-item-type-${item.element.type}`, {
23
- "is-or-group": isOrGroup,
24
- "is-and-group": isAndGroup,
25
- "is-and-filter": item.element.type === "filter" && isAndItem,
26
- "is-or-filter": item.element.type === "filter" && isOrItem
27
- }, {
28
- "is-dragging": isDragging
29
- })
30
- };
31
- let rowProps = {};
32
- let handlerProps = {};
33
- if (!isCopy) {
34
- if (dragItem) {
35
- rowProps = {
36
- ...rowProps,
37
- onMouseEnter: (e) => options.onMouseEnter(e, item)
38
- };
39
- } else {
40
- handlerProps = {
41
- ...handlerProps,
42
- draggable: isDraggableItem !== false,
43
- onDragStart: (e) => options.onDragStart(e, item)
44
- };
45
- }
46
- }
47
- if (handler) {
48
- Handler = /* @__PURE__ */ React2.createElement("span", {
49
- className: "nestable-item-handler",
50
- ...handlerProps
51
- }, handler);
52
- } else {
53
- rowProps = {
54
- ...rowProps,
55
- ...handlerProps
56
- };
57
- }
58
- const childLength = item[childrenProp].length;
59
- let childClass = "single";
60
- if (childLength === 0)
61
- childClass = "empty";
62
- else if (childLength > 1)
63
- childClass = "multiple";
64
- return /* @__PURE__ */ React2.createElement("li", {
65
- ...itemProps
66
- }, /* @__PURE__ */ React2.createElement("div", {
67
- className: `nestable-item-name nestable-item-name--${item.element.type} `,
68
- ...rowProps
69
- }, renderItem({
70
- item,
71
- handler: Handler,
72
- index
73
- })), hasChildren && item.element.type === "group" && !isCollapsed && /* @__PURE__ */ React2.createElement("ol", {
74
- className: `nestable-list nestable-child-count-${childClass} `
75
- }, item[childrenProp].map((currentitem, i) => /* @__PURE__ */ React2.createElement(NestableItem, {
76
- key: i,
77
- index: i,
78
- isAndItem: isAndGroup,
79
- isCopy,
80
- isOrItem: isOrGroup,
81
- item: currentitem,
82
- options,
83
- singleRow
84
- }))));
85
- };
86
- var NestableItem_default = NestableItem;
87
- export {
88
- NestableItem_default as default
89
- };
90
- //# sourceMappingURL=NestableItem.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/components/Nestable/NestableItem.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-statements */\nimport React from 'react';\nimport cn from 'classnames';\n\nconst NestableItem = ({\n item,\n isCopy,\n options,\n index,\n isAndItem,\n isOrItem,\n isDraggableItem,\n singleRow,\n}) => {\n const { dragItem, renderItem, handler, childrenProp } = options;\n\n const isCollapsed = options.isCollapsed(item);\n const isDragging = !isCopy && dragItem && dragItem.id === item.id;\n const hasChildren = item[childrenProp] && item[childrenProp].length > 0;\n\n let Handler;\n const isOrGroup =\n item.element.type === 'group' &&\n (item.element.condition === '' || item.element.condition === false);\n const isAndGroup =\n item.element.type === 'group' &&\n !(item.element.condition === '' || item.element.condition === false);\n\n const itemProps = {\n className: cn(\n `nestable-item${isCopy ? '-copy' : ''}`,\n `nestable-item${isCopy ? '-copy' : ''}-${item.id}`,\n `nestable-item-type-${item.element.type}`,\n {\n 'is-or-group': isOrGroup,\n 'is-and-group': isAndGroup,\n 'is-and-filter': item.element.type === 'filter' && isAndItem,\n 'is-or-filter': item.element.type === 'filter' && isOrItem,\n },\n {\n 'is-dragging': isDragging,\n },\n ),\n };\n\n let rowProps = {};\n let handlerProps = {};\n if (!isCopy) {\n if (dragItem) {\n rowProps = {\n ...rowProps,\n onMouseEnter: e => options.onMouseEnter(e, item),\n };\n } else {\n handlerProps = {\n ...handlerProps,\n draggable: isDraggableItem !== false,\n onDragStart: e => options.onDragStart(e, item),\n };\n }\n }\n\n if (handler) {\n Handler = (\n <span className=\"nestable-item-handler\" {...handlerProps}>\n {handler}\n </span>\n );\n // Handler = React.cloneElement(handler, handlerProps);\n } else {\n rowProps = {\n ...rowProps,\n ...handlerProps,\n };\n }\n\n const childLength = item[childrenProp].length;\n let childClass = 'single';\n if (childLength === 0) childClass = 'empty';\n else if (childLength > 1) childClass = 'multiple';\n\n return (\n <li {...itemProps}>\n <div\n className={`nestable-item-name nestable-item-name--${item.element.type} `}\n {...rowProps}\n >\n {renderItem({\n item,\n handler: Handler,\n index,\n })}\n </div>\n {hasChildren && item.element.type === 'group' && !isCollapsed && (\n <ol className={`nestable-list nestable-child-count-${childClass} `}>\n {item[childrenProp].map((currentitem, i) => (\n <NestableItem\n key={i}\n index={i}\n isAndItem={isAndGroup}\n isCopy={isCopy}\n isOrItem={isOrGroup}\n item={currentitem}\n options={options}\n singleRow={singleRow}\n />\n ))}\n </ol>\n )}\n </li>\n );\n};\n\nexport default NestableItem;\n"],
5
- "mappings": "AAAA;ACCA;AACA;AAEA,MAAM,eAAe,CAAC;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,QAAM,EAAE,UAAU,YAAY,SAAS,iBAAiB;AAExD,QAAM,cAAc,QAAQ,YAAY;AACxC,QAAM,aAAa,CAAC,UAAU,YAAY,SAAS,OAAO,KAAK;AAC/D,QAAM,cAAc,KAAK,iBAAiB,KAAK,cAAc,SAAS;AAEtE,MAAI;AACJ,QAAM,YACJ,KAAK,QAAQ,SAAS,WACrB,MAAK,QAAQ,cAAc,MAAM,KAAK,QAAQ,cAAc;AAC/D,QAAM,aACJ,KAAK,QAAQ,SAAS,WACtB,CAAE,MAAK,QAAQ,cAAc,MAAM,KAAK,QAAQ,cAAc;AAEhE,QAAM,YAAY;AAAA,IAChB,WAAW,GACT,gBAAgB,SAAS,UAAU,MACnC,gBAAgB,SAAS,UAAU,MAAM,KAAK,MAC9C,sBAAsB,KAAK,QAAQ,QACnC;AAAA,MACE,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,iBAAiB,KAAK,QAAQ,SAAS,YAAY;AAAA,MACnD,gBAAgB,KAAK,QAAQ,SAAS,YAAY;AAAA,OAEpD;AAAA,MACE,eAAe;AAAA;AAAA;AAKrB,MAAI,WAAW;AACf,MAAI,eAAe;AACnB,MAAI,CAAC,QAAQ;AACX,QAAI,UAAU;AACZ,iBAAW;AAAA,WACN;AAAA,QACH,cAAc,OAAK,QAAQ,aAAa,GAAG;AAAA;AAAA,WAExC;AACL,qBAAe;AAAA,WACV;AAAA,QACH,WAAW,oBAAoB;AAAA,QAC/B,aAAa,OAAK,QAAQ,YAAY,GAAG;AAAA;AAAA;AAAA;AAK/C,MAAI,SAAS;AACX,cACE,qCAAC,QAAD;AAAA,MAAM,WAAU;AAAA,SAA4B;AAAA,OACzC;AAAA,SAIA;AACL,eAAW;AAAA,SACN;AAAA,SACA;AAAA;AAAA;AAIP,QAAM,cAAc,KAAK,cAAc;AACvC,MAAI,aAAa;AACjB,MAAI,gBAAgB;AAAG,iBAAa;AAAA,WAC3B,cAAc;AAAG,iBAAa;AAEvC,SACE,qCAAC,MAAD;AAAA,OAAQ;AAAA,KACN,qCAAC,OAAD;AAAA,IACE,WAAW,0CAA0C,KAAK,QAAQ;AAAA,OAC9D;AAAA,KAEH,WAAW;AAAA,IACV;AAAA,IACA,SAAS;AAAA,IACT;AAAA,OAGH,eAAe,KAAK,QAAQ,SAAS,WAAW,CAAC,eAChD,qCAAC,MAAD;AAAA,IAAI,WAAW,sCAAsC;AAAA,KAClD,KAAK,cAAc,IAAI,CAAC,aAAa,MACpC,qCAAC,cAAD;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,WAAW;AAAA,IACX;AAAA,IACA,UAAU;AAAA,IACV,MAAM;AAAA,IACN;AAAA,IACA;AAAA;AAAA;AASd,IAAO,uBAAQ;",
6
- "names": []
7
- }
@@ -1,119 +0,0 @@
1
- import * as React from "react";
2
- import {
3
- closest,
4
- getOffsetRect,
5
- getTotalScroll,
6
- getTransformProps
7
- } from "@elliemae/ds-shared/utils";
8
- function onDragStart(e, item) {
9
- if (e) {
10
- e.preventDefault();
11
- e.stopPropagation();
12
- }
13
- this.el = closest(e.target, ".nestable-item");
14
- this.startTrackMouse();
15
- this.onMouseMove(e);
16
- const { items } = this.state;
17
- this.setState({
18
- dragItem: item,
19
- itemsOld: items
20
- });
21
- }
22
- function onDragEnd(e, isCancel) {
23
- if (e && e.preventDefault)
24
- e.preventDefault();
25
- this.stopTrackMouse();
26
- this.el = null;
27
- const { items } = this.state;
28
- const nestedInFilter = this.checkFilterChildren(items);
29
- if (nestedInFilter)
30
- return this.dragRevert();
31
- return isCancel ? this.dragRevert() : this.dragApply();
32
- }
33
- function onMouseMove(e) {
34
- const { group, threshold } = this.props;
35
- const { dragItem } = this.state;
36
- const { clientX, clientY } = e;
37
- const transformProps = getTransformProps(clientX, clientY);
38
- const elCopy = document.querySelector(`.nestable-${group} .nestable-drag-layer > .nestable-list`);
39
- if (!this.elCopyStyles) {
40
- const offset = getOffsetRect(this.el);
41
- const scroll = getTotalScroll(this.el);
42
- this.elCopyStyles = {
43
- marginTop: offset.top - clientY - scroll.top,
44
- marginLeft: offset.left - clientX - scroll.left,
45
- ...transformProps
46
- };
47
- } else {
48
- this.elCopyStyles = {
49
- ...this.elCopyStyles,
50
- ...transformProps
51
- };
52
- for (const key in transformProps) {
53
- if (transformProps.hasOwnProperty(key)) {
54
- elCopy.style[key] = transformProps[key];
55
- }
56
- }
57
- const diffX = clientX - this.mouse.last.x;
58
- if (diffX >= 0 && this.mouse.shift.x >= 0 || diffX <= 0 && this.mouse.shift.x <= 0) {
59
- this.mouse.shift.x += diffX;
60
- } else {
61
- this.mouse.shift.x = 0;
62
- }
63
- this.mouse.last.x = clientX;
64
- if (Math.abs(this.mouse.shift.x) > threshold) {
65
- if (this.mouse.shift.x > 0) {
66
- this.tryIncreaseDepth(dragItem);
67
- } else {
68
- this.tryDecreaseDepth(dragItem);
69
- }
70
- this.mouse.shift.x = 0;
71
- }
72
- }
73
- }
74
- function onMouseEnter(e, item) {
75
- if (e) {
76
- e.preventDefault();
77
- e.stopPropagation();
78
- }
79
- const { collapsed, childrenProp } = this.props;
80
- const { dragItem } = this.state;
81
- if (dragItem.id === item.id)
82
- return;
83
- const pathFrom = this.getPathById(dragItem.id);
84
- const pathTo = this.getPathById(item.id);
85
- let collapseProps = {};
86
- if (collapsed && pathFrom.length > 1) {
87
- const parent = this.getItemByPath(pathFrom.slice(0, -1));
88
- if (parent[childrenProp].length === 1) {
89
- collapseProps = this.onToggleCollapse(parent, true);
90
- }
91
- }
92
- this.moveItem({ dragItem, pathFrom, pathTo }, collapseProps);
93
- }
94
- function onToggleCollapse(item, isGetter) {
95
- const { collapsed } = this.props;
96
- const { collapsedGroups } = this.state;
97
- const isCollapsed = this.isCollapsed(item);
98
- const newState = {
99
- collapsedGroups: isCollapsed ^ collapsed ? collapsedGroups.filter((id) => id !== item.id) : collapsedGroups.concat(item.id)
100
- };
101
- if (isGetter) {
102
- return newState;
103
- }
104
- return this.setState(newState);
105
- }
106
- function onKeyDown(e) {
107
- if (e.which === 27) {
108
- this.onDragEnd(null, true);
109
- }
110
- }
111
- export {
112
- onDragEnd,
113
- onDragStart,
114
- onKeyDown,
115
- onMouseEnter,
116
- onMouseMove,
117
- onToggleCollapse
118
- };
119
- //# sourceMappingURL=events.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/components/Nestable/actions/events.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-bitwise, no-loops/no-loops, max-lines, max-statements, no-restricted-syntax, no-prototype-builtins */\nimport {\n closest,\n getOffsetRect,\n getTotalScroll,\n getTransformProps,\n} from '@elliemae/ds-shared/utils';\n\nexport function onDragStart(e, item) {\n if (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n this.el = closest(e.target, '.nestable-item');\n this.startTrackMouse();\n this.onMouseMove(e);\n const { items } = this.state;\n this.setState({\n dragItem: item,\n itemsOld: items,\n });\n}\n\nexport function onDragEnd(e, isCancel) {\n if (e && e.preventDefault) e.preventDefault();\n\n this.stopTrackMouse();\n this.el = null;\n\n // check if filter has children\n const { items } = this.state;\n const nestedInFilter = this.checkFilterChildren(items);\n if (nestedInFilter) return this.dragRevert();\n\n return isCancel ? this.dragRevert() : this.dragApply();\n}\n\nexport function onMouseMove(e) {\n const { group, threshold } = this.props;\n const { dragItem } = this.state;\n const { clientX, clientY } = e;\n const transformProps = getTransformProps(clientX, clientY);\n const elCopy = document.querySelector(\n `.nestable-${group} .nestable-drag-layer > .nestable-list`,\n );\n if (!this.elCopyStyles) {\n const offset = getOffsetRect(this.el);\n const scroll = getTotalScroll(this.el);\n\n this.elCopyStyles = {\n marginTop: offset.top - clientY - scroll.top,\n marginLeft: offset.left - clientX - scroll.left,\n ...transformProps,\n };\n } else {\n this.elCopyStyles = {\n ...this.elCopyStyles,\n ...transformProps,\n };\n for (const key in transformProps) {\n if (transformProps.hasOwnProperty(key)) {\n elCopy.style[key] = transformProps[key];\n }\n }\n const diffX = clientX - this.mouse.last.x;\n if (\n (diffX >= 0 && this.mouse.shift.x >= 0) ||\n (diffX <= 0 && this.mouse.shift.x <= 0)\n ) {\n this.mouse.shift.x += diffX;\n } else {\n this.mouse.shift.x = 0;\n }\n this.mouse.last.x = clientX;\n if (Math.abs(this.mouse.shift.x) > threshold) {\n if (this.mouse.shift.x > 0) {\n this.tryIncreaseDepth(dragItem);\n } else {\n this.tryDecreaseDepth(dragItem);\n }\n this.mouse.shift.x = 0;\n }\n }\n}\nexport function onMouseEnter(e, item) {\n if (e) {\n e.preventDefault();\n e.stopPropagation();\n }\n\n const { collapsed, childrenProp } = this.props;\n const { dragItem } = this.state;\n if (dragItem.id === item.id) return;\n\n const pathFrom = this.getPathById(dragItem.id);\n const pathTo = this.getPathById(item.id);\n\n // if collapsed by default\n // and move last (by count) child\n // remove parent node from list of open nodes\n let collapseProps = {};\n if (collapsed && pathFrom.length > 1) {\n const parent = this.getItemByPath(pathFrom.slice(0, -1));\n if (parent[childrenProp].length === 1) {\n collapseProps = this.onToggleCollapse(parent, true);\n }\n }\n\n this.moveItem({ dragItem, pathFrom, pathTo }, collapseProps);\n}\n\nexport function onToggleCollapse(item, isGetter) {\n const { collapsed } = this.props;\n const { collapsedGroups } = this.state;\n const isCollapsed = this.isCollapsed(item);\n\n const newState = {\n collapsedGroups:\n isCollapsed ^ collapsed\n ? collapsedGroups.filter(id => id !== item.id)\n : collapsedGroups.concat(item.id),\n };\n\n if (isGetter) {\n return newState;\n }\n return this.setState(newState);\n}\nexport function onKeyDown(e) {\n if (e.which === 27) {\n // ESC\n this.onDragEnd(null, true);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/components/Nestable/actions/getItemOptions.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export function getItemOptions() {\n const { renderItem, renderCollapseIcon, handler, childrenProp } = this.props;\n const { dragItem } = this.state;\n\n return {\n dragItem,\n childrenProp,\n renderItem,\n renderCollapseIcon,\n handler,\n\n onDragStart: this.onDragStart,\n onMouseEnter: this.onMouseEnter,\n isCollapsed: this.isCollapsed,\n onToggleCollapse: this.onToggleCollapse,\n };\n}\n"],
5
- "mappings": "AAAA;ACAO,0BAA0B;AAC/B,QAAM,EAAE,YAAY,oBAAoB,SAAS,iBAAiB,KAAK;AACvE,QAAM,EAAE,aAAa,KAAK;AAE1B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IAEA,aAAa,KAAK;AAAA,IAClB,cAAc,KAAK;AAAA,IACnB,aAAa,KAAK;AAAA,IAClB,kBAAkB,KAAK;AAAA;AAAA;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/components/Nestable/actions/getPaths.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export function getRealNextPath(prevPath, nextPath) {\n const { childrenProp } = this.props;\n const ppLastIndex = prevPath.length - 1;\n const npLastIndex = nextPath.length - 1;\n\n if (prevPath.length < nextPath.length) {\n // move into deep\n let wasShifted = false;\n\n return nextPath.map((nextIndex, i) => {\n if (wasShifted) {\n return i === npLastIndex ? nextIndex + 1 : nextIndex;\n }\n\n if (typeof prevPath[i] !== 'number') {\n return nextIndex;\n }\n\n if (nextPath[i] > prevPath[i] && i === ppLastIndex) {\n wasShifted = true;\n return nextIndex - 1;\n }\n\n return nextIndex;\n });\n }\n\n if (prevPath.length === nextPath.length) {\n // if move bottom + move to item with children => make it a first child instead of swap\n if (nextPath[npLastIndex] > prevPath[npLastIndex]) {\n const target = this.getItemByPath(nextPath);\n\n if (\n target[childrenProp] &&\n target[childrenProp].length &&\n !this.isCollapsed(target)\n ) {\n return nextPath\n .slice(0, -1)\n .concat(nextPath[npLastIndex] - 1)\n .concat(0);\n }\n }\n }\n\n return nextPath;\n}\n\nexport function getPathById(id, items) {\n const { childrenProp } = this.props;\n let path = [];\n\n items.every((item, i) => {\n if (item.id === id) {\n path.push(i);\n } else if (item[childrenProp]) {\n const childrenPath = this.getPathById(id, item[childrenProp]);\n\n if (childrenPath.length) {\n path = path.concat(i).concat(childrenPath);\n }\n }\n\n return path.length === 0;\n });\n\n return path;\n}\n\nexport function getItemByPath(path, items) {\n const { childrenProp } = this.props;\n let item = null;\n\n path.forEach(index => {\n const list = item ? item[childrenProp] : items;\n item = list[index];\n });\n\n return item;\n}\nexport function getItemDepth(item) {\n const { childrenProp } = this.props;\n let level = 1;\n\n if (item[childrenProp].length > 0) {\n const childrenDepths = item[childrenProp].map(this.getItemDepth);\n level += Math.max(...childrenDepths);\n }\n\n return level;\n}\nexport function getSplicePath(path, options = {}) {\n const splicePath = {};\n const numToRemove = options.numToRemove || 0;\n const itemsToInsert = options.itemsToInsert || [];\n const lastIndex = path.length - 1;\n let currentPath = splicePath;\n\n path.forEach((index, i) => {\n if (i === lastIndex) {\n currentPath.$splice = [[index, numToRemove, ...itemsToInsert]];\n } else {\n const nextPath = {};\n currentPath[index] = { [options.childrenProp]: nextPath };\n currentPath = nextPath;\n }\n });\n\n return splicePath;\n}\n"],
5
- "mappings": "AAAA;ACAO,yBAAyB,UAAU,UAAU;AAClD,QAAM,EAAE,iBAAiB,KAAK;AAC9B,QAAM,cAAc,SAAS,SAAS;AACtC,QAAM,cAAc,SAAS,SAAS;AAEtC,MAAI,SAAS,SAAS,SAAS,QAAQ;AAErC,QAAI,aAAa;AAEjB,WAAO,SAAS,IAAI,CAAC,WAAW,MAAM;AACpC,UAAI,YAAY;AACd,eAAO,MAAM,cAAc,YAAY,IAAI;AAAA;AAG7C,UAAI,OAAO,SAAS,OAAO,UAAU;AACnC,eAAO;AAAA;AAGT,UAAI,SAAS,KAAK,SAAS,MAAM,MAAM,aAAa;AAClD,qBAAa;AACb,eAAO,YAAY;AAAA;AAGrB,aAAO;AAAA;AAAA;AAIX,MAAI,SAAS,WAAW,SAAS,QAAQ;AAEvC,QAAI,SAAS,eAAe,SAAS,cAAc;AACjD,YAAM,SAAS,KAAK,cAAc;AAElC,UACE,OAAO,iBACP,OAAO,cAAc,UACrB,CAAC,KAAK,YAAY,SAClB;AACA,eAAO,SACJ,MAAM,GAAG,IACT,OAAO,SAAS,eAAe,GAC/B,OAAO;AAAA;AAAA;AAAA;AAKhB,SAAO;AAAA;AAGF,qBAAqB,IAAI,OAAO;AACrC,QAAM,EAAE,iBAAiB,KAAK;AAC9B,MAAI,OAAO;AAEX,QAAM,MAAM,CAAC,MAAM,MAAM;AACvB,QAAI,KAAK,OAAO,IAAI;AAClB,WAAK,KAAK;AAAA,eACD,KAAK,eAAe;AAC7B,YAAM,eAAe,KAAK,YAAY,IAAI,KAAK;AAE/C,UAAI,aAAa,QAAQ;AACvB,eAAO,KAAK,OAAO,GAAG,OAAO;AAAA;AAAA;AAIjC,WAAO,KAAK,WAAW;AAAA;AAGzB,SAAO;AAAA;AAGF,uBAAuB,MAAM,OAAO;AACzC,QAAM,EAAE,iBAAiB,KAAK;AAC9B,MAAI,OAAO;AAEX,OAAK,QAAQ,WAAS;AACpB,UAAM,OAAO,OAAO,KAAK,gBAAgB;AACzC,WAAO,KAAK;AAAA;AAGd,SAAO;AAAA;AAEF,sBAAsB,MAAM;AACjC,QAAM,EAAE,iBAAiB,KAAK;AAC9B,MAAI,QAAQ;AAEZ,MAAI,KAAK,cAAc,SAAS,GAAG;AACjC,UAAM,iBAAiB,KAAK,cAAc,IAAI,KAAK;AACnD,aAAS,KAAK,IAAI,GAAG;AAAA;AAGvB,SAAO;AAAA;AAEF,uBAAuB,MAAM,UAAU,IAAI;AAChD,QAAM,aAAa;AACnB,QAAM,cAAc,QAAQ,eAAe;AAC3C,QAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,QAAM,YAAY,KAAK,SAAS;AAChC,MAAI,cAAc;AAElB,OAAK,QAAQ,CAAC,OAAO,MAAM;AACzB,QAAI,MAAM,WAAW;AACnB,kBAAY,UAAU,CAAC,CAAC,OAAO,aAAa,GAAG;AAAA,WAC1C;AACL,YAAM,WAAW;AACjB,kBAAY,SAAS,GAAG,QAAQ,eAAe;AAC/C,oBAAc;AAAA;AAAA;AAIlB,SAAO;AAAA;",
6
- "names": []
7
- }
@@ -1,13 +0,0 @@
1
- import * as React from "react";
2
- import { tryIncreaseDepth } from "./tryIncreaseDepth";
3
- import { tryDecreaseDepth } from "./tryDecreaseDepth";
4
- import { moveItem } from "./moveItem";
5
- export * from "./paths";
6
- export * from "./events";
7
- export * from "./getItemOptions";
8
- export {
9
- moveItem,
10
- tryDecreaseDepth,
11
- tryIncreaseDepth
12
- };
13
- //# sourceMappingURL=index.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/components/Nestable/actions/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { tryIncreaseDepth } from './tryIncreaseDepth';\nexport { tryDecreaseDepth } from './tryDecreaseDepth';\nexport { moveItem } from './moveItem';\nexport * from './paths';\nexport * from './events';\nexport * from './getItemOptions';\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;",
6
- "names": []
7
- }
@@ -1,27 +0,0 @@
1
- import * as React from "react";
2
- import update from "react-addons-update";
3
- function moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {
4
- const { childrenProp } = this.props;
5
- let { items } = this.state;
6
- const realPathTo = this.getRealNextPath(pathFrom, pathTo);
7
- const removePath = this.getSplicePath(pathFrom, {
8
- numToRemove: 1,
9
- childrenProp
10
- });
11
- const insertPath = this.getSplicePath(realPathTo, {
12
- numToRemove: 0,
13
- itemsToInsert: [dragItem],
14
- childrenProp
15
- });
16
- items = update(items, removePath);
17
- items = update(items, insertPath);
18
- this.setState({
19
- items,
20
- isDirty: true,
21
- ...extraProps
22
- });
23
- }
24
- export {
25
- moveItem
26
- };
27
- //# sourceMappingURL=moveItem.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/components/Nestable/actions/moveItem.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import update from 'react-addons-update';\n\nexport function moveItem({ dragItem, pathFrom, pathTo }, extraProps = {}) {\n const { childrenProp } = this.props;\n let { items } = this.state;\n\n // the remove action might affect the next position,\n // so update next coordinates accordingly\n const realPathTo = this.getRealNextPath(pathFrom, pathTo);\n\n const removePath = this.getSplicePath(pathFrom, {\n numToRemove: 1,\n childrenProp,\n });\n\n const insertPath = this.getSplicePath(realPathTo, {\n numToRemove: 0,\n itemsToInsert: [dragItem],\n childrenProp,\n });\n\n items = update(items, removePath);\n items = update(items, insertPath);\n\n this.setState({\n items,\n isDirty: true,\n ...extraProps,\n });\n}\n"],
5
- "mappings": "AAAA;ACAA;AAEO,kBAAkB,EAAE,UAAU,UAAU,UAAU,aAAa,IAAI;AACxE,QAAM,EAAE,iBAAiB,KAAK;AAC9B,MAAI,EAAE,UAAU,KAAK;AAIrB,QAAM,aAAa,KAAK,gBAAgB,UAAU;AAElD,QAAM,aAAa,KAAK,cAAc,UAAU;AAAA,IAC9C,aAAa;AAAA,IACb;AAAA;AAGF,QAAM,aAAa,KAAK,cAAc,YAAY;AAAA,IAChD,aAAa;AAAA,IACb,eAAe,CAAC;AAAA,IAChB;AAAA;AAGF,UAAQ,OAAO,OAAO;AACtB,UAAQ,OAAO,OAAO;AAEtB,OAAK,SAAS;AAAA,IACZ;AAAA,IACA,SAAS;AAAA,OACN;AAAA;AAAA;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/components/Nestable/actions/paths.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export function getRealNextPath(prevPath, nextPath) {\n const { childrenProp } = this.props;\n const ppLastIndex = prevPath.length - 1;\n const npLastIndex = nextPath.length - 1;\n\n if (prevPath.length < nextPath.length) {\n // move into deep\n let wasShifted = false;\n\n return nextPath.map((nextIndex, i) => {\n if (wasShifted) {\n return i === npLastIndex ? nextIndex + 1 : nextIndex;\n }\n\n if (typeof prevPath[i] !== 'number') {\n return nextIndex;\n }\n\n if (nextPath[i] > prevPath[i] && i === ppLastIndex) {\n wasShifted = true;\n return nextIndex - 1;\n }\n\n return nextIndex;\n });\n }\n\n if (prevPath.length === nextPath.length) {\n // if move bottom + move to item with children => make it a first child instead of swap\n if (nextPath[npLastIndex] > prevPath[npLastIndex]) {\n const target = this.getItemByPath(nextPath);\n\n if (\n target[childrenProp] &&\n target[childrenProp].length &&\n !this.isCollapsed(target)\n ) {\n return nextPath\n .slice(0, -1)\n .concat(nextPath[npLastIndex] - 1)\n .concat(0);\n }\n }\n }\n\n return nextPath;\n}\n\nexport function getPathById(id, items = this.getDefaultItems()) {\n const { childrenProp } = this.props;\n let path = [];\n\n items.every((item, i) => {\n if (item.id === id) {\n path.push(i);\n } else if (item[childrenProp]) {\n const childrenPath = this.getPathById(id, item[childrenProp]);\n\n if (childrenPath.length) {\n path = path.concat(i).concat(childrenPath);\n }\n }\n\n return path.length === 0;\n });\n\n return path;\n}\n\nexport function getItemByPath(path, items = this.getDefaultItems()) {\n const { childrenProp } = this.props;\n let item = null;\n\n path.forEach(index => {\n const list = item ? item[childrenProp] : items;\n item = list[index];\n });\n\n return item;\n}\n\nexport function getItemDepth(item) {\n const { childrenProp } = this.props;\n let level = 1;\n\n if (item[childrenProp].length > 0) {\n const childrenDepths = item[childrenProp].map(this.getItemDepth);\n level += Math.max(...childrenDepths);\n }\n\n return level;\n}\n\nexport function getSplicePath(path, options = {}) {\n const splicePath = {};\n const numToRemove = options.numToRemove || 0;\n const itemsToInsert = options.itemsToInsert || [];\n const lastIndex = path.length - 1;\n let currentPath = splicePath;\n\n path.forEach((index, i) => {\n if (i === lastIndex) {\n currentPath.$splice = [[index, numToRemove, ...itemsToInsert]];\n } else {\n const nextPath = {};\n currentPath[index] = { [options.childrenProp]: nextPath };\n currentPath = nextPath;\n }\n });\n\n return splicePath;\n}\n"],
5
- "mappings": "AAAA;ACAO,yBAAyB,UAAU,UAAU;AAClD,QAAM,EAAE,iBAAiB,KAAK;AAC9B,QAAM,cAAc,SAAS,SAAS;AACtC,QAAM,cAAc,SAAS,SAAS;AAEtC,MAAI,SAAS,SAAS,SAAS,QAAQ;AAErC,QAAI,aAAa;AAEjB,WAAO,SAAS,IAAI,CAAC,WAAW,MAAM;AACpC,UAAI,YAAY;AACd,eAAO,MAAM,cAAc,YAAY,IAAI;AAAA;AAG7C,UAAI,OAAO,SAAS,OAAO,UAAU;AACnC,eAAO;AAAA;AAGT,UAAI,SAAS,KAAK,SAAS,MAAM,MAAM,aAAa;AAClD,qBAAa;AACb,eAAO,YAAY;AAAA;AAGrB,aAAO;AAAA;AAAA;AAIX,MAAI,SAAS,WAAW,SAAS,QAAQ;AAEvC,QAAI,SAAS,eAAe,SAAS,cAAc;AACjD,YAAM,SAAS,KAAK,cAAc;AAElC,UACE,OAAO,iBACP,OAAO,cAAc,UACrB,CAAC,KAAK,YAAY,SAClB;AACA,eAAO,SACJ,MAAM,GAAG,IACT,OAAO,SAAS,eAAe,GAC/B,OAAO;AAAA;AAAA;AAAA;AAKhB,SAAO;AAAA;AAGF,qBAAqB,IAAI,QAAQ,KAAK,mBAAmB;AAC9D,QAAM,EAAE,iBAAiB,KAAK;AAC9B,MAAI,OAAO;AAEX,QAAM,MAAM,CAAC,MAAM,MAAM;AACvB,QAAI,KAAK,OAAO,IAAI;AAClB,WAAK,KAAK;AAAA,eACD,KAAK,eAAe;AAC7B,YAAM,eAAe,KAAK,YAAY,IAAI,KAAK;AAE/C,UAAI,aAAa,QAAQ;AACvB,eAAO,KAAK,OAAO,GAAG,OAAO;AAAA;AAAA;AAIjC,WAAO,KAAK,WAAW;AAAA;AAGzB,SAAO;AAAA;AAGF,uBAAuB,MAAM,QAAQ,KAAK,mBAAmB;AAClE,QAAM,EAAE,iBAAiB,KAAK;AAC9B,MAAI,OAAO;AAEX,OAAK,QAAQ,WAAS;AACpB,UAAM,OAAO,OAAO,KAAK,gBAAgB;AACzC,WAAO,KAAK;AAAA;AAGd,SAAO;AAAA;AAGF,sBAAsB,MAAM;AACjC,QAAM,EAAE,iBAAiB,KAAK;AAC9B,MAAI,QAAQ;AAEZ,MAAI,KAAK,cAAc,SAAS,GAAG;AACjC,UAAM,iBAAiB,KAAK,cAAc,IAAI,KAAK;AACnD,aAAS,KAAK,IAAI,GAAG;AAAA;AAGvB,SAAO;AAAA;AAGF,uBAAuB,MAAM,UAAU,IAAI;AAChD,QAAM,aAAa;AACnB,QAAM,cAAc,QAAQ,eAAe;AAC3C,QAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,QAAM,YAAY,KAAK,SAAS;AAChC,MAAI,cAAc;AAElB,OAAK,QAAQ,CAAC,OAAO,MAAM;AACzB,QAAI,MAAM,WAAW;AACnB,kBAAY,UAAU,CAAC,CAAC,OAAO,aAAa,GAAG;AAAA,WAC1C;AACL,YAAM,WAAW;AACjB,kBAAY,SAAS,GAAG,QAAQ,eAAe;AAC/C,oBAAc;AAAA;AAAA;AAIlB,SAAO;AAAA;",
6
- "names": []
7
- }
@@ -1,22 +0,0 @@
1
- import * as React from "react";
2
- function tryDecreaseDepth(dragItem) {
3
- const { childrenProp, collapsed } = this.props;
4
- const pathFrom = this.getPathById(dragItem.id);
5
- const itemIndex = pathFrom[pathFrom.length - 1];
6
- if (pathFrom.length > 1) {
7
- const parent = this.getItemByPath(pathFrom.slice(0, -1));
8
- if (itemIndex + 1 === parent[childrenProp].length) {
9
- const pathTo = pathFrom.slice(0, -1);
10
- pathTo[pathTo.length - 1] += 1;
11
- let collapseProps = {};
12
- if (collapsed && parent[childrenProp].length === 1) {
13
- collapseProps = this.onToggleCollapse(parent, true);
14
- }
15
- this.moveItem({ dragItem, pathFrom, pathTo }, collapseProps);
16
- }
17
- }
18
- }
19
- export {
20
- tryDecreaseDepth
21
- };
22
- //# sourceMappingURL=tryDecreaseDepth.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/components/Nestable/actions/tryDecreaseDepth.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export function tryDecreaseDepth(dragItem) {\n const { childrenProp, collapsed } = this.props;\n const pathFrom = this.getPathById(dragItem.id);\n const itemIndex = pathFrom[pathFrom.length - 1];\n // has parent\n if (pathFrom.length > 1) {\n const parent = this.getItemByPath(pathFrom.slice(0, -1));\n // is last (by order) item in array\n if (itemIndex + 1 === parent[childrenProp].length) {\n const pathTo = pathFrom.slice(0, -1);\n pathTo[pathTo.length - 1] += 1;\n // if collapsed by default and is last (by count) item in array remove this node from list of open nodes\n let collapseProps = {};\n if (collapsed && parent[childrenProp].length === 1) {\n collapseProps = this.onToggleCollapse(parent, true);\n }\n\n this.moveItem({ dragItem, pathFrom, pathTo }, collapseProps);\n }\n }\n}\n"],
5
- "mappings": "AAAA;ACAO,0BAA0B,UAAU;AACzC,QAAM,EAAE,cAAc,cAAc,KAAK;AACzC,QAAM,WAAW,KAAK,YAAY,SAAS;AAC3C,QAAM,YAAY,SAAS,SAAS,SAAS;AAE7C,MAAI,SAAS,SAAS,GAAG;AACvB,UAAM,SAAS,KAAK,cAAc,SAAS,MAAM,GAAG;AAEpD,QAAI,YAAY,MAAM,OAAO,cAAc,QAAQ;AACjD,YAAM,SAAS,SAAS,MAAM,GAAG;AACjC,aAAO,OAAO,SAAS,MAAM;AAE7B,UAAI,gBAAgB;AACpB,UAAI,aAAa,OAAO,cAAc,WAAW,GAAG;AAClD,wBAAgB,KAAK,iBAAiB,QAAQ;AAAA;AAGhD,WAAK,SAAS,EAAE,UAAU,UAAU,UAAU;AAAA;AAAA;AAAA;",
6
- "names": []
7
- }