@elliemae/ds-shuttle 2.2.0-alpha.4 → 3.0.0-next.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/AnimationState.js +19 -46
- package/cjs/DSShuttle.js +219 -166
- package/cjs/SearchState.js +25 -44
- package/cjs/Shuttle.actions.js +98 -87
- package/cjs/ShuttleContainer.js +61 -56
- package/cjs/ShuttleImpl.js +206 -109
- package/cjs/ShuttleRenderer.js +135 -140
- package/cjs/ShuttleState.js +53 -57
- package/cjs/animation/animationConfig.js +56 -53
- package/cjs/classedComponents.js +69 -70
- package/cjs/components/LoadingIndicator.js +22 -49
- package/cjs/components/OverflowList.js +48 -50
- package/cjs/components/ShuttleBreadcrumb.js +40 -52
- package/cjs/components/ShuttleInfiniteScrollIndicator.js +37 -46
- package/cjs/components/ShuttleListItem/ActionButtons.js +51 -56
- package/cjs/components/ShuttleListItem/ShuttleListItem.js +80 -78
- package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +64 -78
- package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +56 -72
- package/cjs/components/ShuttleListPanel.js +26 -44
- package/cjs/components/ShuttleSearchBox.js +72 -61
- package/cjs/components/ShuttleSource.js +146 -150
- package/cjs/components/ShuttleTarget.js +100 -88
- package/cjs/components/VirtualizedItem.js +40 -45
- package/cjs/components/VirtualizedList.js +86 -81
- package/cjs/components/VirtualizedSortableList.js +40 -47
- package/cjs/helper.js +103 -69
- package/cjs/index.js +12 -38
- package/cjs/updateShuttleStateFromProps.js +69 -73
- package/cjs/utils.js +42 -40
- package/cjs/withProviders.js +27 -43
- package/esm/AnimationState.js +8 -12
- package/esm/DSShuttle.js +198 -126
- package/esm/SearchState.js +19 -15
- package/esm/Shuttle.actions.js +80 -63
- package/esm/ShuttleContainer.js +50 -34
- package/esm/ShuttleImpl.js +183 -78
- package/esm/ShuttleRenderer.js +128 -111
- package/esm/ShuttleState.js +53 -34
- package/esm/animation/animationConfig.js +52 -24
- package/esm/classedComponents.js +51 -43
- package/esm/components/LoadingIndicator.js +15 -20
- package/esm/components/OverflowList.js +41 -21
- package/esm/components/ShuttleBreadcrumb.js +33 -23
- package/esm/components/ShuttleInfiniteScrollIndicator.js +31 -18
- package/esm/components/ShuttleListItem/ActionButtons.js +39 -27
- package/esm/components/ShuttleListItem/ShuttleListItem.js +72 -50
- package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +52 -45
- package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +47 -42
- package/esm/components/ShuttleListPanel.js +19 -15
- package/esm/components/ShuttleSearchBox.js +66 -32
- package/esm/components/ShuttleSource.js +129 -125
- package/esm/components/ShuttleTarget.js +89 -68
- package/esm/components/VirtualizedItem.js +33 -15
- package/esm/components/VirtualizedList.js +75 -50
- package/esm/components/VirtualizedSortableList.js +32 -17
- package/esm/helper.js +67 -43
- package/esm/index.js +2 -9
- package/esm/updateShuttleStateFromProps.js +58 -39
- package/esm/utils.js +18 -12
- package/esm/withProviders.js +20 -14
- package/package.json +11 -11
- package/types/AnimationState.d.ts +2 -3
- package/types/DSShuttle.d.ts +1 -1
- package/types/SearchState.d.ts +2 -3
- package/types/ShuttleImpl.d.ts +2 -3
- package/types/ShuttleRenderer.d.ts +0 -1
- package/types/ShuttleState.d.ts +2 -3
- package/types/components/LoadingIndicator.d.ts +0 -1
- package/types/components/OverflowList.d.ts +0 -1
- package/types/components/ShuttleBreadcrumb.d.ts +0 -1
- package/types/components/ShuttleInfiniteScrollIndicator.d.ts +0 -1
- package/types/components/ShuttleListItem/ShuttleListItem.d.ts +0 -1
- package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +0 -1
- package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +0 -1
- package/types/components/ShuttleListPanel.d.ts +0 -1
- package/types/components/ShuttleSearchBox.d.ts +1 -3
- package/types/components/ShuttleSource.d.ts +0 -1
- package/types/components/ShuttleTarget.d.ts +0 -1
- package/types/components/VirtualizedItem.d.ts +0 -1
- package/types/components/VirtualizedList.d.ts +0 -1
- package/types/components/VirtualizedSortableList.d.ts +0 -1
- package/types/index.d.ts +1 -1
- package/types/updateShuttleStateFromProps.d.ts +1 -3
- package/types/withProviders.d.ts +0 -1
- package/cjs/AnimationState.js.map +0 -7
- package/cjs/DSShuttle.js.map +0 -7
- package/cjs/SearchState.js.map +0 -7
- package/cjs/Shuttle.actions.js.map +0 -7
- package/cjs/ShuttleContainer.js.map +0 -7
- package/cjs/ShuttleImpl.js.map +0 -7
- package/cjs/ShuttleRenderer.js.map +0 -7
- package/cjs/ShuttleState.js.map +0 -7
- package/cjs/animation/animationConfig.js.map +0 -7
- package/cjs/classedComponents.js.map +0 -7
- package/cjs/components/LoadingIndicator.js.map +0 -7
- package/cjs/components/OverflowList.js.map +0 -7
- package/cjs/components/ShuttleBreadcrumb.js.map +0 -7
- package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +0 -7
- package/cjs/components/ShuttleListItem/ActionButtons.js.map +0 -7
- package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +0 -7
- package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +0 -7
- package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +0 -7
- package/cjs/components/ShuttleListPanel.js.map +0 -7
- package/cjs/components/ShuttleSearchBox.js.map +0 -7
- package/cjs/components/ShuttleSource.js.map +0 -7
- package/cjs/components/ShuttleTarget.js.map +0 -7
- package/cjs/components/VirtualizedItem.js.map +0 -7
- package/cjs/components/VirtualizedList.js.map +0 -7
- package/cjs/components/VirtualizedSortableList.js.map +0 -7
- package/cjs/helper.js.map +0 -7
- package/cjs/index.js.map +0 -7
- package/cjs/tests/utils.js +0 -1218
- package/cjs/tests/utils.js.map +0 -7
- package/cjs/updateShuttleStateFromProps.js.map +0 -7
- package/cjs/utils.js.map +0 -7
- package/cjs/withProviders.js.map +0 -7
- package/esm/AnimationState.js.map +0 -7
- package/esm/DSShuttle.js.map +0 -7
- package/esm/SearchState.js.map +0 -7
- package/esm/Shuttle.actions.js.map +0 -7
- package/esm/ShuttleContainer.js.map +0 -7
- package/esm/ShuttleImpl.js.map +0 -7
- package/esm/ShuttleRenderer.js.map +0 -7
- package/esm/ShuttleState.js.map +0 -7
- package/esm/animation/animationConfig.js.map +0 -7
- package/esm/classedComponents.js.map +0 -7
- package/esm/components/LoadingIndicator.js.map +0 -7
- package/esm/components/OverflowList.js.map +0 -7
- package/esm/components/ShuttleBreadcrumb.js.map +0 -7
- package/esm/components/ShuttleInfiniteScrollIndicator.js.map +0 -7
- package/esm/components/ShuttleListItem/ActionButtons.js.map +0 -7
- package/esm/components/ShuttleListItem/ShuttleListItem.js.map +0 -7
- package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +0 -7
- package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +0 -7
- package/esm/components/ShuttleListPanel.js.map +0 -7
- package/esm/components/ShuttleSearchBox.js.map +0 -7
- package/esm/components/ShuttleSource.js.map +0 -7
- package/esm/components/ShuttleTarget.js.map +0 -7
- package/esm/components/VirtualizedItem.js.map +0 -7
- package/esm/components/VirtualizedList.js.map +0 -7
- package/esm/components/VirtualizedSortableList.js.map +0 -7
- package/esm/helper.js.map +0 -7
- package/esm/index.js.map +0 -7
- package/esm/tests/utils.js +0 -1189
- package/esm/tests/utils.js.map +0 -7
- package/esm/updateShuttleStateFromProps.js.map +0 -7
- package/esm/utils.js.map +0 -7
- package/esm/withProviders.js.map +0 -7
package/cjs/helper.js
CHANGED
|
@@ -1,83 +1,117 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.some.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.some.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
13
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
14
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
15
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
16
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
17
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
18
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
19
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
20
|
+
var tree = require('treetabular');
|
|
21
|
+
|
|
22
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
23
|
+
|
|
24
|
+
function _interopNamespace(e) {
|
|
25
|
+
if (e && e.__esModule) return e;
|
|
26
|
+
var n = Object.create(null);
|
|
27
|
+
if (e) {
|
|
28
|
+
Object.keys(e).forEach(function (k) {
|
|
29
|
+
if (k !== 'default') {
|
|
30
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
31
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
32
|
+
enumerable: true,
|
|
33
|
+
get: function () { return e[k]; }
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
});
|
|
17
37
|
}
|
|
18
|
-
|
|
38
|
+
n["default"] = e;
|
|
39
|
+
return Object.freeze(n);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
43
|
+
var tree__namespace = /*#__PURE__*/_interopNamespace(tree);
|
|
44
|
+
|
|
45
|
+
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; }
|
|
46
|
+
|
|
47
|
+
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; }
|
|
48
|
+
const getHierarchyTypeName = dest => !dest ? 'hierarchy' : 'hierarchyDest';
|
|
49
|
+
const checkHasChildren = (list, currentItem) => list.some(item => currentItem.id === item.parent);
|
|
50
|
+
const getActiveIdFromHierarchy = function () {
|
|
51
|
+
let hierarchy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
52
|
+
return hierarchy[hierarchy.length - 1] || {};
|
|
19
53
|
};
|
|
20
|
-
|
|
21
|
-
|
|
54
|
+
const filterItemsByHierarchy = function (list, hierarchyId) {
|
|
55
|
+
let parentField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'parent';
|
|
56
|
+
return list.filter(item => item[parentField] === hierarchyId);
|
|
22
57
|
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var helper_exports = {};
|
|
29
|
-
__export(helper_exports, {
|
|
30
|
-
checkHasChildren: () => checkHasChildren,
|
|
31
|
-
filterBySearch: () => filterBySearch,
|
|
32
|
-
filterItemsByHierarchy: () => filterItemsByHierarchy,
|
|
33
|
-
filterMovedItems: () => filterMovedItems,
|
|
34
|
-
getActiveIdFromHierarchy: () => getActiveIdFromHierarchy,
|
|
35
|
-
getChildrenFromParent: () => getChildrenFromParent,
|
|
36
|
-
getHierarchyTypeName: () => getHierarchyTypeName,
|
|
37
|
-
getItemsById: () => getItemsById,
|
|
38
|
-
isMovable: () => isMovable,
|
|
39
|
-
moveItems: () => moveItems,
|
|
40
|
-
pipe: () => pipe,
|
|
41
|
-
prepareItems: () => prepareItems,
|
|
42
|
-
toggleInObject: () => toggleInObject
|
|
58
|
+
const getItemsById = (ids, list) => ids.reduce((acc, id) => acc.concat(list.find(item => String(item.id) === String(id))), []).filter(item => item);
|
|
59
|
+
const toggleInObject = (obj, key, value) => obj[key] ? dsUtilities.omit(obj, [key]) : _objectSpread(_objectSpread({}, obj), {}, {
|
|
60
|
+
[key]: value
|
|
43
61
|
});
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
items.splice(newIndex, 0, sourceItem);
|
|
59
|
-
return items;
|
|
62
|
+
const isMovable = item => !item.forceNotMovable && (item.hasChildren && item.isMoveableContainer || !item.hasChildren); // utility to execute all specified actions in sequence
|
|
63
|
+
|
|
64
|
+
const pipe = actions => (initState, props) => actions.reduce((prevState, action) => action(prevState, props), initState);
|
|
65
|
+
const moveItems = _ref => {
|
|
66
|
+
let {
|
|
67
|
+
oldIndex,
|
|
68
|
+
newIndex
|
|
69
|
+
} = _ref;
|
|
70
|
+
return items => {
|
|
71
|
+
const sourceItem = items[oldIndex];
|
|
72
|
+
items.splice(oldIndex, 1);
|
|
73
|
+
items.splice(newIndex, 0, sourceItem);
|
|
74
|
+
return items;
|
|
75
|
+
};
|
|
60
76
|
};
|
|
61
|
-
const prepareItems =
|
|
62
|
-
|
|
63
|
-
hasChildren: checkHasChildren(items2, item)
|
|
77
|
+
const prepareItems = items => dsUtilities.compose(tree__namespace.fixOrder(), items => items.map(item => _objectSpread(_objectSpread({}, item), {}, {
|
|
78
|
+
hasChildren: checkHasChildren(items, item)
|
|
64
79
|
})))(items);
|
|
65
80
|
const defaultOptions = {
|
|
66
|
-
parentField:
|
|
67
|
-
idField:
|
|
68
|
-
op:
|
|
81
|
+
parentField: 'parent',
|
|
82
|
+
idField: 'id',
|
|
83
|
+
op: hasMoved => !hasMoved
|
|
69
84
|
};
|
|
70
85
|
function getChildrenFromParent(parentId, options) {
|
|
71
|
-
const {
|
|
72
|
-
|
|
86
|
+
const {
|
|
87
|
+
parentField
|
|
88
|
+
} = _objectSpread(_objectSpread({}, defaultOptions), options);
|
|
89
|
+
|
|
90
|
+
return items => items.filter(item => item[parentField] === parentId);
|
|
73
91
|
}
|
|
74
92
|
function filterMovedItems(movedItems, options) {
|
|
75
|
-
const {
|
|
76
|
-
|
|
77
|
-
|
|
93
|
+
const {
|
|
94
|
+
idField,
|
|
95
|
+
op: filterOp
|
|
96
|
+
} = _objectSpread(_objectSpread({}, defaultOptions), options);
|
|
97
|
+
|
|
98
|
+
const movedItemsHash = dsUtilities.hashArray(movedItems, idField);
|
|
99
|
+
return items => items.filter(item => filterOp(!!movedItemsHash[item[idField]]));
|
|
78
100
|
}
|
|
79
101
|
function filterBySearch(term, searching) {
|
|
80
|
-
return
|
|
102
|
+
return items => searching ? items.filter(item => item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1) : items;
|
|
81
103
|
}
|
|
82
|
-
|
|
83
|
-
|
|
104
|
+
|
|
105
|
+
exports.checkHasChildren = checkHasChildren;
|
|
106
|
+
exports.filterBySearch = filterBySearch;
|
|
107
|
+
exports.filterItemsByHierarchy = filterItemsByHierarchy;
|
|
108
|
+
exports.filterMovedItems = filterMovedItems;
|
|
109
|
+
exports.getActiveIdFromHierarchy = getActiveIdFromHierarchy;
|
|
110
|
+
exports.getChildrenFromParent = getChildrenFromParent;
|
|
111
|
+
exports.getHierarchyTypeName = getHierarchyTypeName;
|
|
112
|
+
exports.getItemsById = getItemsById;
|
|
113
|
+
exports.isMovable = isMovable;
|
|
114
|
+
exports.moveItems = moveItems;
|
|
115
|
+
exports.pipe = pipe;
|
|
116
|
+
exports.prepareItems = prepareItems;
|
|
117
|
+
exports.toggleInObject = toggleInObject;
|
package/cjs/index.js
CHANGED
|
@@ -1,38 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
-
for (let key of __getOwnPropNames(module2))
|
|
15
|
-
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
-
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
-
}
|
|
18
|
-
return target;
|
|
19
|
-
};
|
|
20
|
-
var __toESM = (module2, isNodeMode) => {
|
|
21
|
-
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
-
};
|
|
23
|
-
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
-
return (module2, temp) => {
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var src_exports = {};
|
|
29
|
-
__export(src_exports, {
|
|
30
|
-
DSShuttle: () => import_DSShuttle.DSShuttle,
|
|
31
|
-
DSShuttleWithSchema: () => import_DSShuttle.DSShuttleWithSchema,
|
|
32
|
-
default: () => import_DSShuttle.default,
|
|
33
|
-
utils: () => import_DSShuttle.utils
|
|
34
|
-
});
|
|
35
|
-
var React = __toESM(require("react"));
|
|
36
|
-
var import_DSShuttle = require("./DSShuttle");
|
|
37
|
-
module.exports = __toCommonJS(src_exports);
|
|
38
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var DSShuttle = require('./DSShuttle.js');
|
|
6
|
+
var utils = require('./utils.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
exports.DSShuttleWithSchema = DSShuttle.DSShuttleWithSchema;
|
|
11
|
+
exports["default"] = DSShuttle["default"];
|
|
12
|
+
exports.utils = utils;
|
|
@@ -1,76 +1,72 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
28
|
-
var updateShuttleStateFromProps_exports = {};
|
|
29
|
-
__export(updateShuttleStateFromProps_exports, {
|
|
30
|
-
default: () => updateShuttleStateFromProps_default,
|
|
31
|
-
updateShuttleStateFromProps: () => updateShuttleStateFromProps
|
|
32
|
-
});
|
|
33
|
-
var React = __toESM(require("react"));
|
|
34
|
-
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
35
|
-
var import_helper = require("./helper");
|
|
36
|
-
var import_Shuttle = require("./Shuttle.actions");
|
|
37
|
-
const mergeToPrevState = (prevState, nextState) => ({
|
|
38
|
-
...prevState,
|
|
39
|
-
...nextState,
|
|
40
|
-
prevProps: {
|
|
41
|
-
...prevState.prevProps,
|
|
42
|
-
...nextState.prevProps
|
|
43
|
-
}
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
require('core-js/modules/esnext.async-iterator.map.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.map.js');
|
|
6
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
7
|
+
require('core-js/modules/esnext.async-iterator.find.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
9
|
+
require('core-js/modules/esnext.iterator.find.js');
|
|
10
|
+
require('core-js/modules/esnext.async-iterator.filter.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');
|
|
14
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
15
|
+
var helper = require('./helper.js');
|
|
16
|
+
var Shuttle_actions = require('./Shuttle.actions.js');
|
|
17
|
+
|
|
18
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
19
|
+
|
|
20
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
21
|
+
|
|
22
|
+
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; }
|
|
23
|
+
|
|
24
|
+
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; }
|
|
25
|
+
|
|
26
|
+
const mergeToPrevState = (prevState, nextState) => _objectSpread(_objectSpread(_objectSpread({}, prevState), nextState), {}, {
|
|
27
|
+
prevProps: _objectSpread(_objectSpread({}, prevState.prevProps), nextState.prevProps)
|
|
44
28
|
});
|
|
29
|
+
|
|
45
30
|
function compareSelectedItems(nextProps, prevProps) {
|
|
46
|
-
const {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
31
|
+
const {
|
|
32
|
+
selectedItems,
|
|
33
|
+
idField
|
|
34
|
+
} = nextProps;
|
|
35
|
+
return nextState => {
|
|
36
|
+
if (dsUtilities.isEqual(selectedItems, prevProps.selectedItems)) return nextState; // if we are using nonSelectedItems skip this legacy logic and paint just what's passed
|
|
37
|
+
// to nonSelectedItems (source) and selectedItems (target)
|
|
38
|
+
// TODO make controlledV2 the default behavior for controlled shuttle
|
|
39
|
+
|
|
40
|
+
if (nextProps.nonSelectedItems) return nextState;
|
|
41
|
+
const {
|
|
42
|
+
preparedItems
|
|
43
|
+
} = nextState;
|
|
44
|
+
const prevSelectedItemsHash = dsUtilities.hashArray(prevProps.selectedItems || []);
|
|
45
|
+
const itemsToMove = helper.getItemsById(selectedItems, preparedItems);
|
|
46
|
+
const actions = itemsToMove.map(item => prevSelectedItemsHash[item[idField]] ? Shuttle_actions.addToTarget(item, nextState.targetItems) : Shuttle_actions.addToTarget(item));
|
|
47
|
+
return mergeToPrevState(nextState, _objectSpread(_objectSpread({}, helper.pipe([Shuttle_actions.resetMovedItems(), ...actions])(nextState, nextProps)), {}, {
|
|
48
|
+
prevProps: _objectSpread(_objectSpread({}, nextState.prevProps), {}, {
|
|
60
49
|
selectedItems
|
|
61
|
-
}
|
|
62
|
-
});
|
|
50
|
+
})
|
|
51
|
+
}));
|
|
63
52
|
};
|
|
64
53
|
}
|
|
54
|
+
|
|
65
55
|
function compareItems(nextProps, prevProps) {
|
|
66
|
-
const {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
56
|
+
const {
|
|
57
|
+
items
|
|
58
|
+
} = nextProps;
|
|
59
|
+
return nextState => {
|
|
60
|
+
const preparedItems = helper.prepareItems(items);
|
|
61
|
+
const isControlledV2 = nextProps.nonSelectedItems; // TODO make controlledV2 the default behavior for controlled shuttle
|
|
62
|
+
|
|
70
63
|
if (isControlledV2) {
|
|
71
|
-
const targetItems = nextProps.selectedItems.map(
|
|
64
|
+
const targetItems = nextProps.selectedItems.map(id => preparedItems.find(it => it.id === id));
|
|
72
65
|
return mergeToPrevState(nextState, {
|
|
73
66
|
preparedItems,
|
|
67
|
+
// PUI-4462 on async load and items change, the shuttle loads
|
|
68
|
+
// all children from currently selected targetItems from items prop
|
|
69
|
+
// (items prop update)
|
|
74
70
|
targetItems,
|
|
75
71
|
movedItems: targetItems,
|
|
76
72
|
prevProps: {
|
|
@@ -78,8 +74,8 @@ function compareItems(nextProps, prevProps) {
|
|
|
78
74
|
}
|
|
79
75
|
});
|
|
80
76
|
}
|
|
81
|
-
|
|
82
|
-
|
|
77
|
+
|
|
78
|
+
if (dsUtilities.isEqual(items, prevProps.items)) return nextState;
|
|
83
79
|
return mergeToPrevState(nextState, {
|
|
84
80
|
preparedItems,
|
|
85
81
|
prevProps: {
|
|
@@ -88,11 +84,11 @@ function compareItems(nextProps, prevProps) {
|
|
|
88
84
|
});
|
|
89
85
|
};
|
|
90
86
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
const
|
|
94
|
-
|
|
87
|
+
|
|
88
|
+
function updateShuttleStateFromProps (nextProps, prevState) {
|
|
89
|
+
const stateReducers = [compareSelectedItems, compareItems].map(fn => fn(nextProps, prevState.prevProps));
|
|
90
|
+
const nextState = dsUtilities.compose(...stateReducers)(prevState);
|
|
91
|
+
return !dsUtilities.isEqual(nextState, prevState) ? nextState : null;
|
|
95
92
|
}
|
|
96
|
-
|
|
97
|
-
module.exports =
|
|
98
|
-
//# sourceMappingURL=updateShuttleStateFromProps.js.map
|
|
93
|
+
|
|
94
|
+
module.exports = updateShuttleStateFromProps;
|
package/cjs/utils.js
CHANGED
|
@@ -1,41 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
9
|
+
var tree = require('treetabular');
|
|
10
|
+
var dsUtilities = require('@elliemae/ds-utilities');
|
|
11
|
+
var helper = require('./helper.js');
|
|
12
|
+
|
|
13
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
|
+
|
|
15
|
+
function _interopNamespace(e) {
|
|
16
|
+
if (e && e.__esModule) return e;
|
|
17
|
+
var n = Object.create(null);
|
|
18
|
+
if (e) {
|
|
19
|
+
Object.keys(e).forEach(function (k) {
|
|
20
|
+
if (k !== 'default') {
|
|
21
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
22
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
23
|
+
enumerable: true,
|
|
24
|
+
get: function () { return e[k]; }
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
});
|
|
17
28
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
})(
|
|
28
|
-
var
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var tree = __toESM(require("treetabular"));
|
|
34
|
-
var import_ds_utilities = require("@elliemae/ds-utilities");
|
|
35
|
-
var import_helper = require("./helper");
|
|
36
|
-
var utils_default = {
|
|
37
|
-
prepareItems: (items, options) => (0, import_ds_utilities.compose)(tree.fixOrder(options), import_helper.prepareItems)(items),
|
|
38
|
-
...tree
|
|
39
|
-
};
|
|
40
|
-
module.exports = __toCommonJS(utils_exports);
|
|
41
|
-
//# sourceMappingURL=utils.js.map
|
|
29
|
+
n["default"] = e;
|
|
30
|
+
return Object.freeze(n);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
34
|
+
var tree__namespace = /*#__PURE__*/_interopNamespace(tree);
|
|
35
|
+
|
|
36
|
+
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; }
|
|
37
|
+
|
|
38
|
+
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; }
|
|
39
|
+
var utils = _objectSpread({
|
|
40
|
+
prepareItems: (items, options) => dsUtilities.compose(tree__namespace.fixOrder(options), helper.prepareItems)(items)
|
|
41
|
+
}, tree__namespace);
|
|
42
|
+
|
|
43
|
+
module.exports = utils;
|
package/cjs/withProviders.js
CHANGED
|
@@ -1,45 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
-
};
|
|
27
|
-
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
-
var withProviders_exports = {};
|
|
29
|
-
__export(withProviders_exports, {
|
|
30
|
-
default: () => withProviders_default,
|
|
31
|
-
withProviders: () => withProviders
|
|
32
|
-
});
|
|
33
|
-
var React = __toESM(require("react"));
|
|
34
|
-
var import_react = __toESM(require("react"));
|
|
35
|
-
var import_AnimationState = require("./AnimationState");
|
|
36
|
-
var import_SearchState = require("./SearchState");
|
|
37
|
-
var import_ShuttleState = require("./ShuttleState");
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
4
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
5
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
8
|
+
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
9
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
10
|
+
require('react');
|
|
11
|
+
var AnimationState = require('./AnimationState.js');
|
|
12
|
+
var SearchState = require('./SearchState.js');
|
|
13
|
+
var ShuttleState = require('./ShuttleState.js');
|
|
14
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
15
|
+
|
|
16
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
|
+
|
|
18
|
+
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
19
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
20
|
+
|
|
21
|
+
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; }
|
|
22
|
+
|
|
23
|
+
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; }
|
|
24
|
+
|
|
38
25
|
function withProviders(Component) {
|
|
39
|
-
return
|
|
40
|
-
...props
|
|
41
|
-
}))));
|
|
26
|
+
return props => /*#__PURE__*/_jsx__default["default"](ShuttleState.Provider, {}, void 0, /*#__PURE__*/_jsx__default["default"](AnimationState.Provider, {}, void 0, /*#__PURE__*/_jsx__default["default"](SearchState.Provider, {}, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)))));
|
|
42
27
|
}
|
|
43
|
-
|
|
44
|
-
module.exports =
|
|
45
|
-
//# sourceMappingURL=withProviders.js.map
|
|
28
|
+
|
|
29
|
+
module.exports = withProviders;
|
package/esm/AnimationState.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import createContainer from
|
|
1
|
+
import 'core-js/modules/web.dom-collections.iterator.js';
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
|
+
import createContainer from 'constate';
|
|
4
|
+
|
|
4
5
|
function useShuttleAnimationState() {
|
|
5
6
|
const [animationState, setAnimationState] = useState({
|
|
6
7
|
isMoving: false,
|
|
@@ -35,12 +36,7 @@ function useShuttleAnimationState() {
|
|
|
35
36
|
reset
|
|
36
37
|
};
|
|
37
38
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
export {
|
|
43
|
-
AnimationState,
|
|
44
|
-
AnimationState_default as default
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=AnimationState.js.map
|
|
39
|
+
|
|
40
|
+
var AnimationContext = createContainer(useShuttleAnimationState, value => [value.state]);
|
|
41
|
+
|
|
42
|
+
export { AnimationContext as default };
|