@elliemae/ds-treeview 2.0.0-next.7 → 2.0.0-rc.2
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 -0
- package/cjs/deprecated/TreeView.js +5 -0
- package/cjs/deprecated/__testUtils__/utils.js +9 -1
- package/cjs/deprecated/plugins/dnd/TreeDndPlugin.js +14 -8
- package/cjs/deprecated/plugins/dnd/renderers/DraggableItem.js +7 -3
- package/cjs/deprecated/plugins/dnd/renderers/DroppableList.js +20 -15
- package/cjs/deprecated/plugins/dnd/utils.js +41 -34
- package/cjs/deprecated/plugins/roving/TreeRovingPlugin.js +12 -3
- package/cjs/deprecated/plugins/searchable/SearchableTreePlugin.js +5 -3
- package/cjs/deprecated/plugins/selectable/SelectablePluginTree.js +52 -33
- package/cjs/deprecated/plugins/toolbar/TreeToolbarPlugin.js +11 -7
- package/cjs/deprecated/plugins/tree/TreeDataPlugin.js +38 -28
- package/cjs/deprecated/plugins/tree/useExpandTreeState.js +8 -5
- package/cjs/deprecated/plugins/tree/utils.js +17 -4
- package/cjs/deprecated/plugins/tree/walkTreeStrategy.js +11 -9
- package/cjs/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +24 -10
- package/cjs/deprecated/renderers.js +16 -8
- package/cjs/parts/CheckboxSelectable.js +7 -3
- package/cjs/parts/ExpandCaret.js +10 -10
- package/cjs/parts/Icon.js +2 -2
- package/cjs/parts/NestingSpace.js +5 -0
- package/cjs/parts/RadioSelectable.js +2 -3
- package/cjs/parts/TreeItem.js +29 -19
- package/cjs/parts/TreeItemText.js +12 -9
- package/cjs/parts/TreeList.js +17 -7
- package/cjs/related-components/TreeViewSearchBar.js +2 -2
- package/cjs/utils/dnd-helpers.js +29 -25
- package/cjs/utils/group-expands-helpers.js +7 -5
- package/cjs/utils/keyboard-helpers.js +6 -3
- package/cjs/utils/object-helpers.js +8 -0
- package/cjs/utils/refs-helpers.js +11 -1
- package/cjs/utils/selectable-helper.js +9 -2
- package/cjs/utils/tree-helpers.js +26 -8
- package/cjs/utils/useDnDHelpers.js +18 -12
- package/cjs/utils/useInstanceRefActions.js +13 -10
- package/cjs/utils/useTree.js +5 -0
- package/esm/TreeView.js +5 -0
- package/esm/deprecated/TreeView.js +5 -0
- package/esm/deprecated/__testUtils__/utils.js +9 -1
- package/esm/deprecated/plugins/dnd/TreeDndPlugin.js +13 -7
- package/esm/deprecated/plugins/dnd/renderers/DraggableItem.js +6 -1
- package/esm/deprecated/plugins/dnd/renderers/DroppableList.js +17 -11
- package/esm/deprecated/plugins/dnd/utils.js +34 -27
- package/esm/deprecated/plugins/roving/TreeRovingPlugin.js +11 -2
- package/esm/deprecated/plugins/searchable/SearchableTreePlugin.js +4 -1
- package/esm/deprecated/plugins/selectable/SelectablePluginTree.js +44 -22
- package/esm/deprecated/plugins/toolbar/TreeToolbarPlugin.js +8 -3
- package/esm/deprecated/plugins/tree/TreeDataPlugin.js +28 -16
- package/esm/deprecated/plugins/tree/useExpandTreeState.js +6 -2
- package/esm/deprecated/plugins/tree/utils.js +17 -4
- package/esm/deprecated/plugins/tree/walkTreeStrategy.js +11 -9
- package/esm/deprecated/plugins/virtualization/TreeVirtualizationPlugin.js +24 -10
- package/esm/deprecated/renderers.js +16 -8
- package/esm/parts/CheckboxSelectable.js +7 -2
- package/esm/parts/ExpandCaret.js +8 -6
- package/esm/parts/Icon.js +1 -1
- package/esm/parts/NestingSpace.js +5 -0
- package/esm/parts/RadioSelectable.js +2 -2
- package/esm/parts/TreeItem.js +29 -18
- package/esm/parts/TreeItemText.js +10 -7
- package/esm/parts/TreeList.js +16 -6
- package/esm/related-components/TreeViewSearchBar.js +1 -1
- package/esm/utils/dnd-helpers.js +29 -25
- package/esm/utils/group-expands-helpers.js +7 -5
- package/esm/utils/keyboard-helpers.js +6 -3
- package/esm/utils/object-helpers.js +8 -0
- package/esm/utils/refs-helpers.js +11 -1
- package/esm/utils/selectable-helper.js +9 -2
- package/esm/utils/tree-helpers.js +26 -8
- package/esm/utils/useDnDHelpers.js +18 -12
- package/esm/utils/useInstanceRefActions.js +13 -10
- package/esm/utils/useTree.js +5 -0
- package/package.json +11 -10
- package/types/deprecated/plugins/tree/useExpandTreeState.d.ts +12 -2
package/cjs/parts/TreeList.js
CHANGED
|
@@ -4,10 +4,17 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
12
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
13
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
14
|
var React = require('react');
|
|
8
15
|
var reactSortableHoc = require('@elliemae/react-sortable-hoc');
|
|
9
16
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
10
|
-
var
|
|
17
|
+
var dsCircularProgressIndicator = require('@elliemae/ds-circular-progress-indicator');
|
|
11
18
|
var TreeViewContext = require('../TreeViewContext.js');
|
|
12
19
|
var TreeItem = require('./TreeItem.js');
|
|
13
20
|
var cssClassesConstants = require('../config/cssClassesConstants.js');
|
|
@@ -28,11 +35,14 @@ const TreeListNoItems = dsClassnames.aggregatedClasses('div', {
|
|
|
28
35
|
const TreeListWrapper = dsClassnames.aggregatedClasses('ul', {
|
|
29
36
|
'data-testid': cssClassesConstants.treeListBlockName,
|
|
30
37
|
role: 'tree'
|
|
31
|
-
})(cssClassesConstants.treeListBlockName, null,
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
38
|
+
})(cssClassesConstants.treeListBlockName, null, _ref => {
|
|
39
|
+
let {
|
|
40
|
+
rowSize
|
|
41
|
+
} = _ref;
|
|
42
|
+
return {
|
|
43
|
+
["rowsize-".concat(rowSize)]: rowSize
|
|
44
|
+
};
|
|
45
|
+
});
|
|
36
46
|
const compactRowClass = "".concat(cssClassesConstants.DSTreeViewPrefix, "-tv-row-size-compact");
|
|
37
47
|
const normaRowClass = "".concat(cssClassesConstants.DSTreeViewPrefix, "-tv-row-size-normal");
|
|
38
48
|
const TreeList = props => {
|
|
@@ -74,7 +84,7 @@ const TreeList = props => {
|
|
|
74
84
|
alignItems: 'center',
|
|
75
85
|
justifyContent: 'center'
|
|
76
86
|
}
|
|
77
|
-
}, void 0, /*#__PURE__*/_jsx__default["default"](
|
|
87
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](dsCircularProgressIndicator.DSCircularProgressIndicator, {
|
|
78
88
|
size: "xl",
|
|
79
89
|
loading: isLoading,
|
|
80
90
|
showLabel: true,
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
6
6
|
require('react');
|
|
7
|
-
var
|
|
7
|
+
var dsForm = require('@elliemae/ds-form');
|
|
8
8
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
10
|
|
|
@@ -20,7 +20,7 @@ function TreeViewSearchBar(props) {
|
|
|
20
20
|
totalResults,
|
|
21
21
|
value
|
|
22
22
|
} = props;
|
|
23
|
-
return /*#__PURE__*/_jsx__default["default"](
|
|
23
|
+
return /*#__PURE__*/_jsx__default["default"](dsForm.DSNavSearchBox, {
|
|
24
24
|
onChange: v => {
|
|
25
25
|
handleChange({
|
|
26
26
|
target: {
|
package/cjs/utils/dnd-helpers.js
CHANGED
|
@@ -12,13 +12,14 @@ const keyCodes = {
|
|
|
12
12
|
up: [38, 37],
|
|
13
13
|
down: [40, 39]
|
|
14
14
|
};
|
|
15
|
-
const sameParentAsHoverItemDrop =
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
const sameParentAsHoverItemDrop = _ref => {
|
|
16
|
+
let {
|
|
17
|
+
isBefore,
|
|
18
|
+
isAfter,
|
|
19
|
+
draggedItem,
|
|
20
|
+
overItem,
|
|
21
|
+
movementDirection
|
|
22
|
+
} = _ref;
|
|
22
23
|
const hoveredItemNodeNestedIndex = overItem.node.getIndex();
|
|
23
24
|
let newParentNode = treeHelpers.getItemsParentNode([overItem], true);
|
|
24
25
|
const {
|
|
@@ -44,13 +45,14 @@ const sameParentAsHoverItemDrop = ({
|
|
|
44
45
|
newParentNode
|
|
45
46
|
};
|
|
46
47
|
};
|
|
47
|
-
const inferHoverItemKinshipDrop =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
48
|
+
const inferHoverItemKinshipDrop = _ref2 => {
|
|
49
|
+
let {
|
|
50
|
+
isBefore,
|
|
51
|
+
isAfter,
|
|
52
|
+
draggedItem,
|
|
53
|
+
overItem,
|
|
54
|
+
movementDirection
|
|
55
|
+
} = _ref2;
|
|
54
56
|
const hoverItemModel = overItem.node.model;
|
|
55
57
|
const isGroupAndIsExpanded = hoverItemModel.isExpanded && hoverItemModel.children.length > 0;
|
|
56
58
|
|
|
@@ -79,13 +81,14 @@ const inferHoverItemKinshipDrop = ({
|
|
|
79
81
|
newParentNode: overItem.node
|
|
80
82
|
};
|
|
81
83
|
};
|
|
82
|
-
const isDropValid =
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
84
|
+
const isDropValid = _ref3 => {
|
|
85
|
+
let {
|
|
86
|
+
isBefore,
|
|
87
|
+
isAfter,
|
|
88
|
+
draggedItem,
|
|
89
|
+
overItem,
|
|
90
|
+
restrictDragAndDrop
|
|
91
|
+
} = _ref3;
|
|
89
92
|
const {
|
|
90
93
|
id: movedId
|
|
91
94
|
} = draggedItem;
|
|
@@ -109,11 +112,12 @@ const isDropValid = ({
|
|
|
109
112
|
|
|
110
113
|
return true;
|
|
111
114
|
};
|
|
112
|
-
const inferKeyboardKinshipDrop =
|
|
113
|
-
|
|
114
|
-
|
|
115
|
+
const inferKeyboardKinshipDrop = _ref4 => {
|
|
116
|
+
let {
|
|
117
|
+
items,
|
|
118
|
+
newIndex // movementDirection,
|
|
115
119
|
|
|
116
|
-
}
|
|
120
|
+
} = _ref4;
|
|
117
121
|
const kinship = {}; // const directionOffset = movementDirection === 'topToBottom' ? 0 : 0;
|
|
118
122
|
|
|
119
123
|
const itemBefore = items[newIndex];
|
|
@@ -5,7 +5,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
|
|
7
7
|
/* eslint-disable max-params */
|
|
8
|
-
const toggleItemExpand = (itemToToggle, triggerTreeRerender
|
|
8
|
+
const toggleItemExpand = function (itemToToggle, triggerTreeRerender) {
|
|
9
|
+
let scrollTo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : () => {};
|
|
9
10
|
const {
|
|
10
11
|
node: {
|
|
11
12
|
model: {
|
|
@@ -63,10 +64,11 @@ const toggleExpandAllHelper = (isExpand, treeRoot, triggerTreeRerender, setLates
|
|
|
63
64
|
}
|
|
64
65
|
setLatestToggledItem(null);
|
|
65
66
|
};
|
|
66
|
-
const useNotifyExpandedChange = (propsWithDefaults, {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
const useNotifyExpandedChange = (propsWithDefaults, _ref) => {
|
|
68
|
+
let {
|
|
69
|
+
latestToggledItem,
|
|
70
|
+
expandedGroups
|
|
71
|
+
} = _ref;
|
|
70
72
|
const notifyExpandedChange = React.useCallback(expandedGroupHashmap => propsWithDefaults.onExpandChange(expandedGroupHashmap, latestToggledItem), [propsWithDefaults, latestToggledItem]);
|
|
71
73
|
React.useEffect(() => {
|
|
72
74
|
notifyExpandedChange(expandedGroups);
|
|
@@ -41,9 +41,12 @@ const useOnItemKeyDown = item => {
|
|
|
41
41
|
} = item;
|
|
42
42
|
const onItemFocusCurry = React.useCallback(newFocusItem => onItemFocus({
|
|
43
43
|
itemIndex: newFocusItem.virtualIndex,
|
|
44
|
-
scrollToItem: (
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
scrollToItem: function () {
|
|
45
|
+
let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
46
|
+
align: 'start'
|
|
47
|
+
};
|
|
48
|
+
return scrollToIndex(newFocusItem.virtualIndex, opts);
|
|
49
|
+
},
|
|
47
50
|
item: newFocusItem
|
|
48
51
|
}), [onItemFocus]);
|
|
49
52
|
const onItemKeyDown = React.useCallback(e => {
|
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
12
|
+
|
|
5
13
|
/* eslint-disable no-sequences */
|
|
6
14
|
|
|
7
15
|
/* eslint-disable no-return-assign */
|
|
@@ -2,8 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
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
|
+
|
|
5
11
|
// allow multiple refs to be set to point to the same DOM element
|
|
6
|
-
const setMultipleRefs = (
|
|
12
|
+
const setMultipleRefs = function () {
|
|
13
|
+
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
14
|
+
refs[_key] = arguments[_key];
|
|
15
|
+
}
|
|
16
|
+
|
|
7
17
|
const filteredRefs = refs.filter(Boolean);
|
|
8
18
|
if (!filteredRefs.length) return null;
|
|
9
19
|
if (filteredRefs.length === 0) return filteredRefs[0];
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
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');
|
|
5
10
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
11
|
var treeHelpers = require('./tree-helpers.js');
|
|
7
12
|
|
|
@@ -27,7 +32,8 @@ const getGroupCheckState = node => {
|
|
|
27
32
|
if (anyChildChecked) return 'mixed';
|
|
28
33
|
return false;
|
|
29
34
|
};
|
|
30
|
-
const selectCheckboxItemModelParentsTillRoot = (modelToCheck
|
|
35
|
+
const selectCheckboxItemModelParentsTillRoot = function (modelToCheck) {
|
|
36
|
+
let triggerTreeRerender = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
31
37
|
const newSelections = {};
|
|
32
38
|
const {
|
|
33
39
|
nodePath
|
|
@@ -40,7 +46,8 @@ const selectCheckboxItemModelParentsTillRoot = (modelToCheck, triggerTreeRerende
|
|
|
40
46
|
if (triggerTreeRerender) triggerTreeRerender();
|
|
41
47
|
return newSelections;
|
|
42
48
|
};
|
|
43
|
-
const toggleCheckboxItem = (itemToSelect
|
|
49
|
+
const toggleCheckboxItem = function (itemToSelect) {
|
|
50
|
+
let triggerTreeRerender = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
44
51
|
const {
|
|
45
52
|
node: {
|
|
46
53
|
model: {
|
|
@@ -2,11 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
6
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
5
8
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.every.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.every.js');
|
|
6
13
|
var React = require('react');
|
|
7
14
|
var stringHelpers = require('./string-helpers.js');
|
|
8
15
|
|
|
9
|
-
const walkVisibles = (node, callback
|
|
16
|
+
const walkVisibles = function (node, callback) {
|
|
17
|
+
let skipRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
18
|
+
let highlightOnlyQuery = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
10
19
|
const {
|
|
11
20
|
children,
|
|
12
21
|
model
|
|
@@ -28,7 +37,8 @@ const walkVisibles = (node, callback, skipRoot = true, highlightOnlyQuery = fals
|
|
|
28
37
|
});
|
|
29
38
|
}
|
|
30
39
|
};
|
|
31
|
-
const walkParents = (nodePath, callback
|
|
40
|
+
const walkParents = function (nodePath, callback) {
|
|
41
|
+
let skipRoot = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
32
42
|
const parents = [...nodePath].reverse();
|
|
33
43
|
parents.shift(); // remove current node from the parents array
|
|
34
44
|
|
|
@@ -36,7 +46,8 @@ const walkParents = (nodePath, callback, skipRoot = true) => {
|
|
|
36
46
|
|
|
37
47
|
parents.forEach(callback);
|
|
38
48
|
};
|
|
39
|
-
const walkAllNodeChildren = (node, callback
|
|
49
|
+
const walkAllNodeChildren = function (node, callback) {
|
|
50
|
+
let isFirst = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
|
|
40
51
|
const {
|
|
41
52
|
children = []
|
|
42
53
|
} = node;
|
|
@@ -54,7 +65,9 @@ const getNodeById = (treeRoot, id) => {
|
|
|
54
65
|
return nodes[0];
|
|
55
66
|
};
|
|
56
67
|
const cloneNode = (tree, node) => tree.parse(node.model);
|
|
57
|
-
const getItemsParentNode = (
|
|
68
|
+
const getItemsParentNode = function () {
|
|
69
|
+
let items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
70
|
+
let skipSameParentCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
58
71
|
if (items.length === 0) throw new Error("Received empty items, can't retrieve parent"); // in case we already know the items compared shares the same parent
|
|
59
72
|
|
|
60
73
|
if (!skipSameParentCheck) if (!itemsShareSameParent(items)) // if we don't know (default, we don't) check if they share the parent
|
|
@@ -71,7 +84,8 @@ const getItemsParentNode = (items = [], skipSameParentCheck = false) => {
|
|
|
71
84
|
const directParentNode = firstExistingItemPath[firstExistingItemPath.length - 2];
|
|
72
85
|
return directParentNode;
|
|
73
86
|
};
|
|
74
|
-
const itemsShareSameParent = (
|
|
87
|
+
const itemsShareSameParent = function () {
|
|
88
|
+
let items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
75
89
|
if (items.length === 0) throw new Error('Received empty items for comparison');
|
|
76
90
|
if (items.length === 1) return true; // when moving in first position we receive [undefined,...{items}]
|
|
77
91
|
// when moving in last position we receive [...{items}, undefined]
|
|
@@ -92,21 +106,25 @@ const itemsShareSameParent = (items = []) => {
|
|
|
92
106
|
return directParentNode === itemDirectParent;
|
|
93
107
|
});
|
|
94
108
|
};
|
|
95
|
-
const getNodeMatchesSearchQuery = (node
|
|
109
|
+
const getNodeMatchesSearchQuery = function (node) {
|
|
110
|
+
let searchQuery = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
96
111
|
const standardizedName = stringHelpers.standardizeSearchQueryString(node.model.name);
|
|
97
112
|
const standardizedSearchQuery = stringHelpers.standardizeSearchQueryString(searchQuery);
|
|
98
113
|
return standardizedName.includes(standardizedSearchQuery);
|
|
99
114
|
};
|
|
100
|
-
const getChildrenMatchesSearchQuery = (parentNode
|
|
115
|
+
const getChildrenMatchesSearchQuery = function (parentNode) {
|
|
116
|
+
let searchQuery = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
101
117
|
let anyChildMatch = false;
|
|
102
118
|
walkAllNodeChildren(parentNode, node => {
|
|
103
119
|
if (getNodeMatchesSearchQuery(node, searchQuery)) anyChildMatch = true;
|
|
104
120
|
});
|
|
105
121
|
return anyChildMatch;
|
|
106
122
|
};
|
|
107
|
-
const enrichNodeModelInPlace = (node
|
|
123
|
+
const enrichNodeModelInPlace = function (node) {
|
|
108
124
|
var _node$model, _node$model$children;
|
|
109
125
|
|
|
126
|
+
let searchQuery = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
127
|
+
let selection = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
110
128
|
const path = node.getPath();
|
|
111
129
|
const depth = path.length - 1;
|
|
112
130
|
node.model.nodePath = path;
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
require('core-js/modules/esnext.async-iterator.constructor.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.drop.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.drop.js');
|
|
5
9
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
6
10
|
var React = require('react');
|
|
7
11
|
var lodash = require('lodash');
|
|
@@ -31,11 +35,12 @@ const useDnDHelpers = () => {
|
|
|
31
35
|
treeRoot,
|
|
32
36
|
draggedItem
|
|
33
37
|
} = ctx;
|
|
34
|
-
const onSortEnd = React.useCallback(
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
const onSortEnd = React.useCallback(_ref => {
|
|
39
|
+
let {
|
|
40
|
+
oldIndex,
|
|
41
|
+
newIndex,
|
|
42
|
+
isKeySorting
|
|
43
|
+
} = _ref;
|
|
39
44
|
let newItems = lodash.cloneDeep(data);
|
|
40
45
|
const {
|
|
41
46
|
isBefore,
|
|
@@ -130,13 +135,14 @@ const useDnDHelpers = () => {
|
|
|
130
135
|
// at the top/center/bottom of an element to choose where to move the element
|
|
131
136
|
// requested in the specs
|
|
132
137
|
|
|
133
|
-
const onMouseDragOverItem = React.useCallback(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
const onMouseDragOverItem = React.useCallback(_ref2 => {
|
|
139
|
+
let {
|
|
140
|
+
event,
|
|
141
|
+
item,
|
|
142
|
+
itemIndex,
|
|
143
|
+
setIsDraggingOverThis,
|
|
144
|
+
openFolderOnHoverTimeout
|
|
145
|
+
} = _ref2;
|
|
140
146
|
const {
|
|
141
147
|
node
|
|
142
148
|
} = item;
|
|
@@ -7,9 +7,10 @@ var React = require('react');
|
|
|
7
7
|
var treeHelpers = require('./tree-helpers.js');
|
|
8
8
|
var groupExpandsHelpers = require('./group-expands-helpers.js');
|
|
9
9
|
|
|
10
|
-
const useInstanceRefActions = ({
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
const useInstanceRefActions = (_ref, ctx) => {
|
|
11
|
+
let {
|
|
12
|
+
actions
|
|
13
|
+
} = _ref;
|
|
13
14
|
const {
|
|
14
15
|
props: {
|
|
15
16
|
onItemFocus
|
|
@@ -44,19 +45,21 @@ const useInstanceRefActions = ({
|
|
|
44
45
|
setPromise(p);
|
|
45
46
|
return p;
|
|
46
47
|
}, [promises, treeRoot, triggerTreeRerender, setLatestToggledItem]);
|
|
47
|
-
actions.scrollTo = React.useCallback((indx
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
actions.scrollTo = React.useCallback(function (indx) {
|
|
49
|
+
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
50
|
+
align: 'start'
|
|
51
|
+
};
|
|
50
52
|
if (scrollToIndex) scrollToIndex(indx, opts);
|
|
51
53
|
}, [scrollToIndex]);
|
|
52
54
|
actions.setSelectedItemByVirtualIndex = React.useCallback(index => {
|
|
53
55
|
const itemByIndex = visibleItems[index];
|
|
54
56
|
setSelectedItem(itemByIndex);
|
|
55
57
|
}, [visibleItems, setSelectedItem]);
|
|
56
|
-
actions.setFocusedItemByVirtualIndex = React.useCallback((index
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
actions.setFocusedItemByVirtualIndex = React.useCallback(function (index) {
|
|
59
|
+
let opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
60
|
+
align: 'start',
|
|
61
|
+
withScroll: false
|
|
62
|
+
};
|
|
60
63
|
const itemByIndex = visibleItems[index];
|
|
61
64
|
const onItemFocusParams = {
|
|
62
65
|
itemIndex: itemByIndex.virtualIndex,
|
package/cjs/utils/useTree.js
CHANGED
|
@@ -4,6 +4,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
6
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
11
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
7
12
|
var React = require('react');
|
|
8
13
|
var TreeModel = require('tree-model');
|
|
9
14
|
var lodash = require('lodash');
|
package/esm/TreeView.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
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';
|
|
1
6
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
7
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
3
8
|
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
@@ -1,3 +1,8 @@
|
|
|
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';
|
|
1
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
7
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
3
8
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
2
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
3
3
|
import 'core-js/modules/esnext.map.delete-all.js';
|
|
4
|
+
import 'core-js/modules/esnext.map.emplace.js';
|
|
4
5
|
import 'core-js/modules/esnext.map.every.js';
|
|
5
6
|
import 'core-js/modules/esnext.map.filter.js';
|
|
6
7
|
import 'core-js/modules/esnext.map.find.js';
|
|
@@ -14,7 +15,12 @@ import 'core-js/modules/esnext.map.reduce.js';
|
|
|
14
15
|
import 'core-js/modules/esnext.map.some.js';
|
|
15
16
|
import 'core-js/modules/esnext.map.update.js';
|
|
16
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';
|
|
17
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';
|
|
18
24
|
import 'react';
|
|
19
25
|
import { render } from '@testing-library/react';
|
|
20
26
|
import { treeItemBlockName } from '../renderers.js';
|
|
@@ -41,7 +47,9 @@ const treeItemsToMap = items => {
|
|
|
41
47
|
* @param key
|
|
42
48
|
*/
|
|
43
49
|
|
|
44
|
-
function getTreeItemsFromRender(_ref
|
|
50
|
+
function getTreeItemsFromRender(_ref) {
|
|
51
|
+
let key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : treeItemBlockName;
|
|
52
|
+
|
|
45
53
|
let {
|
|
46
54
|
data,
|
|
47
55
|
plugins
|
|
@@ -1,7 +1,12 @@
|
|
|
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';
|
|
1
6
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
2
7
|
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
3
8
|
import { useState, useCallback, useMemo } from 'react';
|
|
4
|
-
import { isEqual } from '@elliemae/ds-utilities
|
|
9
|
+
import { isEqual } from '@elliemae/ds-utilities';
|
|
5
10
|
import createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';
|
|
6
11
|
import DraggableItem from './renderers/DraggableItem.js';
|
|
7
12
|
import DroppableList from './renderers/DroppableList.js';
|
|
@@ -22,12 +27,13 @@ const TreeDndPlugin = createInstancePlugin('tree-dnd', {
|
|
|
22
27
|
|
|
23
28
|
const [draggedRecord, setDraggedRecord] = useState(null); // eslint-disable-next-line react-hooks/rules-of-hooks
|
|
24
29
|
|
|
25
|
-
const changeRecordsPosition = useCallback(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
30
|
+
const changeRecordsPosition = useCallback(_ref => {
|
|
31
|
+
let {
|
|
32
|
+
sourceRecord,
|
|
33
|
+
targetRecord,
|
|
34
|
+
combineWith,
|
|
35
|
+
down
|
|
36
|
+
} = _ref;
|
|
31
37
|
let nextTreeData;
|
|
32
38
|
const sourceTreePosition = getTreePosition(sourceRecord.path);
|
|
33
39
|
let targetTreePosition = {};
|
|
@@ -1,10 +1,15 @@
|
|
|
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';
|
|
1
6
|
import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
2
7
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
3
8
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
4
9
|
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
5
10
|
import 'react';
|
|
6
11
|
import { Draggable } from 'react-beautiful-dnd';
|
|
7
|
-
import GripperVertical from '@elliemae/ds-icons
|
|
12
|
+
import { GripperVertical } from '@elliemae/ds-icons';
|
|
8
13
|
import { getDraggableProps } from '../utils.js';
|
|
9
14
|
import { jsx } from 'react/jsx-runtime';
|
|
10
15
|
|
|
@@ -2,11 +2,15 @@ import _jsx from '@babel/runtime/helpers/esm/jsx';
|
|
|
2
2
|
import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
|
|
3
3
|
import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
|
|
4
4
|
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
5
|
+
import 'core-js/modules/esnext.async-iterator.filter.js';
|
|
6
|
+
import 'core-js/modules/esnext.iterator.constructor.js';
|
|
7
|
+
import 'core-js/modules/esnext.iterator.filter.js';
|
|
8
|
+
import 'core-js/modules/esnext.async-iterator.for-each.js';
|
|
9
|
+
import 'core-js/modules/esnext.iterator.for-each.js';
|
|
5
10
|
import { useContext, useState, useRef, useCallback, createElement } from 'react';
|
|
6
11
|
import { DragDropContext, Droppable } from 'react-beautiful-dnd';
|
|
7
|
-
import { cx } from '@elliemae/ds-utilities
|
|
8
|
-
import GripperVertical from '@elliemae/ds-icons
|
|
9
|
-
import { mergeRefs } from '@elliemae/ds-utilities/system';
|
|
12
|
+
import { cx, mergeRefs } from '@elliemae/ds-utilities';
|
|
13
|
+
import { GripperVertical } from '@elliemae/ds-icons';
|
|
10
14
|
import FocusGroupContext from '@elliemae/ds-shared/FocusGroup/FocusGroupContext';
|
|
11
15
|
import { findItemById, findItemOnDocument } from '../../tree/utils.js';
|
|
12
16
|
import { getDraggableProps } from '../utils.js';
|
|
@@ -65,9 +69,10 @@ const DroppableList = (renderers, instance) => _ref => {
|
|
|
65
69
|
|
|
66
70
|
currTargetRef.current = destination || currTargetRef.current;
|
|
67
71
|
}, [records]);
|
|
68
|
-
const onDragStart = useCallback(
|
|
69
|
-
|
|
70
|
-
|
|
72
|
+
const onDragStart = useCallback(_ref2 => {
|
|
73
|
+
let {
|
|
74
|
+
source
|
|
75
|
+
} = _ref2;
|
|
71
76
|
preDragFocusedNode.current = document.activeElement; // when we move the currently focused item, preDragFocusedNode is the body of the doc
|
|
72
77
|
|
|
73
78
|
setFocusedItemWasDragged(preDragFocusedNode.current.tagName === 'BODY');
|
|
@@ -82,13 +87,14 @@ const DroppableList = (renderers, instance) => _ref => {
|
|
|
82
87
|
}, [records]);
|
|
83
88
|
const onDragEnd = useCallback( // eslint-disable-next-line complexity
|
|
84
89
|
// eslint-disable-next-line max-statements
|
|
85
|
-
|
|
86
|
-
destination,
|
|
87
|
-
source,
|
|
88
|
-
combine
|
|
89
|
-
}) => {
|
|
90
|
+
_ref3 => {
|
|
90
91
|
var _sourceRecord$parentN, _targetRecord$parentN;
|
|
91
92
|
|
|
93
|
+
let {
|
|
94
|
+
destination,
|
|
95
|
+
source,
|
|
96
|
+
combine
|
|
97
|
+
} = _ref3;
|
|
92
98
|
clearTimeout(expandTimerRef.current);
|
|
93
99
|
const sourceIndex = source.index;
|
|
94
100
|
const destinationIndex = destination && destination.index;
|