@elliemae/ds-treeview 2.0.2 → 2.1.0-rc.4
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.
- package/cjs/TreeView.js +5 -103
- package/cjs/TreeViewContext.js +44 -47
- package/cjs/config/useTreeview.js +137 -0
- package/cjs/index.js +1 -7
- package/cjs/parts/CheckboxSelectable.js +5 -7
- package/cjs/parts/ExpandCaret.js +17 -11
- package/cjs/parts/Icon.js +4 -0
- package/cjs/parts/NestingSpace.js +15 -22
- package/cjs/parts/RadioSelectable.js +7 -9
- package/cjs/parts/TreeItem.js +14 -11
- package/cjs/parts/TreeList.js +4 -2
- package/cjs/plugins/dnd/TreeDndPlugin.js +1 -1
- package/cjs/react-desc-prop-types.js +28 -27
- package/cjs/related-components/TreeViewSearchBar.js +9 -1
- package/cjs/{deprecated/plugins/selectable/helper.js → sharedTypes.js} +0 -0
- package/cjs/utils/dnd-helpers.js +2 -4
- package/cjs/utils/group-expands-helpers.js +34 -8
- package/cjs/utils/keyboard-helpers.js +64 -60
- package/cjs/utils/object-helpers.js +25 -7
- package/cjs/utils/refs-helpers.js +2 -2
- package/cjs/utils/tree-helpers.js +42 -27
- package/cjs/utils/useDnDHelpers.js +107 -100
- package/cjs/utils/useInstanceRefActions.js +3 -2
- package/cjs/utils/useTree.js +25 -6
- package/esm/TreeView.js +6 -103
- package/esm/TreeViewContext.js +44 -47
- package/esm/config/useTreeview.js +129 -0
- package/esm/index.js +0 -8
- package/esm/parts/CheckboxSelectable.js +5 -7
- package/esm/parts/ExpandCaret.js +17 -11
- package/esm/parts/Icon.js +4 -0
- package/esm/parts/NestingSpace.js +15 -21
- package/esm/parts/RadioSelectable.js +7 -9
- package/esm/parts/TreeItem.js +14 -11
- package/esm/parts/TreeList.js +4 -2
- package/esm/plugins/dnd/TreeDndPlugin.js +1 -1
- package/esm/react-desc-prop-types.js +28 -27
- package/esm/related-components/TreeViewSearchBar.js +9 -1
- package/esm/{deprecated/plugins/selectable/helper.js → sharedTypes.js} +0 -0
- package/esm/utils/dnd-helpers.js +2 -4
- package/esm/utils/group-expands-helpers.js +34 -9
- package/esm/utils/keyboard-helpers.js +62 -58
- package/esm/utils/object-helpers.js +25 -7
- package/esm/utils/refs-helpers.js +2 -2
- package/esm/utils/tree-helpers.js +42 -27
- package/esm/utils/useDnDHelpers.js +107 -100
- package/esm/utils/useInstanceRefActions.js +3 -2
- package/esm/utils/useTree.js +25 -6
- package/package.json +17 -128
- package/types/TreeView.d.ts +4 -148
- package/types/TreeViewContext.d.ts +4 -106
- package/types/config/useTreeview.d.ts +7 -0
- package/types/index.d.ts +0 -1
- package/types/parts/CheckboxSelectable.d.ts +5 -6
- package/types/parts/ChildrenCountDisplayer.d.ts +6 -6
- package/types/parts/ExpandCaret.d.ts +6 -6
- package/types/parts/Icon.d.ts +7 -5
- package/types/parts/NestingSpace.d.ts +3 -8
- package/types/parts/RadioSelectable.d.ts +5 -6
- package/types/parts/TreeItem.d.ts +22 -14
- package/types/parts/TreeItemText.d.ts +5 -5
- package/types/parts/TreeList.d.ts +22 -9
- package/types/react-desc-prop-types.d.ts +124 -43
- package/types/related-components/TreeViewSearchBar.d.ts +14 -11
- package/types/sharedTypes.d.ts +54 -0
- package/types/utils/array-helpers.d.ts +2 -2
- package/types/utils/dnd-helpers.d.ts +26 -25
- package/types/utils/group-expands-helpers.d.ts +13 -10
- package/types/utils/keyboard-helpers.d.ts +5 -3
- package/types/utils/object-helpers.d.ts +6 -2
- package/types/utils/refs-helpers.d.ts +4 -1
- package/types/utils/selectable-helper.d.ts +7 -3
- package/types/utils/string-helpers.d.ts +1 -1
- package/types/utils/tree-helpers.d.ts +25 -11
- package/types/utils/useDnDHelpers.d.ts +23 -3
- package/types/utils/useInstanceRefActions.d.ts +3 -3
- package/types/utils/useTree.d.ts +8 -7
- package/cjs/deprecated/TreeView.js +0 -72
- package/cjs/deprecated/__testUtils__/utils.js +0 -89
- package/cjs/deprecated/index.js +0 -27
- package/cjs/deprecated/plugins/dnd/TreeDndPlugin.js +0 -119
- package/cjs/deprecated/plugins/dnd/index.js +0 -9
- package/cjs/deprecated/plugins/dnd/renderers/DraggableItem.js +0 -67
- package/cjs/deprecated/plugins/dnd/renderers/DroppableList.js +0 -181
- package/cjs/deprecated/plugins/dnd/utils.js +0 -157
- package/cjs/deprecated/plugins/index.js +0 -21
- package/cjs/deprecated/plugins/roving/TreeRovingPlugin.js +0 -109
- package/cjs/deprecated/plugins/roving/index.js +0 -9
- package/cjs/deprecated/plugins/searchable/SearchableTreePlugin.js +0 -109
- package/cjs/deprecated/plugins/searchable/index.js +0 -9
- package/cjs/deprecated/plugins/searchable/utils.js +0 -7
- package/cjs/deprecated/plugins/selectable/SelectablePluginTree.js +0 -290
- package/cjs/deprecated/plugins/selectable/index.js +0 -9
- package/cjs/deprecated/plugins/selectable/utils.js +0 -19
- package/cjs/deprecated/plugins/toolbar/TreeToolbarPlugin.js +0 -128
- package/cjs/deprecated/plugins/toolbar/index.js +0 -9
- package/cjs/deprecated/plugins/tree/TreeDataPlugin.js +0 -281
- package/cjs/deprecated/plugins/tree/index.js +0 -9
- package/cjs/deprecated/plugins/tree/useExpandTreeState.js +0 -143
- package/cjs/deprecated/plugins/tree/utils.js +0 -43
- package/cjs/deprecated/plugins/tree/walkTreeStrategy.js +0 -60
- package/cjs/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +0 -209
- package/cjs/deprecated/plugins/virtualization/index.js +0 -9
- package/cjs/deprecated/renderers.js +0 -76
- package/cjs/prop-types.js +0 -61
- package/esm/deprecated/TreeView.js +0 -61
- package/esm/deprecated/__testUtils__/utils.js +0 -79
- package/esm/deprecated/index.js +0 -14
- package/esm/deprecated/plugins/dnd/TreeDndPlugin.js +0 -110
- package/esm/deprecated/plugins/dnd/index.js +0 -1
- package/esm/deprecated/plugins/dnd/renderers/DraggableItem.js +0 -59
- package/esm/deprecated/plugins/dnd/renderers/DroppableList.js +0 -172
- package/esm/deprecated/plugins/dnd/utils.js +0 -139
- package/esm/deprecated/plugins/index.js +0 -7
- package/esm/deprecated/plugins/roving/TreeRovingPlugin.js +0 -96
- package/esm/deprecated/plugins/roving/index.js +0 -1
- package/esm/deprecated/plugins/searchable/SearchableTreePlugin.js +0 -99
- package/esm/deprecated/plugins/searchable/index.js +0 -1
- package/esm/deprecated/plugins/searchable/utils.js +0 -3
- package/esm/deprecated/plugins/selectable/SelectablePluginTree.js +0 -280
- package/esm/deprecated/plugins/selectable/index.js +0 -1
- package/esm/deprecated/plugins/selectable/utils.js +0 -15
- package/esm/deprecated/plugins/toolbar/TreeToolbarPlugin.js +0 -114
- package/esm/deprecated/plugins/toolbar/index.js +0 -1
- package/esm/deprecated/plugins/tree/TreeDataPlugin.js +0 -269
- package/esm/deprecated/plugins/tree/index.js +0 -1
- package/esm/deprecated/plugins/tree/useExpandTreeState.js +0 -135
- package/esm/deprecated/plugins/tree/utils.js +0 -28
- package/esm/deprecated/plugins/tree/walkTreeStrategy.js +0 -56
- package/esm/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +0 -197
- package/esm/deprecated/plugins/virtualization/index.js +0 -1
- package/esm/deprecated/renderers.js +0 -59
- package/esm/prop-types.js +0 -46
- package/types/deprecated/TreeView.d.ts +0 -8
- package/types/deprecated/__testUtils__/utils.d.ts +0 -72
- package/types/deprecated/index.d.ts +0 -2
- package/types/deprecated/plugins/dnd/TreeDndPlugin.d.ts +0 -1
- package/types/deprecated/plugins/dnd/index.d.ts +0 -1
- package/types/deprecated/plugins/dnd/renderers/DraggableItem.d.ts +0 -3
- package/types/deprecated/plugins/dnd/renderers/DroppableList.d.ts +0 -6
- package/types/deprecated/plugins/dnd/tests/TreeDndPlugin.test.d.ts +0 -0
- package/types/deprecated/plugins/dnd/utils.d.ts +0 -28
- package/types/deprecated/plugins/index.d.ts +0 -7
- package/types/deprecated/plugins/roving/TreeRovingPlugin.d.ts +0 -1
- package/types/deprecated/plugins/roving/index.d.ts +0 -1
- package/types/deprecated/plugins/searchable/SearchableTreePlugin.d.ts +0 -1
- package/types/deprecated/plugins/searchable/index.d.ts +0 -1
- package/types/deprecated/plugins/searchable/utils.d.ts +0 -1
- package/types/deprecated/plugins/selectable/SelectablePluginTree.d.ts +0 -1
- package/types/deprecated/plugins/selectable/helper.d.ts +0 -0
- package/types/deprecated/plugins/selectable/index.d.ts +0 -1
- package/types/deprecated/plugins/selectable/tests/SelectablePluginTree.test.d.ts +0 -1
- package/types/deprecated/plugins/selectable/utils.d.ts +0 -1
- package/types/deprecated/plugins/toolbar/TreeToolbarPlugin.d.ts +0 -1
- package/types/deprecated/plugins/toolbar/index.d.ts +0 -1
- package/types/deprecated/plugins/tree/TreeDataPlugin.d.ts +0 -1
- package/types/deprecated/plugins/tree/index.d.ts +0 -1
- package/types/deprecated/plugins/tree/tests/TreeDataPlugin.test.d.ts +0 -1
- package/types/deprecated/plugins/tree/useExpandTreeState.d.ts +0 -14
- package/types/deprecated/plugins/tree/utils.d.ts +0 -8
- package/types/deprecated/plugins/tree/walkTreeStrategy.d.ts +0 -9
- package/types/deprecated/plugins/virtualization/TreeVirtualizationPlugin.d.ts +0 -1
- package/types/deprecated/plugins/virtualization/index.d.ts +0 -1
- package/types/deprecated/renderers.d.ts +0 -19
- package/types/prop-types.d.ts +0 -26
|
@@ -1,209 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
-
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
-
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
-
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
-
require('core-js/modules/esnext.iterator.for-each.js');
|
|
10
|
-
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
11
|
-
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
12
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
13
|
-
var React = require('react');
|
|
14
|
-
var reactWindowDynamicFork = require('@john-osullivan/react-window-dynamic-fork');
|
|
15
|
-
var virtualization = require('@elliemae/ds-shared/virtualization');
|
|
16
|
-
var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
|
|
17
|
-
var renderers = require('../../renderers.js');
|
|
18
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
19
|
-
|
|
20
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
21
|
-
|
|
22
|
-
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
23
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
24
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
25
|
-
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
26
|
-
var createInstancePlugin__default = /*#__PURE__*/_interopDefaultLegacy(createInstancePlugin);
|
|
27
|
-
|
|
28
|
-
const _excluded = ["records", "itemRenderer", "innerRef"];
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
32
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
33
|
-
|
|
34
|
-
function shallowDiffers(prev, next) {
|
|
35
|
-
// eslint-disable-next-line no-restricted-syntax
|
|
36
|
-
for (const attribute in prev) {
|
|
37
|
-
if (!(attribute in next)) {
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
} // eslint-disable-next-line no-restricted-syntax
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
for (const attribute in next) {
|
|
44
|
-
if (prev[attribute] !== next[attribute]) {
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return false;
|
|
50
|
-
} // more performant alternative to areEqual from react-window 1.8.5
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
function areEqualRecords(prevProps, nextProps) {
|
|
54
|
-
const {
|
|
55
|
-
style: prevStyle,
|
|
56
|
-
index: pIdx,
|
|
57
|
-
data: pData
|
|
58
|
-
} = prevProps;
|
|
59
|
-
const {
|
|
60
|
-
style: nextStyle,
|
|
61
|
-
index: nIdx,
|
|
62
|
-
data: nData
|
|
63
|
-
} = nextProps;
|
|
64
|
-
return !shallowDiffers(prevStyle, nextStyle) && !shallowDiffers(pData === null || pData === void 0 ? void 0 : pData.records[pIdx], nData === null || nData === void 0 ? void 0 : nData.records[nIdx]);
|
|
65
|
-
} // memoized list items strategy
|
|
66
|
-
// https://react-window.now.sh/#/examples/list/memoized-list-items
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
const VirtualizedTreeItem = /*#__PURE__*/React__default["default"].memo( /*#__PURE__*/React__default["default"].forwardRef((_ref, ref) => {
|
|
70
|
-
let {
|
|
71
|
-
index,
|
|
72
|
-
style,
|
|
73
|
-
data
|
|
74
|
-
} = _ref;
|
|
75
|
-
const {
|
|
76
|
-
instance,
|
|
77
|
-
records,
|
|
78
|
-
listRef
|
|
79
|
-
} = data;
|
|
80
|
-
const {
|
|
81
|
-
itemRenderer,
|
|
82
|
-
getItemProps,
|
|
83
|
-
renderers
|
|
84
|
-
} = instance.getInstance();
|
|
85
|
-
const record = records[index];
|
|
86
|
-
const ItemComponent = renderers.item; // needed to show the shadow below the row and because
|
|
87
|
-
// of absolute positioning from react-window
|
|
88
|
-
|
|
89
|
-
const mixedProps = getItemProps({
|
|
90
|
-
index,
|
|
91
|
-
record,
|
|
92
|
-
style,
|
|
93
|
-
listRef,
|
|
94
|
-
innerRef: ref
|
|
95
|
-
}, {
|
|
96
|
-
record
|
|
97
|
-
});
|
|
98
|
-
record.style = style;
|
|
99
|
-
return /*#__PURE__*/jsxRuntime.jsx(ItemComponent, _objectSpread(_objectSpread({}, mixedProps), {}, {
|
|
100
|
-
tabIndex: -1,
|
|
101
|
-
children: itemRenderer(mixedProps)
|
|
102
|
-
}));
|
|
103
|
-
}), areEqualRecords); // eslint-disable-next-line react/display-name
|
|
104
|
-
|
|
105
|
-
const VirtualizedTree = (renderers$1, instance) => _ref2 => {
|
|
106
|
-
let {
|
|
107
|
-
records,
|
|
108
|
-
itemRenderer,
|
|
109
|
-
innerRef
|
|
110
|
-
} = _ref2,
|
|
111
|
-
rest = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
|
112
|
-
|
|
113
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
114
|
-
const {
|
|
115
|
-
props: {
|
|
116
|
-
autoHeight,
|
|
117
|
-
fluid,
|
|
118
|
-
width,
|
|
119
|
-
height = 500,
|
|
120
|
-
noItemsPlaceholder = 'No items found',
|
|
121
|
-
initialOffset
|
|
122
|
-
},
|
|
123
|
-
state: {
|
|
124
|
-
listRef
|
|
125
|
-
},
|
|
126
|
-
renderers: currRenderers,
|
|
127
|
-
setListRef
|
|
128
|
-
} = instance.getInstance(); // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
129
|
-
|
|
130
|
-
const ListComponent = React.useMemo(() => virtualization.getVirtualListComponent({
|
|
131
|
-
component: reactWindowDynamicFork.DynamicSizeList,
|
|
132
|
-
height,
|
|
133
|
-
fluid,
|
|
134
|
-
autoHeight
|
|
135
|
-
}), [height, autoHeight]); // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
136
|
-
|
|
137
|
-
const itemData = React.useMemo(() => ({
|
|
138
|
-
instance,
|
|
139
|
-
listRef,
|
|
140
|
-
renderers: currRenderers,
|
|
141
|
-
records
|
|
142
|
-
}), [records, currRenderers, listRef]); // todo: revise this
|
|
143
|
-
|
|
144
|
-
if (records && !records.length) {
|
|
145
|
-
return /*#__PURE__*/_jsx__default["default"](renderers.TreeListNoItems, {}, void 0, noItemsPlaceholder);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
return /*#__PURE__*/jsxRuntime.jsx(ListComponent, _objectSpread(_objectSpread({
|
|
149
|
-
innerRef: setListRef
|
|
150
|
-
}, rest), {}, {
|
|
151
|
-
ref: listRef,
|
|
152
|
-
component: reactWindowDynamicFork.DynamicSizeList,
|
|
153
|
-
height: height,
|
|
154
|
-
initialScrollOffset: initialOffset,
|
|
155
|
-
itemCount: records.length,
|
|
156
|
-
itemData: itemData,
|
|
157
|
-
outerElementType: renderers$1.list,
|
|
158
|
-
outerRef: innerRef,
|
|
159
|
-
width: width,
|
|
160
|
-
children: VirtualizedTreeItem
|
|
161
|
-
}));
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
const TreeVirtualizationPlugin = createInstancePlugin__default["default"]('tree-virtualization', {
|
|
165
|
-
state() {
|
|
166
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
167
|
-
const listRef = React.useRef();
|
|
168
|
-
return {
|
|
169
|
-
state: {
|
|
170
|
-
listRef
|
|
171
|
-
},
|
|
172
|
-
actions: {
|
|
173
|
-
scrollTo: function () {
|
|
174
|
-
var _listRef$current;
|
|
175
|
-
|
|
176
|
-
if (listRef !== null && listRef !== void 0 && (_listRef$current = listRef.current) !== null && _listRef$current !== void 0 && _listRef$current.scrollTo) {
|
|
177
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
178
|
-
args[_key] = arguments[_key];
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
listRef.current.scrollTo(args);
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
scrollToItem: function () {
|
|
185
|
-
var _listRef$current2;
|
|
186
|
-
|
|
187
|
-
if (listRef !== null && listRef !== void 0 && (_listRef$current2 = listRef.current) !== null && _listRef$current2 !== void 0 && _listRef$current2.scrollToItem) {
|
|
188
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
189
|
-
args[_key2] = arguments[_key2];
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
listRef.current.scrollToItem(args);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
},
|
|
198
|
-
|
|
199
|
-
renderers(renderers, instance) {
|
|
200
|
-
return {
|
|
201
|
-
item: renderers.item,
|
|
202
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
203
|
-
list: React.useMemo(() => VirtualizedTree(renderers, instance), [])
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
});
|
|
208
|
-
|
|
209
|
-
exports.TreeVirtualizationPlugin = TreeVirtualizationPlugin;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
6
|
-
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
-
require('core-js/modules/esnext.iterator.filter.js');
|
|
8
|
-
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
9
|
-
require('core-js/modules/esnext.iterator.for-each.js');
|
|
10
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
11
|
-
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
12
|
-
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
13
|
-
var dsClassnames = require('@elliemae/ds-classnames');
|
|
14
|
-
require('react');
|
|
15
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
16
|
-
|
|
17
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
-
|
|
19
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
20
|
-
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
21
|
-
var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
|
|
22
|
-
|
|
23
|
-
const _excluded = ["leftAddons", "rightAddons", "children"];
|
|
24
|
-
|
|
25
|
-
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; }
|
|
26
|
-
|
|
27
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
28
|
-
const treeListBlockName = 'tree-list';
|
|
29
|
-
const treeItemBlockName = 'tree-item';
|
|
30
|
-
const treeListNoItemsBn = "".concat(treeListBlockName, "-no-items");
|
|
31
|
-
const TreeListItem = dsClassnames.aggregatedClasses('li', {
|
|
32
|
-
'data-testid': treeItemBlockName,
|
|
33
|
-
role: 'treeitem'
|
|
34
|
-
})(treeItemBlockName);
|
|
35
|
-
const TreeListItemAddonsWrapper = dsClassnames.aggregatedClasses('div')(treeItemBlockName, 'addons');
|
|
36
|
-
const TreeList = dsClassnames.aggregatedClasses('ul', {
|
|
37
|
-
'data-testid': treeListBlockName,
|
|
38
|
-
role: 'tree'
|
|
39
|
-
})(treeListBlockName, null, _ref => {
|
|
40
|
-
let {
|
|
41
|
-
rowSize
|
|
42
|
-
} = _ref;
|
|
43
|
-
return {
|
|
44
|
-
["rowsize-".concat(rowSize)]: rowSize
|
|
45
|
-
};
|
|
46
|
-
});
|
|
47
|
-
const TreeListNoItems = dsClassnames.aggregatedClasses('div', {
|
|
48
|
-
'data-testid': treeListNoItemsBn
|
|
49
|
-
})(treeListNoItemsBn);
|
|
50
|
-
|
|
51
|
-
function TreeItem(_ref2) {
|
|
52
|
-
let {
|
|
53
|
-
leftAddons,
|
|
54
|
-
rightAddons,
|
|
55
|
-
children
|
|
56
|
-
} = _ref2,
|
|
57
|
-
rest = _objectWithoutProperties__default["default"](_ref2, _excluded);
|
|
58
|
-
|
|
59
|
-
return /*#__PURE__*/jsxRuntime.jsxs(TreeListItem, _objectSpread(_objectSpread({}, rest), {}, {
|
|
60
|
-
children: [leftAddons && /*#__PURE__*/_jsx__default["default"](TreeListItemAddonsWrapper, {}, void 0, leftAddons), children, rightAddons && /*#__PURE__*/_jsx__default["default"](TreeListItemAddonsWrapper, {}, void 0, rightAddons)]
|
|
61
|
-
}));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const TreeRenderers = {
|
|
65
|
-
list: TreeList,
|
|
66
|
-
item: TreeItem
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
exports.TreeList = TreeList;
|
|
70
|
-
exports.TreeListItem = TreeListItem;
|
|
71
|
-
exports.TreeListItemAddonsWrapper = TreeListItemAddonsWrapper;
|
|
72
|
-
exports.TreeListNoItems = TreeListNoItems;
|
|
73
|
-
exports.TreeRenderers = TreeRenderers;
|
|
74
|
-
exports.treeItemBlockName = treeItemBlockName;
|
|
75
|
-
exports.treeListBlockName = treeListBlockName;
|
|
76
|
-
exports.treeListNoItemsBn = treeListNoItemsBn;
|
package/cjs/prop-types.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var PropTypes = require('prop-types');
|
|
6
|
-
|
|
7
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
8
|
-
|
|
9
|
-
var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
10
|
-
|
|
11
|
-
/* eslint-disable max-lines */
|
|
12
|
-
const InstanceActionsPropTypes = PropTypes__default["default"].shape({
|
|
13
|
-
toggleExpandAll: PropTypes__default["default"].func,
|
|
14
|
-
scrollTo: PropTypes__default["default"].func
|
|
15
|
-
});
|
|
16
|
-
const TreeViewInstancePropType = PropTypes__default["default"].shape({
|
|
17
|
-
current: PropTypes__default["default"].oneOfType([PropTypes__default["default"].oneOf([null]), PropTypes__default["default"].shape({
|
|
18
|
-
actions: InstanceActionsPropTypes.isRequired
|
|
19
|
-
})])
|
|
20
|
-
});
|
|
21
|
-
const TreeViewItemPropType = PropTypes__default["default"].shape({
|
|
22
|
-
children: PropTypes__default["default"].arrayOf(PropTypes__default["default"].object),
|
|
23
|
-
id: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
|
|
24
|
-
isGroup: PropTypes__default["default"].oneOfType([PropTypes__default["default"].oneOf([undefined, null]), PropTypes__default["default"].bool]),
|
|
25
|
-
name: PropTypes__default["default"].string,
|
|
26
|
-
node: PropTypes__default["default"].object
|
|
27
|
-
});
|
|
28
|
-
const TreeListPropTypes = {
|
|
29
|
-
// required when drag and drop is enabled, tracks the drag and drop results after drop and visual feedback borders
|
|
30
|
-
// passed down to TreeItem
|
|
31
|
-
onMouseDragOverItem: PropTypes__default["default"].func
|
|
32
|
-
};
|
|
33
|
-
const TreeItemPropTypes = {
|
|
34
|
-
item: TreeViewItemPropType.isRequired,
|
|
35
|
-
index: PropTypes__default["default"].number,
|
|
36
|
-
itemIndex: PropTypes__default["default"].number,
|
|
37
|
-
itemWrapperStyle: PropTypes__default["default"].object,
|
|
38
|
-
virtualItemRef: PropTypes__default["default"].func,
|
|
39
|
-
spaceForNestingLevel: PropTypes__default["default"].number,
|
|
40
|
-
onMouseDragOverItem: PropTypes__default["default"].func
|
|
41
|
-
};
|
|
42
|
-
const TreeItemExpandCaretPropTypes = {
|
|
43
|
-
item: TreeViewItemPropType.isRequired
|
|
44
|
-
};
|
|
45
|
-
const TreeItemNestingSpacePropTypes = {
|
|
46
|
-
item: TreeViewItemPropType.isRequired,
|
|
47
|
-
spaceForNestingLevel: PropTypes__default["default"].number.isRequired
|
|
48
|
-
};
|
|
49
|
-
const TreeItemCheckboxPropTypes = {
|
|
50
|
-
item: TreeViewItemPropType.isRequired,
|
|
51
|
-
itemIndex: PropTypes__default["default"].number.isRequired
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
exports.InstanceActionsPropTypes = InstanceActionsPropTypes;
|
|
55
|
-
exports.TreeItemCheckboxPropTypes = TreeItemCheckboxPropTypes;
|
|
56
|
-
exports.TreeItemExpandCaretPropTypes = TreeItemExpandCaretPropTypes;
|
|
57
|
-
exports.TreeItemNestingSpacePropTypes = TreeItemNestingSpacePropTypes;
|
|
58
|
-
exports.TreeItemPropTypes = TreeItemPropTypes;
|
|
59
|
-
exports.TreeListPropTypes = TreeListPropTypes;
|
|
60
|
-
exports.TreeViewInstancePropType = TreeViewInstancePropType;
|
|
61
|
-
exports.TreeViewItemPropType = TreeViewItemPropType;
|
|
@@ -1,61 +0,0 @@
|
|
|
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 _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
8
|
-
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
9
|
-
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
10
|
-
import 'react';
|
|
11
|
-
import useDataList from '@elliemae/ds-shared/useDataList';
|
|
12
|
-
import { TreeRenderers } from './renderers.js';
|
|
13
|
-
import { TreePluginList } from './plugins/tree/TreeDataPlugin.js';
|
|
14
|
-
import { TreeVirtualizationPlugin } from './plugins/virtualization/TreeVirtualizationPlugin.js';
|
|
15
|
-
import { TreeRovingPlugin } from './plugins/roving/TreeRovingPlugin.js';
|
|
16
|
-
import { jsx } from 'react/jsx-runtime';
|
|
17
|
-
|
|
18
|
-
const _excluded = ["data", "plugins", "children", "roving", "rowSize"];
|
|
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 wrapComponentIfExists = (Wrapper, children) => Wrapper ? /*#__PURE__*/_jsx(Wrapper, {}, void 0, children) : children;
|
|
25
|
-
|
|
26
|
-
function TreeView(_ref) {
|
|
27
|
-
let {
|
|
28
|
-
data,
|
|
29
|
-
plugins = [],
|
|
30
|
-
children,
|
|
31
|
-
roving = true,
|
|
32
|
-
rowSize = 'normal'
|
|
33
|
-
} = _ref,
|
|
34
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
35
|
-
|
|
36
|
-
const instance = useDataList(_objectSpread(_objectSpread({
|
|
37
|
-
data,
|
|
38
|
-
plugins: [TreePluginList, TreeVirtualizationPlugin, roving && TreeRovingPlugin, ...plugins],
|
|
39
|
-
customDecorators: {
|
|
40
|
-
shouldWalkChildren: []
|
|
41
|
-
},
|
|
42
|
-
// adds a new decorator to the useDataList specific for trees
|
|
43
|
-
renderers: TreeRenderers
|
|
44
|
-
}, props), {}, {
|
|
45
|
-
rowSize
|
|
46
|
-
}));
|
|
47
|
-
const {
|
|
48
|
-
list: ListComponent,
|
|
49
|
-
listWrapper: Wrapper
|
|
50
|
-
} = instance.renderers;
|
|
51
|
-
const {
|
|
52
|
-
getListProps
|
|
53
|
-
} = instance;
|
|
54
|
-
return wrapComponentIfExists(Wrapper, /*#__PURE__*/jsx(ListComponent, _objectSpread(_objectSpread({
|
|
55
|
-
records: instance.records
|
|
56
|
-
}, getListProps()), {}, {
|
|
57
|
-
className: "em-ds-tv-row-size-".concat(rowSize)
|
|
58
|
-
})));
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
export { TreeView };
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
3
|
-
import 'core-js/modules/esnext.map.delete-all.js';
|
|
4
|
-
import 'core-js/modules/esnext.map.emplace.js';
|
|
5
|
-
import 'core-js/modules/esnext.map.every.js';
|
|
6
|
-
import 'core-js/modules/esnext.map.filter.js';
|
|
7
|
-
import 'core-js/modules/esnext.map.find.js';
|
|
8
|
-
import 'core-js/modules/esnext.map.find-key.js';
|
|
9
|
-
import 'core-js/modules/esnext.map.includes.js';
|
|
10
|
-
import 'core-js/modules/esnext.map.key-of.js';
|
|
11
|
-
import 'core-js/modules/esnext.map.map-keys.js';
|
|
12
|
-
import 'core-js/modules/esnext.map.map-values.js';
|
|
13
|
-
import 'core-js/modules/esnext.map.merge.js';
|
|
14
|
-
import 'core-js/modules/esnext.map.reduce.js';
|
|
15
|
-
import 'core-js/modules/esnext.map.some.js';
|
|
16
|
-
import 'core-js/modules/esnext.map.update.js';
|
|
17
|
-
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
18
|
-
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
19
|
-
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
20
|
-
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
21
|
-
import 'core-js/modules/es.string.replace.js';
|
|
22
|
-
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
23
|
-
import 'core-js/modules/esnext.iterator.filter.js';
|
|
24
|
-
import 'react';
|
|
25
|
-
import { render } from '@testing-library/react';
|
|
26
|
-
import { treeItemBlockName } from '../renderers.js';
|
|
27
|
-
import { TreeView } from '../TreeView.js';
|
|
28
|
-
import { jsx } from 'react/jsx-runtime';
|
|
29
|
-
|
|
30
|
-
const _excluded = ["data", "plugins"],
|
|
31
|
-
_excluded2 = ["getAllByTestId"];
|
|
32
|
-
|
|
33
|
-
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; }
|
|
34
|
-
|
|
35
|
-
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; }
|
|
36
|
-
const treeItemsToMap = items => {
|
|
37
|
-
const itemsMap = new Map();
|
|
38
|
-
items.forEach(item => itemsMap.set(item.textContent.replace(/\(.*?\)/, '').replace(' ', ''), item));
|
|
39
|
-
return itemsMap;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Returns items and itemMap with itemText as keys
|
|
43
|
-
*
|
|
44
|
-
* @param root0
|
|
45
|
-
* @param root0.data
|
|
46
|
-
* @param root0.plugins
|
|
47
|
-
* @param key
|
|
48
|
-
*/
|
|
49
|
-
|
|
50
|
-
function getTreeItemsFromRender(_ref) {
|
|
51
|
-
let key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : treeItemBlockName;
|
|
52
|
-
|
|
53
|
-
let {
|
|
54
|
-
data,
|
|
55
|
-
plugins
|
|
56
|
-
} = _ref,
|
|
57
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
58
|
-
|
|
59
|
-
const _render = render( /*#__PURE__*/jsx(TreeView, _objectSpread(_objectSpread({}, props), {}, {
|
|
60
|
-
data: data,
|
|
61
|
-
height: 1000,
|
|
62
|
-
plugins: plugins,
|
|
63
|
-
width: 300
|
|
64
|
-
}))),
|
|
65
|
-
{
|
|
66
|
-
getAllByTestId
|
|
67
|
-
} = _render,
|
|
68
|
-
testingLibraryApi = _objectWithoutProperties(_render, _excluded2);
|
|
69
|
-
|
|
70
|
-
const items = getAllByTestId(key);
|
|
71
|
-
const itemsMap = treeItemsToMap(items);
|
|
72
|
-
return _objectSpread({
|
|
73
|
-
items,
|
|
74
|
-
itemsMap,
|
|
75
|
-
getAllByTestId
|
|
76
|
-
}, testingLibraryApi);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export { getTreeItemsFromRender, treeItemsToMap };
|
package/esm/deprecated/index.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export { TreeView } from './TreeView.js';
|
|
2
|
-
export { TreeDndPlugin } from './plugins/dnd/TreeDndPlugin.js';
|
|
3
|
-
export { TreeRovingPlugin } from './plugins/roving/TreeRovingPlugin.js';
|
|
4
|
-
export { SelectablePluginTree } from './plugins/selectable/SelectablePluginTree.js';
|
|
5
|
-
export { TreeToolbarPlugin } from './plugins/toolbar/TreeToolbarPlugin.js';
|
|
6
|
-
export { TreePluginList } from './plugins/tree/TreeDataPlugin.js';
|
|
7
|
-
export { TreeVirtualizationPlugin } from './plugins/virtualization/TreeVirtualizationPlugin.js';
|
|
8
|
-
export { SearchableTreePlugin } from './plugins/searchable/SearchableTreePlugin.js';
|
|
9
|
-
|
|
10
|
-
/* eslint-disable global-require */
|
|
11
|
-
// Polyfill ResizeObserver for demo
|
|
12
|
-
if (typeof ResizeObserver === 'undefined') {
|
|
13
|
-
global.ResizeObserver = require('resize-observer-polyfill').default;
|
|
14
|
-
}
|
|
@@ -1,110 +0,0 @@
|
|
|
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 'core-js/modules/web.dom-collections.iterator.js';
|
|
8
|
-
import { useState, useCallback, useMemo } from 'react';
|
|
9
|
-
import { isEqual } from '@elliemae/ds-utilities';
|
|
10
|
-
import createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';
|
|
11
|
-
import DraggableItem from './renderers/DraggableItem.js';
|
|
12
|
-
import DroppableList from './renderers/DroppableList.js';
|
|
13
|
-
import { getTreePosition, changePositionSameArray, changePositionBetweenDifferentArrays } from './utils.js';
|
|
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
|
-
const TreeDndPlugin = createInstancePlugin('tree-dnd', {
|
|
19
|
-
state(instance) {
|
|
20
|
-
const {
|
|
21
|
-
originalData,
|
|
22
|
-
props: {
|
|
23
|
-
childrenKey = 'children',
|
|
24
|
-
onOrderChange = () => null
|
|
25
|
-
}
|
|
26
|
-
} = instance; // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
27
|
-
|
|
28
|
-
const [draggedRecord, setDraggedRecord] = useState(null); // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
29
|
-
|
|
30
|
-
const changeRecordsPosition = useCallback(_ref => {
|
|
31
|
-
let {
|
|
32
|
-
sourceRecord,
|
|
33
|
-
targetRecord,
|
|
34
|
-
combineWith,
|
|
35
|
-
down
|
|
36
|
-
} = _ref;
|
|
37
|
-
let nextTreeData;
|
|
38
|
-
const sourceTreePosition = getTreePosition(sourceRecord.path);
|
|
39
|
-
let targetTreePosition = {};
|
|
40
|
-
|
|
41
|
-
if (combineWith) {
|
|
42
|
-
targetTreePosition = {
|
|
43
|
-
parentPath: combineWith.path
|
|
44
|
-
};
|
|
45
|
-
} else if (targetRecord) {
|
|
46
|
-
targetTreePosition = getTreePosition(targetRecord.path);
|
|
47
|
-
} else {
|
|
48
|
-
// there is no reordering
|
|
49
|
-
// Reason: outside tree / outside drop target
|
|
50
|
-
return originalData;
|
|
51
|
-
} // if we are not combining elements we change the same array
|
|
52
|
-
// if we combine elements, we change a different array (the children of the target)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
const changingSameArray = !combineWith && isEqual(sourceTreePosition.parentPath, targetTreePosition.parentPath);
|
|
56
|
-
|
|
57
|
-
if (changingSameArray) {
|
|
58
|
-
nextTreeData = changePositionSameArray({
|
|
59
|
-
sourceRecord,
|
|
60
|
-
targetRecord,
|
|
61
|
-
sourceTreePosition,
|
|
62
|
-
targetTreePosition,
|
|
63
|
-
data: originalData
|
|
64
|
-
});
|
|
65
|
-
} else {
|
|
66
|
-
nextTreeData = changePositionBetweenDifferentArrays({
|
|
67
|
-
sourceRecord,
|
|
68
|
-
targetRecord: combineWith || targetRecord,
|
|
69
|
-
combineWith,
|
|
70
|
-
sourceTreePosition,
|
|
71
|
-
targetTreePosition,
|
|
72
|
-
data: originalData,
|
|
73
|
-
down
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
onOrderChange(nextTreeData, sourceRecord); // console.log('nextTreeData :>> ', nextTreeData);
|
|
78
|
-
// console.log(
|
|
79
|
-
// `${sourceRecord?.data?.name} --> ${
|
|
80
|
-
// combineWith?.data?.name || targetRecord?.data?.name
|
|
81
|
-
// }`,
|
|
82
|
-
// );
|
|
83
|
-
|
|
84
|
-
return nextTreeData;
|
|
85
|
-
}, [originalData, childrenKey]);
|
|
86
|
-
return {
|
|
87
|
-
state: {
|
|
88
|
-
draggedRecord
|
|
89
|
-
},
|
|
90
|
-
actions: {
|
|
91
|
-
setDraggedRecord,
|
|
92
|
-
changeRecordsPosition
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
},
|
|
96
|
-
|
|
97
|
-
renderers(renderers, instance) {
|
|
98
|
-
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
99
|
-
const item = useMemo(() => DraggableItem(renderers), []); // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
100
|
-
|
|
101
|
-
const list = useMemo(() => DroppableList(renderers, instance), []);
|
|
102
|
-
return _objectSpread(_objectSpread({}, renderers), {}, {
|
|
103
|
-
item,
|
|
104
|
-
list
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
export { TreeDndPlugin };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { TreeDndPlugin } from './TreeDndPlugin.js';
|