@elliemae/ds-treeview 2.4.3-rc.6 → 2.4.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/hoc/WithConditionalDnDContext.js +4 -6
- package/cjs/utils/tree-helpers.js +4 -14
- package/cjs/utils/useTree.js +1 -1
- package/esm/hoc/WithConditionalDnDContext.js +4 -6
- package/esm/utils/tree-helpers.js +4 -10
- package/esm/utils/useTree.js +1 -1
- package/package.json +10 -10
- package/types/react-desc-prop-types.d.ts +1 -1
- package/types/utils/tree-helpers.d.ts +1 -1
|
@@ -70,9 +70,9 @@ const withConditionalDnDRowContext = Component => props => {
|
|
|
70
70
|
// Pull the row's original data into an object
|
|
71
71
|
const nodes = {};
|
|
72
72
|
tree.forEach(item => {
|
|
73
|
-
const originalItem = item.original
|
|
73
|
+
const originalItem = item.original;
|
|
74
74
|
originalItem.children = [];
|
|
75
|
-
nodes[item.uid] =
|
|
75
|
+
nodes[item.uid] = item.original;
|
|
76
76
|
});
|
|
77
77
|
const newUserTree = [];
|
|
78
78
|
tree.forEach(item => {
|
|
@@ -80,10 +80,8 @@ const withConditionalDnDRowContext = Component => props => {
|
|
|
80
80
|
// otherwise append it to the new user data
|
|
81
81
|
if (item.parentId !== null && item.parentId !== undefined && item.parentId !== '__ds_tree_root') {
|
|
82
82
|
const parentNode = nodes[item.parentId];
|
|
83
|
-
parentNode.children?.push(item.original
|
|
84
|
-
} else if (item.uid !== '__ds_tree_root')
|
|
85
|
-
newUserTree.push(item.original.model);
|
|
86
|
-
}
|
|
83
|
+
parentNode.children?.push(item.original);
|
|
84
|
+
} else if (item.uid !== '__ds_tree_root') newUserTree.push(item.original);
|
|
87
85
|
}); // Tell the user that the order has change, he can chose to commit it or not
|
|
88
86
|
|
|
89
87
|
onOrderChange(newUserTree, data, flattenedItems[indexes.fromIndex]);
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
5
|
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
6
|
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
7
|
require('core-js/modules/esnext.iterator.for-each.js');
|
|
@@ -11,18 +10,9 @@ require('core-js/modules/esnext.async-iterator.find.js');
|
|
|
11
10
|
require('core-js/modules/esnext.iterator.find.js');
|
|
12
11
|
require('core-js/modules/esnext.async-iterator.every.js');
|
|
13
12
|
require('core-js/modules/esnext.iterator.every.js');
|
|
14
|
-
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
15
|
-
require('core-js/modules/esnext.iterator.filter.js');
|
|
16
13
|
var React = require('react');
|
|
17
14
|
var stringHelpers = require('./string-helpers.js');
|
|
18
15
|
|
|
19
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
20
|
-
|
|
21
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
22
|
-
|
|
23
|
-
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; }
|
|
24
|
-
|
|
25
|
-
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; }
|
|
26
16
|
const walkVisibles = function (node, callback) {
|
|
27
17
|
let skipRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
28
18
|
let highlightOnlyQuery = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
@@ -195,18 +185,18 @@ const flattenTreeForDnD = function (data) {
|
|
|
195
185
|
let depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
196
186
|
let parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
197
187
|
flattenedTree.push({
|
|
198
|
-
uid: node.
|
|
188
|
+
uid: node.id.toString(),
|
|
199
189
|
depth,
|
|
200
190
|
realIndex: index,
|
|
201
191
|
childrenCount: node.children?.length ?? 0,
|
|
202
192
|
parentId: parentId !== null ? parentId.toString() : null,
|
|
203
|
-
original:
|
|
193
|
+
original: node
|
|
204
194
|
});
|
|
205
195
|
index += 1;
|
|
206
|
-
if (shouldDescend(node)) node.children?.forEach(child => doit(child, depth + 1, node.
|
|
196
|
+
if (shouldDescend(node)) node.children?.forEach(child => doit(child, depth + 1, node.id.toString()));
|
|
207
197
|
};
|
|
208
198
|
|
|
209
|
-
data.
|
|
199
|
+
data.forEach(datum => doit(datum));
|
|
210
200
|
return flattenedTree;
|
|
211
201
|
};
|
|
212
202
|
|
package/cjs/utils/useTree.js
CHANGED
|
@@ -92,7 +92,7 @@ const useTree = (data, props, states) => {
|
|
|
92
92
|
setExpandedGroups(newExpandedHashMap); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
93
93
|
}, [treeRoot, rerenderItems, searchQuery, highlightOnlyQuery, selection, expanded, setExpandedGroups // onVisibleItemsChange // evaluate potential performance hit?
|
|
94
94
|
]);
|
|
95
|
-
const flattenedItems = React.useMemo(() => treeHelpers.flattenTreeForDnD(
|
|
95
|
+
const flattenedItems = React.useMemo(() => treeHelpers.flattenTreeForDnD(data), [data]);
|
|
96
96
|
return {
|
|
97
97
|
visibleItems,
|
|
98
98
|
flattenedItems,
|
|
@@ -61,9 +61,9 @@ const withConditionalDnDRowContext = Component => props => {
|
|
|
61
61
|
// Pull the row's original data into an object
|
|
62
62
|
const nodes = {};
|
|
63
63
|
tree.forEach(item => {
|
|
64
|
-
const originalItem = item.original
|
|
64
|
+
const originalItem = item.original;
|
|
65
65
|
originalItem.children = [];
|
|
66
|
-
nodes[item.uid] =
|
|
66
|
+
nodes[item.uid] = item.original;
|
|
67
67
|
});
|
|
68
68
|
const newUserTree = [];
|
|
69
69
|
tree.forEach(item => {
|
|
@@ -71,10 +71,8 @@ const withConditionalDnDRowContext = Component => props => {
|
|
|
71
71
|
// otherwise append it to the new user data
|
|
72
72
|
if (item.parentId !== null && item.parentId !== undefined && item.parentId !== '__ds_tree_root') {
|
|
73
73
|
const parentNode = nodes[item.parentId];
|
|
74
|
-
parentNode.children?.push(item.original
|
|
75
|
-
} else if (item.uid !== '__ds_tree_root')
|
|
76
|
-
newUserTree.push(item.original.model);
|
|
77
|
-
}
|
|
74
|
+
parentNode.children?.push(item.original);
|
|
75
|
+
} else if (item.uid !== '__ds_tree_root') newUserTree.push(item.original);
|
|
78
76
|
}); // Tell the user that the order has change, he can chose to commit it or not
|
|
79
77
|
|
|
80
78
|
onOrderChange(newUserTree, data, flattenedItems[indexes.fromIndex]);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
1
|
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
3
2
|
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
4
3
|
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
@@ -7,14 +6,9 @@ import 'core-js/modules/esnext.async-iterator.find.js';
|
|
|
7
6
|
import 'core-js/modules/esnext.iterator.find.js';
|
|
8
7
|
import 'core-js/modules/esnext.async-iterator.every.js';
|
|
9
8
|
import 'core-js/modules/esnext.iterator.every.js';
|
|
10
|
-
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
11
|
-
import 'core-js/modules/esnext.iterator.filter.js';
|
|
12
9
|
import { createRef } from 'react';
|
|
13
10
|
import { standardizeSearchQueryString } from './string-helpers.js';
|
|
14
11
|
|
|
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
12
|
const walkVisibles = function (node, callback) {
|
|
19
13
|
let skipRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
20
14
|
let highlightOnlyQuery = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
@@ -187,18 +181,18 @@ const flattenTreeForDnD = function (data) {
|
|
|
187
181
|
let depth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
188
182
|
let parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
189
183
|
flattenedTree.push({
|
|
190
|
-
uid: node.
|
|
184
|
+
uid: node.id.toString(),
|
|
191
185
|
depth,
|
|
192
186
|
realIndex: index,
|
|
193
187
|
childrenCount: node.children?.length ?? 0,
|
|
194
188
|
parentId: parentId !== null ? parentId.toString() : null,
|
|
195
|
-
original:
|
|
189
|
+
original: node
|
|
196
190
|
});
|
|
197
191
|
index += 1;
|
|
198
|
-
if (shouldDescend(node)) node.children?.forEach(child => doit(child, depth + 1, node.
|
|
192
|
+
if (shouldDescend(node)) node.children?.forEach(child => doit(child, depth + 1, node.id.toString()));
|
|
199
193
|
};
|
|
200
194
|
|
|
201
|
-
data.
|
|
195
|
+
data.forEach(datum => doit(datum));
|
|
202
196
|
return flattenedTree;
|
|
203
197
|
};
|
|
204
198
|
|
package/esm/utils/useTree.js
CHANGED
|
@@ -83,7 +83,7 @@ const useTree = (data, props, states) => {
|
|
|
83
83
|
setExpandedGroups(newExpandedHashMap); // eslint-disable-next-line react-hooks/exhaustive-deps
|
|
84
84
|
}, [treeRoot, rerenderItems, searchQuery, highlightOnlyQuery, selection, expanded, setExpandedGroups // onVisibleItemsChange // evaluate potential performance hit?
|
|
85
85
|
]);
|
|
86
|
-
const flattenedItems = useMemo(() => flattenTreeForDnD(
|
|
86
|
+
const flattenedItems = useMemo(() => flattenTreeForDnD(data), [data]);
|
|
87
87
|
return {
|
|
88
88
|
visibleItems,
|
|
89
89
|
flattenedItems,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elliemae/ds-treeview",
|
|
3
|
-
"version": "2.4.3
|
|
3
|
+
"version": "2.4.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "ICE MT - Dimsum - Tree View",
|
|
6
6
|
"module": "./esm/index.js",
|
|
@@ -229,15 +229,15 @@
|
|
|
229
229
|
"dependencies": {
|
|
230
230
|
"@dnd-kit/core": "~4.0.1",
|
|
231
231
|
"@dnd-kit/sortable": "~5.0.0",
|
|
232
|
-
"@elliemae/ds-button": "2.4.3
|
|
233
|
-
"@elliemae/ds-circular-progress-indicator": "2.4.3
|
|
234
|
-
"@elliemae/ds-classnames": "2.4.3
|
|
235
|
-
"@elliemae/ds-drag-and-drop": "2.4.3
|
|
236
|
-
"@elliemae/ds-form": "2.4.3
|
|
237
|
-
"@elliemae/ds-icons": "2.4.3
|
|
238
|
-
"@elliemae/ds-props-helpers": "2.4.3
|
|
239
|
-
"@elliemae/ds-truncated-tooltip-text": "2.4.3
|
|
240
|
-
"@elliemae/ds-utilities": "2.4.3
|
|
232
|
+
"@elliemae/ds-button": "2.4.3",
|
|
233
|
+
"@elliemae/ds-circular-progress-indicator": "2.4.3",
|
|
234
|
+
"@elliemae/ds-classnames": "2.4.3",
|
|
235
|
+
"@elliemae/ds-drag-and-drop": "2.4.3",
|
|
236
|
+
"@elliemae/ds-form": "2.4.3",
|
|
237
|
+
"@elliemae/ds-icons": "2.4.3",
|
|
238
|
+
"@elliemae/ds-props-helpers": "2.4.3",
|
|
239
|
+
"@elliemae/ds-truncated-tooltip-text": "2.4.3",
|
|
240
|
+
"@elliemae/ds-utilities": "2.4.3",
|
|
241
241
|
"react-desc": "~4.1.3",
|
|
242
242
|
"react-highlight-words": "~0.17.0",
|
|
243
243
|
"react-virtual": "~2.8.2",
|
|
@@ -38,7 +38,7 @@ export declare namespace DSTreeviewT {
|
|
|
38
38
|
realIndex: number;
|
|
39
39
|
childrenCount: number;
|
|
40
40
|
parentId: string | null;
|
|
41
|
-
original:
|
|
41
|
+
original: SimpleItem;
|
|
42
42
|
}
|
|
43
43
|
interface Actions {
|
|
44
44
|
toggleExpandAll: (isExpand: boolean) => Promise<DSTreeviewT.Item[]>;
|
|
@@ -24,5 +24,5 @@ export declare const getChildrenMatchesSearchQuery: (parentNode: DSTreeviewT.Ite
|
|
|
24
24
|
*/
|
|
25
25
|
export declare const enrichNodeModelInPlace: (node: TreeModel.Node<DSTreeviewT.SimpleItem>, searchQuery?: string, selection?: DSTreeviewT.SelectionItems | null, expanded?: DSTreeviewT.ExpandedItems | null) => void;
|
|
26
26
|
export declare const focusItem: (item: DSTreeviewT.Item | null) => void;
|
|
27
|
-
export declare const flattenTreeForDnD: (data:
|
|
27
|
+
export declare const flattenTreeForDnD: (data: DSTreeviewT.SimpleItem[], shouldDescend?: (datum: DSTreeviewT.SimpleItem) => boolean) => DSTreeviewT.DndItem[];
|
|
28
28
|
export {};
|