@elliemae/ds-treeview 2.0.1 → 2.1.0-rc.3
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 +7 -9
- 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 +16 -13
- package/cjs/parts/TreeList.js +6 -4
- 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/selectable-helper.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 +27 -8
- 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 +7 -9
- 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 +16 -13
- package/esm/parts/TreeList.js +6 -4
- 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/selectable-helper.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 +27 -8
- 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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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); if (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 = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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';
|