@elliemae/ds-shuttle 2.2.0 → 2.3.0-alpha.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.
Files changed (148) hide show
  1. package/cjs/AnimationState.js +46 -19
  2. package/cjs/AnimationState.js.map +7 -0
  3. package/cjs/DSShuttle.js +166 -219
  4. package/cjs/DSShuttle.js.map +7 -0
  5. package/cjs/SearchState.js +44 -25
  6. package/cjs/SearchState.js.map +7 -0
  7. package/cjs/Shuttle.actions.js +87 -98
  8. package/cjs/Shuttle.actions.js.map +7 -0
  9. package/cjs/ShuttleContainer.js +56 -61
  10. package/cjs/ShuttleContainer.js.map +7 -0
  11. package/cjs/ShuttleImpl.js +109 -206
  12. package/cjs/ShuttleImpl.js.map +7 -0
  13. package/cjs/ShuttleRenderer.js +140 -135
  14. package/cjs/ShuttleRenderer.js.map +7 -0
  15. package/cjs/ShuttleState.js +57 -53
  16. package/cjs/ShuttleState.js.map +7 -0
  17. package/cjs/animation/animationConfig.js +53 -56
  18. package/cjs/animation/animationConfig.js.map +7 -0
  19. package/cjs/classedComponents.js +70 -69
  20. package/cjs/classedComponents.js.map +7 -0
  21. package/cjs/components/LoadingIndicator.js +49 -22
  22. package/cjs/components/LoadingIndicator.js.map +7 -0
  23. package/cjs/components/OverflowList.js +50 -48
  24. package/cjs/components/OverflowList.js.map +7 -0
  25. package/cjs/components/ShuttleBreadcrumb.js +52 -40
  26. package/cjs/components/ShuttleBreadcrumb.js.map +7 -0
  27. package/cjs/components/ShuttleInfiniteScrollIndicator.js +46 -37
  28. package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  29. package/cjs/components/ShuttleListItem/ActionButtons.js +56 -51
  30. package/cjs/components/ShuttleListItem/ActionButtons.js.map +7 -0
  31. package/cjs/components/ShuttleListItem/ShuttleListItem.js +78 -80
  32. package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  33. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +78 -64
  34. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  35. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +72 -56
  36. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  37. package/cjs/components/ShuttleListPanel.js +44 -26
  38. package/cjs/components/ShuttleListPanel.js.map +7 -0
  39. package/cjs/components/ShuttleSearchBox.js +61 -72
  40. package/cjs/components/ShuttleSearchBox.js.map +7 -0
  41. package/cjs/components/ShuttleSource.js +150 -146
  42. package/cjs/components/ShuttleSource.js.map +7 -0
  43. package/cjs/components/ShuttleTarget.js +88 -100
  44. package/cjs/components/ShuttleTarget.js.map +7 -0
  45. package/cjs/components/VirtualizedItem.js +45 -40
  46. package/cjs/components/VirtualizedItem.js.map +7 -0
  47. package/cjs/components/VirtualizedList.js +81 -86
  48. package/cjs/components/VirtualizedList.js.map +7 -0
  49. package/cjs/components/VirtualizedSortableList.js +47 -40
  50. package/cjs/components/VirtualizedSortableList.js.map +7 -0
  51. package/cjs/helper.js +69 -103
  52. package/cjs/helper.js.map +7 -0
  53. package/cjs/index.js +38 -12
  54. package/cjs/index.js.map +7 -0
  55. package/cjs/tests/utils.js +1218 -0
  56. package/cjs/tests/utils.js.map +7 -0
  57. package/cjs/updateShuttleStateFromProps.js +73 -69
  58. package/cjs/updateShuttleStateFromProps.js.map +7 -0
  59. package/cjs/utils.js +40 -42
  60. package/cjs/utils.js.map +7 -0
  61. package/cjs/withProviders.js +43 -27
  62. package/cjs/withProviders.js.map +7 -0
  63. package/esm/AnimationState.js +12 -8
  64. package/esm/AnimationState.js.map +7 -0
  65. package/esm/DSShuttle.js +126 -198
  66. package/esm/DSShuttle.js.map +7 -0
  67. package/esm/SearchState.js +15 -19
  68. package/esm/SearchState.js.map +7 -0
  69. package/esm/Shuttle.actions.js +63 -80
  70. package/esm/Shuttle.actions.js.map +7 -0
  71. package/esm/ShuttleContainer.js +34 -50
  72. package/esm/ShuttleContainer.js.map +7 -0
  73. package/esm/ShuttleImpl.js +78 -183
  74. package/esm/ShuttleImpl.js.map +7 -0
  75. package/esm/ShuttleRenderer.js +111 -128
  76. package/esm/ShuttleRenderer.js.map +7 -0
  77. package/esm/ShuttleState.js +34 -53
  78. package/esm/ShuttleState.js.map +7 -0
  79. package/esm/animation/animationConfig.js +24 -52
  80. package/esm/animation/animationConfig.js.map +7 -0
  81. package/esm/classedComponents.js +43 -51
  82. package/esm/classedComponents.js.map +7 -0
  83. package/esm/components/LoadingIndicator.js +20 -15
  84. package/esm/components/LoadingIndicator.js.map +7 -0
  85. package/esm/components/OverflowList.js +21 -41
  86. package/esm/components/OverflowList.js.map +7 -0
  87. package/esm/components/ShuttleBreadcrumb.js +23 -33
  88. package/esm/components/ShuttleBreadcrumb.js.map +7 -0
  89. package/esm/components/ShuttleInfiniteScrollIndicator.js +18 -31
  90. package/esm/components/ShuttleInfiniteScrollIndicator.js.map +7 -0
  91. package/esm/components/ShuttleListItem/ActionButtons.js +27 -39
  92. package/esm/components/ShuttleListItem/ActionButtons.js.map +7 -0
  93. package/esm/components/ShuttleListItem/ShuttleListItem.js +50 -72
  94. package/esm/components/ShuttleListItem/ShuttleListItem.js.map +7 -0
  95. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +45 -52
  96. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +7 -0
  97. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +42 -47
  98. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +7 -0
  99. package/esm/components/ShuttleListPanel.js +15 -19
  100. package/esm/components/ShuttleListPanel.js.map +7 -0
  101. package/esm/components/ShuttleSearchBox.js +32 -66
  102. package/esm/components/ShuttleSearchBox.js.map +7 -0
  103. package/esm/components/ShuttleSource.js +125 -129
  104. package/esm/components/ShuttleSource.js.map +7 -0
  105. package/esm/components/ShuttleTarget.js +68 -89
  106. package/esm/components/ShuttleTarget.js.map +7 -0
  107. package/esm/components/VirtualizedItem.js +15 -33
  108. package/esm/components/VirtualizedItem.js.map +7 -0
  109. package/esm/components/VirtualizedList.js +50 -75
  110. package/esm/components/VirtualizedList.js.map +7 -0
  111. package/esm/components/VirtualizedSortableList.js +17 -32
  112. package/esm/components/VirtualizedSortableList.js.map +7 -0
  113. package/esm/helper.js +43 -67
  114. package/esm/helper.js.map +7 -0
  115. package/esm/index.js +9 -2
  116. package/esm/index.js.map +7 -0
  117. package/esm/tests/utils.js +1189 -0
  118. package/esm/tests/utils.js.map +7 -0
  119. package/esm/updateShuttleStateFromProps.js +39 -58
  120. package/esm/updateShuttleStateFromProps.js.map +7 -0
  121. package/esm/utils.js +12 -18
  122. package/esm/utils.js.map +7 -0
  123. package/esm/withProviders.js +14 -20
  124. package/esm/withProviders.js.map +7 -0
  125. package/package.json +11 -11
  126. package/types/AnimationState.d.ts +3 -2
  127. package/types/DSShuttle.d.ts +1 -1
  128. package/types/SearchState.d.ts +3 -2
  129. package/types/ShuttleImpl.d.ts +3 -2
  130. package/types/ShuttleRenderer.d.ts +1 -0
  131. package/types/ShuttleState.d.ts +3 -2
  132. package/types/components/LoadingIndicator.d.ts +1 -0
  133. package/types/components/OverflowList.d.ts +1 -0
  134. package/types/components/ShuttleBreadcrumb.d.ts +1 -0
  135. package/types/components/ShuttleInfiniteScrollIndicator.d.ts +1 -0
  136. package/types/components/ShuttleListItem/ShuttleListItem.d.ts +1 -0
  137. package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +1 -0
  138. package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +1 -0
  139. package/types/components/ShuttleListPanel.d.ts +1 -0
  140. package/types/components/ShuttleSearchBox.d.ts +3 -1
  141. package/types/components/ShuttleSource.d.ts +1 -0
  142. package/types/components/ShuttleTarget.d.ts +1 -0
  143. package/types/components/VirtualizedItem.d.ts +1 -0
  144. package/types/components/VirtualizedList.d.ts +1 -0
  145. package/types/components/VirtualizedSortableList.d.ts +1 -0
  146. package/types/index.d.ts +1 -1
  147. package/types/updateShuttleStateFromProps.d.ts +3 -1
  148. package/types/withProviders.d.ts +1 -0
@@ -1,43 +1,27 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
- import 'core-js/modules/esnext.async-iterator.filter.js';
4
- import 'core-js/modules/esnext.iterator.constructor.js';
5
- import 'core-js/modules/esnext.iterator.filter.js';
6
- import 'core-js/modules/esnext.async-iterator.for-each.js';
7
- import 'core-js/modules/esnext.iterator.for-each.js';
8
- import { useContext, useMemo } from 'react';
9
- import { compose, sortBy, uniqBy, values, isFunction } from '@elliemae/ds-utilities';
10
- import withProviders from './withProviders.js';
11
- import { filterItemsByHierarchy, getActiveIdFromHierarchy, prepareItems, getItemsById } from './helper.js';
12
- import SearchState from './SearchState.js';
13
- import useShuttleState from './ShuttleState.js';
14
-
15
- const _excluded = ["state"];
16
-
17
- 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; }
18
-
19
- 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; }
20
-
1
+ import * as React from "react";
2
+ import { useContext, useMemo } from "react";
3
+ import {
4
+ isFunction,
5
+ compose,
6
+ uniqBy,
7
+ values,
8
+ sortBy
9
+ } from "@elliemae/ds-utilities";
10
+ import { withProviders } from "./withProviders";
11
+ import {
12
+ prepareItems,
13
+ getActiveIdFromHierarchy,
14
+ filterItemsByHierarchy,
15
+ getItemsById
16
+ } from "./helper";
17
+ import { SearchState } from "./SearchState";
18
+ import { ShuttleState } from "./ShuttleState";
21
19
  function filterItemsByTerm(items, term) {
22
- return items.filter(item => item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1 || String(item.id).indexOf(String(term).toLowerCase()) !== -1);
20
+ return items.filter((item) => item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1 || String(item.id).indexOf(String(term).toLowerCase()) !== -1);
23
21
  }
24
-
25
- function ShuttleContainer(_ref) {
26
- let {
27
- items = [],
28
- children
29
- } = _ref;
30
-
31
- const _useContext = useContext(useShuttleState.Context),
32
- {
33
- state: shuttleState
34
- } = _useContext,
35
- handlers = _objectWithoutProperties(_useContext, _excluded);
36
-
37
- const {
38
- state: searchState
39
- } = useContext(SearchState.Context);
40
-
22
+ function ShuttleContainer({ items = [], children }) {
23
+ const { state: shuttleState, ...handlers } = useContext(ShuttleState.Context);
24
+ const { state: searchState } = useContext(SearchState.Context);
41
25
  const {
42
26
  movedItems,
43
27
  hierarchy,
@@ -51,12 +35,11 @@ function ShuttleContainer(_ref) {
51
35
  moveCheckedItems,
52
36
  moveItem,
53
37
  navigate
54
- } = _objectSpread(_objectSpread(_objectSpread({}, shuttleState), searchState), handlers);
55
-
56
- const sourceItems = useMemo(() => compose(items => items.filter(item => !movedItems[item.id]), items => searchTerm && searching ? filterItemsByTerm(items, searchTerm) : items, items => filterItemsByHierarchy(items, getActiveIdFromHierarchy(hierarchy).id), items => prepareItems(items))(items), [items, searchTerm, searching, hierarchy, movedItems]);
38
+ } = { ...shuttleState, ...searchState, ...handlers };
39
+ const sourceItems = useMemo(() => compose((items2) => items2.filter((item) => !movedItems[item.id]), (items2) => searchTerm && searching ? filterItemsByTerm(items2, searchTerm) : items2, (items2) => filterItemsByHierarchy(items2, getActiveIdFromHierarchy(hierarchy).id), (items2) => prepareItems(items2))(items), [items, searchTerm, searching, hierarchy, movedItems]);
57
40
  const targetItems = useMemo(() => {
58
41
  const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;
59
- return compose(items => sortBy(items, ['name']), items => hierarchyId ? filterItemsByHierarchy(items, hierarchyId).filter(item => !movedItems[item.id]) : uniqBy(values(movedItems), 'id'))(items);
42
+ return compose((items2) => sortBy(items2, ["name"]), (items2) => hierarchyId ? filterItemsByHierarchy(items2, hierarchyId).filter((item) => !movedItems[item.id]) : uniqBy(values(movedItems), "id"))(items);
60
43
  }, [items, searching, hierarchyDest, movedItems]);
61
44
  return isFunction(children) && children({
62
45
  checkedItems,
@@ -66,15 +49,16 @@ function ShuttleContainer(_ref) {
66
49
  onClearCheckedItems: resetCheckedItems,
67
50
  onClearMovedItems: resetMovedItems,
68
51
  onMoveCheckedItems: () => moveCheckedItems(getItemsById(checkedItems, items)),
69
- onMoveItemToSource: item => moveItem(item, false),
70
- onMoveItemToTarget: item => moveItem(item, true),
71
- onNavigateOnSourceTo: item => navigate(item, false),
72
- onNavigateOnTargetTo: item => navigate(item, true),
52
+ onMoveItemToSource: (item) => moveItem(item, false),
53
+ onMoveItemToTarget: (item) => moveItem(item, true),
54
+ onNavigateOnSourceTo: (item) => navigate(item, false),
55
+ onNavigateOnTargetTo: (item) => navigate(item, true),
73
56
  sourceItems,
74
57
  targetItems
75
58
  });
76
59
  }
77
-
78
- var ShuttleContainer$1 = withProviders(ShuttleContainer);
79
-
80
- export { ShuttleContainer$1 as default };
60
+ var ShuttleContainer_default = withProviders(ShuttleContainer);
61
+ export {
62
+ ShuttleContainer_default as default
63
+ };
64
+ //# sourceMappingURL=ShuttleContainer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/ShuttleContainer.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-shadow */\nimport { useContext, useMemo } from 'react';\nimport {\n isFunction,\n compose,\n uniqBy,\n values,\n sortBy,\n} from '@elliemae/ds-utilities';\nimport { withProviders } from './withProviders';\nimport {\n prepareItems,\n getActiveIdFromHierarchy,\n filterItemsByHierarchy,\n getItemsById,\n} from './helper';\nimport { SearchState } from './SearchState';\nimport { ShuttleState } from './ShuttleState';\n\nfunction filterItemsByTerm(items, term) {\n return items.filter(\n item =>\n item.name.toLowerCase().indexOf(String(term).toLowerCase()) !== -1 ||\n String(item.id).indexOf(String(term).toLowerCase()) !== -1,\n );\n}\n\nfunction ShuttleContainer({ items = [], children }) {\n const { state: shuttleState, ...handlers } = useContext(\n ShuttleState.Context,\n );\n const { state: searchState } = useContext(SearchState.Context);\n const {\n movedItems,\n hierarchy,\n hierarchyDest,\n checkedItems,\n searchTerm,\n searching,\n toggleItemSelection,\n resetCheckedItems,\n resetMovedItems,\n moveCheckedItems,\n moveItem,\n navigate,\n } = { ...shuttleState, ...searchState, ...handlers };\n\n const sourceItems = useMemo(\n () =>\n compose(\n items => items.filter(item => !movedItems[item.id]),\n items =>\n searchTerm && searching\n ? filterItemsByTerm(items, searchTerm)\n : items,\n items =>\n filterItemsByHierarchy(items, getActiveIdFromHierarchy(hierarchy).id),\n items => prepareItems(items),\n )(items),\n [items, searchTerm, searching, hierarchy, movedItems],\n );\n\n const targetItems = useMemo(() => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return compose(\n items => sortBy(items, ['name']),\n items =>\n hierarchyId\n ? filterItemsByHierarchy(items, hierarchyId).filter(\n item => !movedItems[item.id],\n )\n : uniqBy(values(movedItems), 'id'),\n )(items);\n }, [items, searching, hierarchyDest, movedItems]);\n\n return (\n isFunction(children) &&\n children({\n checkedItems,\n hierarchy,\n hierarchyDest,\n onCheckItem: toggleItemSelection,\n onClearCheckedItems: resetCheckedItems,\n onClearMovedItems: resetMovedItems,\n onMoveCheckedItems: () =>\n moveCheckedItems(getItemsById(checkedItems, items)),\n onMoveItemToSource: item => moveItem(item, false),\n onMoveItemToTarget: item => moveItem(item, true),\n onNavigateOnSourceTo: item => navigate(item, false),\n onNavigateOnTargetTo: item => navigate(item, true),\n sourceItems,\n targetItems,\n })\n );\n}\n\nexport default withProviders(ShuttleContainer);\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AACA;AAEA,2BAA2B,OAAO,MAAM;AACtC,SAAO,MAAM,OACX,UACE,KAAK,KAAK,cAAc,QAAQ,OAAO,MAAM,mBAAmB,MAChE,OAAO,KAAK,IAAI,QAAQ,OAAO,MAAM,mBAAmB;AAAA;AAI9D,0BAA0B,EAAE,QAAQ,IAAI,YAAY;AAClD,QAAM,EAAE,OAAO,iBAAiB,aAAa,WAC3C,aAAa;AAEf,QAAM,EAAE,OAAO,gBAAgB,WAAW,YAAY;AACtD,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE,KAAK,iBAAiB,gBAAgB;AAE1C,QAAM,cAAc,QAClB,MACE,QACE,YAAS,OAAM,OAAO,UAAQ,CAAC,WAAW,KAAK,MAC/C,YACE,cAAc,YACV,kBAAkB,QAAO,cACzB,QACN,YACE,uBAAuB,QAAO,yBAAyB,WAAW,KACpE,YAAS,aAAa,SACtB,QACJ,CAAC,OAAO,YAAY,WAAW,WAAW;AAG5C,QAAM,cAAc,QAAQ,MAAM;AAChC,UAAM,cAAc,yBAAyB,eAAe;AAC5D,WAAO,QACL,YAAS,OAAO,QAAO,CAAC,UACxB,YACE,cACI,uBAAuB,QAAO,aAAa,OACzC,UAAQ,CAAC,WAAW,KAAK,OAE3B,OAAO,OAAO,aAAa,OACjC;AAAA,KACD,CAAC,OAAO,WAAW,eAAe;AAErC,SACE,WAAW,aACX,SAAS;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa;AAAA,IACb,qBAAqB;AAAA,IACrB,mBAAmB;AAAA,IACnB,oBAAoB,MAClB,iBAAiB,aAAa,cAAc;AAAA,IAC9C,oBAAoB,UAAQ,SAAS,MAAM;AAAA,IAC3C,oBAAoB,UAAQ,SAAS,MAAM;AAAA,IAC3C,sBAAsB,UAAQ,SAAS,MAAM;AAAA,IAC7C,sBAAsB,UAAQ,SAAS,MAAM;AAAA,IAC7C;AAAA,IACA;AAAA;AAAA;AAKN,IAAO,2BAAQ,cAAc;",
6
+ "names": []
7
+ }
@@ -1,222 +1,132 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
3
- import 'core-js/modules/esnext.async-iterator.filter.js';
4
- import 'core-js/modules/esnext.iterator.constructor.js';
5
- import 'core-js/modules/esnext.iterator.filter.js';
6
- import 'core-js/modules/esnext.async-iterator.some.js';
7
- import 'core-js/modules/esnext.iterator.some.js';
8
- import 'core-js/modules/esnext.async-iterator.map.js';
9
- import 'core-js/modules/esnext.iterator.map.js';
10
- import 'core-js/modules/web.dom-collections.iterator.js';
11
- import 'core-js/modules/esnext.async-iterator.find.js';
12
- import 'core-js/modules/esnext.iterator.find.js';
13
- import 'core-js/modules/esnext.async-iterator.for-each.js';
14
- import 'core-js/modules/esnext.iterator.for-each.js';
15
- import { Component } from 'react';
16
- import { arrayMove, compose } from '@elliemae/ds-utilities';
17
- import withProviders from './withProviders.js';
18
- import { navigateTo, resetCheckedItems, resetMovedItems, addToTarget, removeFromTarget, toggleItemSelection } from './Shuttle.actions.js';
19
- import { pipe, getItemsById, getActiveIdFromHierarchy, filterBySearch, filterMovedItems, getChildrenFromParent } from './helper.js';
20
- import ShuttleRenderer from './ShuttleRenderer.js';
21
- import SearchState from './SearchState.js';
22
- import updateShuttleStateFromProps from './updateShuttleStateFromProps.js';
23
- import { jsx } from 'react/jsx-runtime';
24
-
25
- const _excluded = ["idField", "nonSelectedItems", "moreItemsLoading"];
26
-
27
- 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; }
28
-
29
- 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; }
30
-
1
+ import * as React from "react";
2
+ import React2, { Component } from "react";
3
+ import { compose, arrayMove } from "@elliemae/ds-utilities";
4
+ import { withProviders } from "./withProviders";
5
+ import {
6
+ addToTarget,
7
+ navigateTo,
8
+ resetCheckedItems,
9
+ resetMovedItems,
10
+ toggleItemSelection,
11
+ removeFromTarget
12
+ } from "./Shuttle.actions";
13
+ import {
14
+ getActiveIdFromHierarchy,
15
+ filterBySearch,
16
+ getItemsById,
17
+ pipe,
18
+ getChildrenFromParent,
19
+ filterMovedItems
20
+ } from "./helper";
21
+ import { ShuttleRenderer } from "./ShuttleRenderer";
22
+ import { SearchState } from "./SearchState";
23
+ import { updateShuttleStateFromProps } from "./updateShuttleStateFromProps";
31
24
  class ShuttleImpl extends Component {
32
25
  constructor(props) {
33
26
  super(props);
34
-
35
27
  this.getState = () => {
36
- const {
37
- movedItems
38
- } = this.state;
28
+ const { movedItems } = this.state;
39
29
  return Object.keys(movedItems);
40
30
  };
41
-
42
31
  this.state = {
43
32
  prevProps: {},
44
33
  preparedItems: [],
45
34
  checkedItems: [],
46
- // left breadcrumb
47
- hierarchy: [{
48
- name: props.sourceRootTitle,
49
- id: null
50
- }],
51
- // right breadcrumb
52
- hierarchyDest: [{
53
- name: props.targetRootTitle,
54
- id: null
55
- }],
35
+ hierarchy: [{ name: props.sourceRootTitle, id: null }],
36
+ hierarchyDest: [{ name: props.targetRootTitle, id: null }],
56
37
  movedItems: [],
57
38
  sourceItems: [],
58
39
  targetItems: []
59
40
  };
60
- this.toggleItemSelection = this.toggleItemSelection.bind(this);
61
- this.resetCheckedItems = this.resetCheckedItems.bind(this);
62
- this.resetMovedItems = this.resetMovedItems.bind(this);
63
41
  this.moveCheckedItems = this.moveCheckedItems.bind(this);
64
- this.handleTargetSortEnd = this.handleTargetSortEnd.bind(this);
42
+ this.resetMovedItems = this.resetMovedItems.bind(this);
65
43
  }
66
-
67
44
  static getDerivedStateFromProps(nextProps, prevState) {
68
45
  return updateShuttleStateFromProps(nextProps, prevState);
69
46
  }
70
-
71
47
  componentDidMount() {
72
- const {
73
- setGetStatus
74
- } = this.props;
48
+ const { setGetStatus } = this.props;
75
49
  setGetStatus(this.getState);
76
50
  }
77
-
78
51
  handleChange() {
79
- const {
80
- onChange
81
- } = this.props;
82
- const {
83
- movedItems
84
- } = this.state;
52
+ const { onChange } = this.props;
53
+ const { movedItems } = this.state;
85
54
  onChange(Object.keys(movedItems));
86
55
  }
87
-
88
56
  navigate(item, dest, direction) {
89
- const {
90
- onDrillDown,
91
- onDrillDownTarget
92
- } = this.props;
93
- if (!dest) onDrillDown(item, direction);
94
- if (dest) onDrillDownTarget(item, direction);
95
- const {
96
- reset: resetSearchState
97
- } = this.context;
57
+ const { onDrillDown, onDrillDownTarget } = this.props;
58
+ if (!dest)
59
+ onDrillDown(item, direction);
60
+ if (dest)
61
+ onDrillDownTarget(item, direction);
62
+ const { reset: resetSearchState } = this.context;
98
63
  resetSearchState();
99
64
  this.setState(pipe([navigateTo(item, dest), resetCheckedItems()]));
100
65
  }
101
-
102
66
  resetCheckedItems() {
103
67
  this.setState(resetCheckedItems());
104
68
  }
105
-
106
69
  resetMovedItems() {
107
- const {
108
- selectedItems,
109
- onRemoveAllFromTarget
110
- } = this.props;
111
-
70
+ const { selectedItems, onRemoveAllFromTarget } = this.props;
112
71
  if (!selectedItems) {
113
- this.setState(pipe([navigateTo({
114
- id: null
115
- }, true), resetMovedItems()]), () => {
72
+ this.setState(pipe([navigateTo({ id: null }, true), resetMovedItems()]), () => {
116
73
  this.handleChange();
117
74
  });
118
75
  } else {
119
- this.setState(pipe([navigateTo({
120
- id: null
121
- }, true)]));
76
+ this.setState(pipe([navigateTo({ id: null }, true)]));
122
77
  }
123
-
124
78
  onRemoveAllFromTarget();
125
79
  }
126
-
127
80
  addToTarget(item) {
128
- const {
129
- selectedItems,
130
- onAddToTarget
131
- } = this.props;
132
-
81
+ const { selectedItems, onAddToTarget } = this.props;
133
82
  if (!selectedItems) {
134
83
  this.setState(pipe([addToTarget(item), resetCheckedItems()]), () => {
135
84
  this.handleChange();
136
85
  });
137
86
  }
138
-
139
87
  onAddToTarget(item);
140
88
  }
141
-
142
89
  removeFromTarget(item) {
143
- const {
144
- selectedItems,
145
- onRemoveFromTarget
146
- } = this.props;
147
-
90
+ const { selectedItems, onRemoveFromTarget } = this.props;
148
91
  if (!selectedItems) {
149
92
  this.setState(pipe([removeFromTarget(item)]), () => {
150
93
  this.handleChange();
151
94
  });
152
95
  }
153
-
154
96
  onRemoveFromTarget(item);
155
97
  }
156
-
157
98
  toggleItemSelection(item) {
158
99
  this.setState(toggleItemSelection(item.id));
159
100
  }
160
-
161
101
  moveCheckedItems() {
162
- const {
163
- onAddCheckedItems,
164
- selectedItems,
165
- nonSelectedItems
166
- } = this.props;
167
- const {
168
- checkedItems,
169
- preparedItems
170
- } = this.state;
102
+ const { onAddCheckedItems, selectedItems, nonSelectedItems } = this.props;
103
+ const { checkedItems, preparedItems } = this.state;
171
104
  const isControlledV2 = !!selectedItems && !!nonSelectedItems;
172
- const checked = isControlledV2 ? nonSelectedItems.filter(item => checkedItems.some(check => check === item)) : checkedItems;
105
+ const checked = isControlledV2 ? nonSelectedItems.filter((item) => checkedItems.some((check) => check === item)) : checkedItems;
173
106
  const items = getItemsById(checked, preparedItems);
174
- const actions = !selectedItems ? items.map(item => addToTarget(item)) : [];
107
+ const actions = !selectedItems ? items.map((item) => addToTarget(item)) : [];
175
108
  this.setState(pipe([...actions, resetCheckedItems()]), () => {
176
109
  this.handleChange();
177
110
  });
178
111
  onAddCheckedItems(items);
179
112
  }
180
-
181
- handleTargetSortEnd(_ref) {
182
- let {
183
- sourceItem,
184
- targetItem
185
- } = _ref;
186
- const {
187
- idField,
188
- onTargetSortEnd
189
- } = this.props;
190
- const {
191
- targetItems,
192
- hierarchyDest,
193
- movedItems
194
- } = this.state;
113
+ handleTargetSortEnd({ sourceItem, targetItem }) {
114
+ const { idField, onTargetSortEnd } = this.props;
115
+ const { targetItems, hierarchyDest, movedItems } = this.state;
195
116
  const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;
196
117
  const collection = !hierarchyId ? movedItems : targetItems;
197
- const oldIndex = collection.findIndex(tItem => tItem[idField] === sourceItem[idField]);
198
- const newIndex = collection.findIndex(tItem => tItem[idField] === targetItem[idField]);
118
+ const oldIndex = collection.findIndex((tItem) => tItem[idField] === sourceItem[idField]);
119
+ const newIndex = collection.findIndex((tItem) => tItem[idField] === targetItem[idField]);
199
120
  const sortedMovedItems = !hierarchyId ? arrayMove(movedItems, oldIndex, newIndex) : movedItems;
200
121
  const sortedItems = hierarchyId ? arrayMove(targetItems, oldIndex, newIndex) : targetItems;
201
122
  this.setState({
202
123
  targetItems: sortedItems,
203
124
  movedItems: sortedMovedItems
204
125
  });
205
- onTargetSortEnd({
206
- sourceItem,
207
- targetItem
208
- });
126
+ onTargetSortEnd({ sourceItem, targetItem });
209
127
  }
210
-
211
128
  render() {
212
- const _this$props = this.props,
213
- {
214
- idField,
215
- nonSelectedItems,
216
- moreItemsLoading
217
- } = _this$props,
218
- rest = _objectWithoutProperties(_this$props, _excluded);
219
-
129
+ const { idField, nonSelectedItems, moreItemsLoading, ...rest } = this.props;
220
130
  const {
221
131
  hierarchy,
222
132
  hierarchyDest,
@@ -226,79 +136,64 @@ class ShuttleImpl extends Component {
226
136
  targetItems
227
137
  } = this.state;
228
138
  const {
229
- state: {
230
- searchTerm,
231
- searching
232
- }
139
+ state: { searchTerm, searching }
233
140
  } = this.context;
234
-
235
141
  const handleControlledSourceItms = () => {
236
- const {
237
- id
238
- } = getActiveIdFromHierarchy(hierarchy);
239
-
142
+ const { id } = getActiveIdFromHierarchy(hierarchy);
240
143
  if (id) {
241
- return filterBySearch(searchTerm, searching)(getChildrenFromParent(id)(nonSelectedItems.map(it => items.find(itt => itt.id === it))));
144
+ return filterBySearch(searchTerm, searching)(getChildrenFromParent(id)(nonSelectedItems.map((it) => items.find((itt) => itt.id === it))));
242
145
  }
243
-
244
- return filterBySearch(searchTerm, searching)(items.filter(it => nonSelectedItems.some(itt => itt === it.id && !nonSelectedItems.some(ittt => ittt === it.parent))));
146
+ return filterBySearch(searchTerm, searching)(items.filter((it) => nonSelectedItems.some((itt) => itt === it.id && !nonSelectedItems.some((ittt) => ittt === it.parent))));
245
147
  };
246
-
247
- let composedSourceItems; // controlled V2 TODO make it default controlled behavior
248
-
148
+ let composedSourceItems;
249
149
  if (nonSelectedItems) {
250
150
  composedSourceItems = handleControlledSourceItms();
251
151
  } else {
252
152
  composedSourceItems = compose(filterBySearch(searchTerm, searching), filterMovedItems(movedItems), getChildrenFromParent(getActiveIdFromHierarchy(hierarchy).id))(items);
253
153
  }
254
-
255
154
  const handleControlledTargetItms = () => {
256
- const {
257
- id
258
- } = getActiveIdFromHierarchy(hierarchyDest);
259
-
155
+ const { id } = getActiveIdFromHierarchy(hierarchyDest);
260
156
  if (id) {
261
- return getChildrenFromParent(getActiveIdFromHierarchy(hierarchyDest).id)(this.props.selectedItems.map(it => items.find(itt => itt.id === it)));
157
+ return getChildrenFromParent(getActiveIdFromHierarchy(hierarchyDest).id)(this.props.selectedItems.map((it) => items.find((itt) => itt.id === it)));
262
158
  }
263
-
264
- return targetItems.filter(it => this.props.selectedItems.some(itt => itt === it.id && !this.props.selectedItems.some(ittt => ittt === it.parent)));
159
+ return targetItems.filter((it) => this.props.selectedItems.some((itt) => itt === it.id && !this.props.selectedItems.some((ittt) => ittt === it.parent)));
265
160
  };
266
-
267
- let composedTargetItems; // controlled V2 TODO make it default controlled behavior
268
-
161
+ let composedTargetItems;
269
162
  if (nonSelectedItems) {
270
163
  composedTargetItems = handleControlledTargetItms();
271
164
  } else {
272
- composedTargetItems = compose(tItems => {
165
+ composedTargetItems = compose((tItems) => {
273
166
  const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;
274
167
  return hierarchyId ? compose(filterMovedItems(movedItems), getChildrenFromParent(hierarchyId))(tItems) : movedItems;
275
168
  })(targetItems);
276
169
  }
277
-
278
- return /*#__PURE__*/jsx(ShuttleRenderer, _objectSpread(_objectSpread({}, rest), {}, {
279
- moreItemsLoading: moreItemsLoading,
280
- checkedItems: checkedItems,
281
- hierarchy: hierarchy,
282
- hierarchyDest: hierarchyDest,
170
+ return /* @__PURE__ */ React2.createElement(ShuttleRenderer, {
171
+ ...rest,
172
+ moreItemsLoading,
173
+ checkedItems,
174
+ hierarchy,
175
+ hierarchyDest,
283
176
  onCheckItem: this.toggleItemSelection,
284
177
  onClearCheckedItems: this.resetCheckedItems,
285
178
  onClearMovedItems: this.resetMovedItems,
286
179
  onItemCheck: this.toggleItemSelection,
287
180
  onMoveCheckedItems: this.moveCheckedItems,
288
- onMoveItemToSource: item => this.removeFromTarget(item, false),
289
- onMoveItemToTarget: item => this.addToTarget(item, true),
181
+ onMoveItemToSource: (item) => this.removeFromTarget(item, false),
182
+ onMoveItemToTarget: (item) => this.addToTarget(item, true),
290
183
  onNavigateOnSourceTo: (item, direction) => this.navigate(item, false, direction),
291
184
  onNavigateOnTargetTo: (item, direction) => this.navigate(item, true, direction),
292
185
  onSourceSortEnd: () => null,
293
186
  onTargetSortEnd: this.handleTargetSortEnd,
294
187
  sourceItems: composedSourceItems,
295
188
  targetItems: composedTargetItems
296
- }));
189
+ });
297
190
  }
298
-
299
191
  }
300
-
301
192
  ShuttleImpl.contextType = SearchState.Context;
302
- var ShuttleImpl$1 = withProviders(ShuttleImpl);
303
-
304
- export { ShuttleImpl$1 as default };
193
+ const ShuttleImplHoc = withProviders(ShuttleImpl);
194
+ var ShuttleImpl_default = ShuttleImplHoc;
195
+ export {
196
+ ShuttleImplHoc as ShuttleImpl,
197
+ ShuttleImpl_default as default
198
+ };
199
+ //# sourceMappingURL=ShuttleImpl.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/ShuttleImpl.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/static-property-placement */\n/* eslint-disable react/prop-types */\n/* eslint-disable indent */\n/* eslint-disable import/extensions,react/no-unused-state,no-shadow,max-lines */\nimport React, { Component } from 'react';\nimport { compose, arrayMove } from '@elliemae/ds-utilities';\nimport { withProviders } from './withProviders';\nimport {\n addToTarget,\n navigateTo,\n resetCheckedItems,\n resetMovedItems,\n toggleItemSelection,\n removeFromTarget,\n} from './Shuttle.actions';\nimport {\n getActiveIdFromHierarchy,\n filterBySearch,\n getItemsById,\n pipe,\n getChildrenFromParent,\n filterMovedItems,\n} from './helper';\nimport { ShuttleRenderer } from './ShuttleRenderer';\nimport { SearchState } from './SearchState';\nimport { updateShuttleStateFromProps } from './updateShuttleStateFromProps';\n\nclass ShuttleImpl extends Component {\n static contextType = SearchState.Context;\n\n constructor(props) {\n super(props);\n this.state = {\n prevProps: {},\n preparedItems: [],\n checkedItems: [],\n // left breadcrumb\n hierarchy: [{ name: props.sourceRootTitle, id: null }],\n // right breadcrumb\n hierarchyDest: [{ name: props.targetRootTitle, id: null }],\n\n movedItems: [],\n sourceItems: [],\n targetItems: [],\n };\n this.moveCheckedItems = this.moveCheckedItems.bind(this);\n this.resetMovedItems = this.resetMovedItems.bind(this);\n }\n\n static getDerivedStateFromProps(nextProps, prevState) {\n return updateShuttleStateFromProps(nextProps, prevState);\n }\n\n componentDidMount() {\n const { setGetStatus } = this.props;\n setGetStatus(this.getState);\n }\n\n getState = () => {\n const { movedItems } = this.state;\n return Object.keys(movedItems);\n };\n\n handleChange() {\n const { onChange } = this.props;\n const { movedItems } = this.state;\n onChange(Object.keys(movedItems));\n }\n\n navigate(item, dest, direction) {\n const { onDrillDown, onDrillDownTarget } = this.props;\n\n if (!dest) onDrillDown(item, direction);\n if (dest) onDrillDownTarget(item, direction);\n\n const { reset: resetSearchState } = this.context;\n resetSearchState();\n\n this.setState(pipe([navigateTo(item, dest), resetCheckedItems()]));\n }\n\n resetCheckedItems() {\n this.setState(resetCheckedItems());\n }\n\n resetMovedItems() {\n const { selectedItems, onRemoveAllFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(\n pipe([navigateTo({ id: null }, true), resetMovedItems()]),\n () => {\n this.handleChange();\n },\n );\n } else {\n this.setState(pipe([navigateTo({ id: null }, true)]));\n }\n onRemoveAllFromTarget();\n }\n\n addToTarget(item) {\n const { selectedItems, onAddToTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([addToTarget(item), resetCheckedItems()]), () => {\n this.handleChange();\n });\n }\n onAddToTarget(item);\n }\n\n removeFromTarget(item) {\n const { selectedItems, onRemoveFromTarget } = this.props;\n if (!selectedItems) {\n this.setState(pipe([removeFromTarget(item)]), () => {\n this.handleChange();\n });\n }\n onRemoveFromTarget(item);\n }\n\n toggleItemSelection(item) {\n this.setState(toggleItemSelection(item.id));\n }\n\n moveCheckedItems() {\n const { onAddCheckedItems, selectedItems, nonSelectedItems } = this.props;\n const { checkedItems, preparedItems } = this.state;\n const isControlledV2 = !!selectedItems && !!nonSelectedItems;\n const checked = isControlledV2\n ? nonSelectedItems.filter((item) =>\n checkedItems.some((check) => check === item),\n )\n : checkedItems;\n const items = getItemsById(checked, preparedItems);\n const actions = !selectedItems\n ? items.map((item) => addToTarget(item))\n : [];\n this.setState(pipe([...actions, resetCheckedItems()]), () => {\n this.handleChange();\n });\n onAddCheckedItems(items);\n }\n\n handleTargetSortEnd({ sourceItem, targetItem }) {\n const { idField, onTargetSortEnd } = this.props;\n const { targetItems, hierarchyDest, movedItems } = this.state;\n\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n\n const collection = !hierarchyId ? movedItems : targetItems;\n\n const oldIndex = collection.findIndex(\n (tItem) => tItem[idField] === sourceItem[idField],\n );\n const newIndex = collection.findIndex(\n (tItem) => tItem[idField] === targetItem[idField],\n );\n\n const sortedMovedItems = !hierarchyId\n ? arrayMove(movedItems, oldIndex, newIndex)\n : movedItems;\n const sortedItems = hierarchyId\n ? arrayMove(targetItems, oldIndex, newIndex)\n : targetItems;\n\n this.setState({\n targetItems: sortedItems,\n movedItems: sortedMovedItems,\n });\n onTargetSortEnd({ sourceItem, targetItem });\n }\n\n render() {\n const { idField, nonSelectedItems, moreItemsLoading, ...rest } = this.props;\n const {\n hierarchy,\n hierarchyDest,\n checkedItems,\n movedItems,\n preparedItems: items,\n targetItems,\n } = this.state;\n const {\n state: { searchTerm, searching },\n } = this.context;\n\n const handleControlledSourceItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchy);\n if (id) {\n return filterBySearch(\n searchTerm,\n searching,\n )(\n getChildrenFromParent(id)(\n nonSelectedItems.map((it) => items.find((itt) => itt.id === it)),\n ),\n );\n }\n\n return filterBySearch(\n searchTerm,\n searching,\n )(\n items.filter((it) =>\n nonSelectedItems.some(\n (itt) =>\n itt === it.id &&\n !nonSelectedItems.some((ittt) => ittt === it.parent),\n ),\n ),\n );\n };\n\n let composedSourceItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedSourceItems = handleControlledSourceItms();\n } else {\n composedSourceItems = compose(\n filterBySearch(searchTerm, searching),\n filterMovedItems(movedItems),\n getChildrenFromParent(getActiveIdFromHierarchy(hierarchy).id),\n )(items);\n }\n\n const handleControlledTargetItms = () => {\n const { id } = getActiveIdFromHierarchy(hierarchyDest);\n if (id) {\n return getChildrenFromParent(\n getActiveIdFromHierarchy(hierarchyDest).id,\n )(\n this.props.selectedItems.map((it) =>\n items.find((itt) => itt.id === it),\n ),\n );\n }\n\n return targetItems.filter((it) =>\n this.props.selectedItems.some(\n (itt) =>\n itt === it.id &&\n !this.props.selectedItems.some((ittt) => ittt === it.parent),\n ),\n );\n };\n\n let composedTargetItems;\n\n // controlled V2 TODO make it default controlled behavior\n if (nonSelectedItems) {\n composedTargetItems = handleControlledTargetItms();\n } else {\n composedTargetItems = compose((tItems) => {\n const hierarchyId = getActiveIdFromHierarchy(hierarchyDest).id;\n return hierarchyId\n ? compose(\n filterMovedItems(movedItems),\n getChildrenFromParent(hierarchyId),\n )(tItems)\n : movedItems;\n })(targetItems);\n }\n\n return (\n <ShuttleRenderer\n {...rest}\n moreItemsLoading={moreItemsLoading}\n checkedItems={checkedItems}\n hierarchy={hierarchy}\n hierarchyDest={hierarchyDest}\n onCheckItem={this.toggleItemSelection}\n onClearCheckedItems={this.resetCheckedItems}\n onClearMovedItems={this.resetMovedItems}\n onItemCheck={this.toggleItemSelection}\n onMoveCheckedItems={this.moveCheckedItems}\n onMoveItemToSource={(item) => this.removeFromTarget(item, false)}\n onMoveItemToTarget={(item) => this.addToTarget(item, true)}\n onNavigateOnSourceTo={(item, direction) =>\n this.navigate(item, false, direction)\n }\n onNavigateOnTargetTo={(item, direction) =>\n this.navigate(item, true, direction)\n }\n onSourceSortEnd={() => null}\n onTargetSortEnd={this.handleTargetSortEnd}\n sourceItems={composedSourceItems}\n targetItems={composedTargetItems}\n />\n );\n }\n}\n\nconst ShuttleImplHoc = withProviders(ShuttleImpl);\nexport { ShuttleImplHoc as ShuttleImpl };\nexport default ShuttleImplHoc;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }