@elliemae/ds-shuttle 1.60.0 → 2.0.0-alpha.12

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 (188) hide show
  1. package/cjs/AnimationState.js +26 -42
  2. package/cjs/DSShuttle.js +54 -146
  3. package/cjs/SearchState.js +10 -22
  4. package/cjs/Shuttle.actions.js +65 -73
  5. package/cjs/ShuttleContainer.js +49 -77
  6. package/cjs/ShuttleImpl.js +250 -338
  7. package/cjs/ShuttleRenderer.js +121 -184
  8. package/cjs/ShuttleState.js +22 -39
  9. package/cjs/animation/animationConfig.js +56 -63
  10. package/cjs/classedComponents.js +32 -35
  11. package/cjs/components/LoadingIndicator.js +11 -12
  12. package/cjs/components/OverflowList.js +33 -29
  13. package/cjs/components/ShuttleBreadcrumb.js +26 -32
  14. package/cjs/components/ShuttleInfiniteScrollIndicator.js +17 -13
  15. package/cjs/components/ShuttleListItem/ActionButtons.js +39 -34
  16. package/cjs/components/ShuttleListItem/ShuttleListItem.js +59 -58
  17. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js +40 -61
  18. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js +35 -50
  19. package/cjs/components/ShuttleListPanel.js +11 -23
  20. package/cjs/components/ShuttleSearchBox.js +79 -102
  21. package/cjs/components/ShuttleSource.js +99 -169
  22. package/cjs/components/ShuttleTarget.js +62 -82
  23. package/cjs/components/VirtualizedItem.js +28 -22
  24. package/cjs/components/VirtualizedList.js +52 -50
  25. package/cjs/components/VirtualizedSortableList.js +25 -23
  26. package/cjs/helper.js +52 -82
  27. package/cjs/index.js +1 -60
  28. package/cjs/updateShuttleStateFromProps.js +41 -40
  29. package/cjs/utils.js +9 -9
  30. package/cjs/withProviders.js +15 -16
  31. package/esm/AnimationState.js +25 -40
  32. package/esm/DSShuttle.js +51 -143
  33. package/esm/SearchState.js +9 -20
  34. package/esm/Shuttle.actions.js +64 -71
  35. package/esm/ShuttleContainer.js +47 -75
  36. package/esm/ShuttleImpl.js +254 -334
  37. package/esm/ShuttleRenderer.js +117 -179
  38. package/esm/ShuttleState.js +17 -32
  39. package/esm/animation/animationConfig.js +56 -63
  40. package/esm/classedComponents.js +30 -33
  41. package/esm/components/LoadingIndicator.js +10 -11
  42. package/esm/components/OverflowList.js +30 -26
  43. package/esm/components/ShuttleBreadcrumb.js +23 -29
  44. package/esm/components/ShuttleInfiniteScrollIndicator.js +16 -12
  45. package/esm/components/ShuttleListItem/ActionButtons.js +38 -33
  46. package/esm/components/ShuttleListItem/ShuttleListItem.js +56 -55
  47. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js +36 -56
  48. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js +31 -46
  49. package/esm/components/ShuttleListPanel.js +10 -22
  50. package/esm/components/ShuttleSearchBox.js +78 -95
  51. package/esm/components/ShuttleSource.js +89 -157
  52. package/esm/components/ShuttleTarget.js +55 -75
  53. package/esm/components/VirtualizedItem.js +26 -20
  54. package/esm/components/VirtualizedList.js +48 -46
  55. package/esm/components/VirtualizedSortableList.js +21 -18
  56. package/esm/helper.js +49 -77
  57. package/esm/index.js +0 -59
  58. package/esm/updateShuttleStateFromProps.js +40 -38
  59. package/esm/utils.js +6 -4
  60. package/esm/withProviders.js +13 -15
  61. package/package.json +163 -18
  62. package/types/AnimationState.d.ts +26 -0
  63. package/types/DSShuttle.d.ts +341 -0
  64. package/types/SearchState.d.ts +22 -0
  65. package/types/Shuttle.actions.d.ts +11 -0
  66. package/types/ShuttleContainer.d.ts +3 -0
  67. package/types/ShuttleImpl.d.ts +3 -0
  68. package/types/ShuttleRenderer.d.ts +37 -0
  69. package/types/ShuttleState.d.ts +53 -0
  70. package/types/animation/animationConfig.d.ts +68 -0
  71. package/types/classedComponents.d.ts +14 -0
  72. package/types/components/LoadingIndicator.d.ts +3 -0
  73. package/types/components/OverflowList.d.ts +7 -0
  74. package/types/components/ShuttleBreadcrumb.d.ts +7 -0
  75. package/types/components/ShuttleInfiniteScrollIndicator.d.ts +5 -0
  76. package/types/components/ShuttleListItem/ActionButtons.d.ts +4 -0
  77. package/types/components/ShuttleListItem/ShuttleListItem.d.ts +14 -0
  78. package/types/components/ShuttleListItem/ShuttleSourceListItem.d.ts +13 -0
  79. package/types/components/ShuttleListItem/ShuttleTargetListItem.d.ts +13 -0
  80. package/types/components/ShuttleListPanel.d.ts +7 -0
  81. package/types/components/ShuttleSearchBox.d.ts +20 -0
  82. package/types/components/ShuttleSource.d.ts +54 -0
  83. package/types/components/ShuttleTarget.d.ts +16 -0
  84. package/types/components/VirtualizedItem.d.ts +3 -0
  85. package/types/components/VirtualizedList.d.ts +12 -0
  86. package/types/components/VirtualizedSortableList.d.ts +6 -0
  87. package/types/helper.d.ts +16 -0
  88. package/types/index.d.ts +1 -0
  89. package/types/tests/DSShuttle.events.test.d.ts +1 -0
  90. package/types/tests/DSShuttle.test.d.ts +1 -0
  91. package/types/tests/utils.d.ts +116 -0
  92. package/types/updateShuttleStateFromProps.d.ts +1 -0
  93. package/types/utils.d.ts +2 -0
  94. package/types/withProviders.d.ts +3 -0
  95. package/AnimationState/package.json +0 -10
  96. package/DSShuttle/package.json +0 -10
  97. package/SearchState/package.json +0 -10
  98. package/Shuttle.actions/package.json +0 -10
  99. package/ShuttleContainer/package.json +0 -10
  100. package/ShuttleImpl/package.json +0 -10
  101. package/ShuttleRenderer/package.json +0 -10
  102. package/ShuttleState/package.json +0 -10
  103. package/animation/animationConfig/package.json +0 -10
  104. package/cjs/AnimationState.js.map +0 -1
  105. package/cjs/DSShuttle.js.map +0 -1
  106. package/cjs/SearchState.js.map +0 -1
  107. package/cjs/Shuttle.actions.js.map +0 -1
  108. package/cjs/ShuttleContainer.js.map +0 -1
  109. package/cjs/ShuttleImpl.js.map +0 -1
  110. package/cjs/ShuttleRenderer.js.map +0 -1
  111. package/cjs/ShuttleState.js.map +0 -1
  112. package/cjs/animation/animationConfig.js.map +0 -1
  113. package/cjs/classedComponents.js.map +0 -1
  114. package/cjs/components/LoadingIndicator.js.map +0 -1
  115. package/cjs/components/OverflowList.js.map +0 -1
  116. package/cjs/components/ShuttleBreadcrumb.js.map +0 -1
  117. package/cjs/components/ShuttleInfiniteScrollIndicator.js.map +0 -1
  118. package/cjs/components/ShuttleListItem/ActionButtons.js.map +0 -1
  119. package/cjs/components/ShuttleListItem/ShuttleListItem.js.map +0 -1
  120. package/cjs/components/ShuttleListItem/ShuttleSourceListItem.js.map +0 -1
  121. package/cjs/components/ShuttleListItem/ShuttleTargetListItem.js.map +0 -1
  122. package/cjs/components/ShuttleListPanel.js.map +0 -1
  123. package/cjs/components/ShuttleSearchBox.js.map +0 -1
  124. package/cjs/components/ShuttleSource.js.map +0 -1
  125. package/cjs/components/ShuttleTarget.js.map +0 -1
  126. package/cjs/components/VirtualizedItem.js.map +0 -1
  127. package/cjs/components/VirtualizedList.js.map +0 -1
  128. package/cjs/components/VirtualizedSortableList.js.map +0 -1
  129. package/cjs/helper.js.map +0 -1
  130. package/cjs/index.js.map +0 -1
  131. package/cjs/tests/utils.js +0 -1112
  132. package/cjs/tests/utils.js.map +0 -1
  133. package/cjs/updateShuttleStateFromProps.js.map +0 -1
  134. package/cjs/utils.js.map +0 -1
  135. package/cjs/withProviders.js.map +0 -1
  136. package/classedComponents/package.json +0 -10
  137. package/components/LoadingIndicator/package.json +0 -10
  138. package/components/OverflowList/package.json +0 -10
  139. package/components/ShuttleBreadcrumb/package.json +0 -10
  140. package/components/ShuttleInfiniteScrollIndicator/package.json +0 -10
  141. package/components/ShuttleListItem/ActionButtons/package.json +0 -10
  142. package/components/ShuttleListItem/ShuttleListItem/package.json +0 -10
  143. package/components/ShuttleListItem/ShuttleSourceListItem/package.json +0 -10
  144. package/components/ShuttleListItem/ShuttleTargetListItem/package.json +0 -10
  145. package/components/ShuttleListPanel/package.json +0 -10
  146. package/components/ShuttleSearchBox/package.json +0 -10
  147. package/components/ShuttleSource/package.json +0 -10
  148. package/components/ShuttleTarget/package.json +0 -10
  149. package/components/VirtualizedItem/package.json +0 -10
  150. package/components/VirtualizedList/package.json +0 -10
  151. package/components/VirtualizedSortableList/package.json +0 -10
  152. package/esm/AnimationState.js.map +0 -1
  153. package/esm/DSShuttle.js.map +0 -1
  154. package/esm/SearchState.js.map +0 -1
  155. package/esm/Shuttle.actions.js.map +0 -1
  156. package/esm/ShuttleContainer.js.map +0 -1
  157. package/esm/ShuttleImpl.js.map +0 -1
  158. package/esm/ShuttleRenderer.js.map +0 -1
  159. package/esm/ShuttleState.js.map +0 -1
  160. package/esm/animation/animationConfig.js.map +0 -1
  161. package/esm/classedComponents.js.map +0 -1
  162. package/esm/components/LoadingIndicator.js.map +0 -1
  163. package/esm/components/OverflowList.js.map +0 -1
  164. package/esm/components/ShuttleBreadcrumb.js.map +0 -1
  165. package/esm/components/ShuttleInfiniteScrollIndicator.js.map +0 -1
  166. package/esm/components/ShuttleListItem/ActionButtons.js.map +0 -1
  167. package/esm/components/ShuttleListItem/ShuttleListItem.js.map +0 -1
  168. package/esm/components/ShuttleListItem/ShuttleSourceListItem.js.map +0 -1
  169. package/esm/components/ShuttleListItem/ShuttleTargetListItem.js.map +0 -1
  170. package/esm/components/ShuttleListPanel.js.map +0 -1
  171. package/esm/components/ShuttleSearchBox.js.map +0 -1
  172. package/esm/components/ShuttleSource.js.map +0 -1
  173. package/esm/components/ShuttleTarget.js.map +0 -1
  174. package/esm/components/VirtualizedItem.js.map +0 -1
  175. package/esm/components/VirtualizedList.js.map +0 -1
  176. package/esm/components/VirtualizedSortableList.js.map +0 -1
  177. package/esm/helper.js.map +0 -1
  178. package/esm/index.js.map +0 -1
  179. package/esm/tests/utils.js +0 -1100
  180. package/esm/tests/utils.js.map +0 -1
  181. package/esm/updateShuttleStateFromProps.js.map +0 -1
  182. package/esm/utils.js.map +0 -1
  183. package/esm/withProviders.js.map +0 -1
  184. package/helper/package.json +0 -10
  185. package/tests/utils/package.json +0 -10
  186. package/updateShuttleStateFromProps/package.json +0 -10
  187. package/utils/package.json +0 -10
  188. package/withProviders/package.json +0 -10
@@ -1,15 +1,20 @@
1
1
  'use strict';
2
2
 
3
- var _extends = require('@babel/runtime/helpers/extends');
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
5
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
6
- var _classCallCheck = require('@babel/runtime/helpers/classCallCheck');
7
- var _createClass = require('@babel/runtime/helpers/createClass');
8
- var _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');
9
- var _inherits = require('@babel/runtime/helpers/inherits');
10
- var _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');
11
- var _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');
12
- var React = require('react');
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.some.js');
9
+ require('core-js/modules/esnext.iterator.some.js');
10
+ require('core-js/modules/esnext.async-iterator.map.js');
11
+ require('core-js/modules/esnext.iterator.map.js');
12
+ require('core-js/modules/web.dom-collections.iterator.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.for-each.js');
16
+ require('core-js/modules/esnext.iterator.for-each.js');
17
+ var react = require('react');
13
18
  var dsUtilities = require('@elliemae/ds-utilities');
14
19
  var withProviders = require('./withProviders.js');
15
20
  var Shuttle_actions = require('./Shuttle.actions.js');
@@ -17,83 +22,31 @@ var helper = require('./helper.js');
17
22
  var ShuttleRenderer = require('./ShuttleRenderer.js');
18
23
  var SearchState = require('./SearchState.js');
19
24
  var updateShuttleStateFromProps = require('./updateShuttleStateFromProps.js');
20
- require('./AnimationState.js');
21
- require('@babel/runtime/helpers/slicedToArray');
22
- require('constate');
23
- require('./ShuttleState.js');
24
- require('@babel/runtime/helpers/defineProperty');
25
- require('treetabular');
26
- require('./utils.js');
27
- require('./components/ShuttleSource.js');
28
- require('prop-types');
29
- require('@elliemae/ds-icons');
30
- require('@elliemae/ds-button');
31
- require('./components/ShuttleSearchBox.js');
32
- require('@elliemae/ds-classnames');
33
- require('@elliemae/ds-form');
34
- require('./components/ShuttleInfiniteScrollIndicator.js');
35
- require('@elliemae/ds-indeterminate-progress-indicator');
36
- require('./components/ShuttleListItem/ShuttleSourceListItem.js');
37
- require('./components/ShuttleListItem/ActionButtons.js');
38
- require('./components/ShuttleListItem/ShuttleListItem.js');
39
- require('react-spring/web.cjs');
40
- require('@elliemae/ds-truncated-tooltip-text');
41
- require('react-sortable-hoc');
42
- require('./classedComponents.js');
43
- require('./components/ShuttleBreadcrumb.js');
44
- require('@elliemae/ds-breadcrumb');
45
- require('./animation/animationConfig.js');
46
- require('./components/OverflowList.js');
47
- require('./components/ShuttleListPanel.js');
48
- require('./components/VirtualizedList.js');
49
- require('react-window');
50
- require('react-window-infinite-loader');
51
- require('react-virtualized-auto-sizer');
52
- require('./components/VirtualizedItem.js');
53
- require('./components/VirtualizedSortableList.js');
54
- require('./components/LoadingIndicator.js');
55
- require('@elliemae/ds-circular-progress-indicator');
56
- require('styled-components');
57
- require('./components/ShuttleTarget.js');
58
- require('./components/ShuttleListItem/ShuttleTargetListItem.js');
25
+ var jsxRuntime = require('react/jsx-runtime');
59
26
 
60
27
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
61
28
 
62
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
29
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
63
30
  var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
64
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
65
- var _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);
66
- var _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);
67
- var _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);
68
- var _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);
69
- var _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);
70
- var _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);
71
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
72
31
 
73
- var _excluded = ["idField", "nonSelectedItems", "moreItemsLoading"];
32
+ const _excluded = ["idField", "nonSelectedItems", "moreItemsLoading"];
74
33
 
75
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
76
35
 
77
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
78
37
 
79
- var ShuttleImpl = /*#__PURE__*/function (_Component) {
80
- _inherits__default['default'](ShuttleImpl, _Component);
38
+ class ShuttleImpl extends react.Component {
39
+ constructor(props) {
40
+ super(props);
81
41
 
82
- var _super = _createSuper(ShuttleImpl);
83
-
84
- function ShuttleImpl(props) {
85
- var _this;
86
-
87
- _classCallCheck__default['default'](this, ShuttleImpl);
88
-
89
- _this = _super.call(this, props);
90
-
91
- _this.getState = function () {
92
- var movedItems = _this.state.movedItems;
42
+ this.getState = () => {
43
+ const {
44
+ movedItems
45
+ } = this.state;
93
46
  return Object.keys(movedItems);
94
47
  };
95
48
 
96
- _this.state = {
49
+ this.state = {
97
50
  prevProps: {},
98
51
  preparedItems: [],
99
52
  checkedItems: [],
@@ -111,289 +64,248 @@ var ShuttleImpl = /*#__PURE__*/function (_Component) {
111
64
  sourceItems: [],
112
65
  targetItems: []
113
66
  };
114
- _this.toggleItemSelection = _this.toggleItemSelection.bind(_assertThisInitialized__default['default'](_this));
115
- _this.resetCheckedItems = _this.resetCheckedItems.bind(_assertThisInitialized__default['default'](_this));
116
- _this.resetMovedItems = _this.resetMovedItems.bind(_assertThisInitialized__default['default'](_this));
117
- _this.moveCheckedItems = _this.moveCheckedItems.bind(_assertThisInitialized__default['default'](_this));
118
- _this.handleTargetSortEnd = _this.handleTargetSortEnd.bind(_assertThisInitialized__default['default'](_this));
119
- return _this;
67
+ this.toggleItemSelection = this.toggleItemSelection.bind(this);
68
+ this.resetCheckedItems = this.resetCheckedItems.bind(this);
69
+ this.resetMovedItems = this.resetMovedItems.bind(this);
70
+ this.moveCheckedItems = this.moveCheckedItems.bind(this);
71
+ this.handleTargetSortEnd = this.handleTargetSortEnd.bind(this);
120
72
  }
121
73
 
122
- _createClass__default['default'](ShuttleImpl, [{
123
- key: "componentDidMount",
124
- value: function componentDidMount() {
125
- var setGetStatus = this.props.setGetStatus;
126
- setGetStatus(this.getState);
127
- }
128
- }, {
129
- key: "handleChange",
130
- value: function handleChange() {
131
- var onChange = this.props.onChange;
132
- var movedItems = this.state.movedItems;
133
- onChange(Object.keys(movedItems));
134
- }
135
- }, {
136
- key: "navigate",
137
- value: function navigate(item, dest, direction) {
138
- var _this$props = this.props,
139
- onDrillDown = _this$props.onDrillDown,
140
- onDrillDownTarget = _this$props.onDrillDownTarget;
141
- if (!dest) onDrillDown(item, direction);
142
- if (dest) onDrillDownTarget(item, direction);
143
- var resetSearchState = this.context.reset;
144
- resetSearchState();
145
- this.setState(helper.pipe([Shuttle_actions.navigateTo(item, dest), Shuttle_actions.resetCheckedItems()]));
146
- }
147
- }, {
148
- key: "resetCheckedItems",
149
- value: function resetCheckedItems() {
150
- this.setState(Shuttle_actions.resetCheckedItems());
151
- }
152
- }, {
153
- key: "resetMovedItems",
154
- value: function resetMovedItems() {
155
- var _this2 = this;
156
-
157
- var _this$props2 = this.props,
158
- selectedItems = _this$props2.selectedItems,
159
- onRemoveAllFromTarget = _this$props2.onRemoveAllFromTarget;
160
-
161
- if (!selectedItems) {
162
- this.setState(helper.pipe([Shuttle_actions.navigateTo({
163
- id: null
164
- }, true), Shuttle_actions.resetMovedItems()]), function () {
165
- _this2.handleChange();
166
- });
167
- } else {
168
- this.setState(helper.pipe([Shuttle_actions.navigateTo({
169
- id: null
170
- }, true)]));
171
- }
74
+ static getDerivedStateFromProps(nextProps, prevState) {
75
+ return updateShuttleStateFromProps(nextProps, prevState);
76
+ }
172
77
 
173
- onRemoveAllFromTarget();
174
- }
175
- }, {
176
- key: "addToTarget",
177
- value: function addToTarget(item) {
178
- var _this3 = this;
179
-
180
- var _this$props3 = this.props,
181
- selectedItems = _this$props3.selectedItems,
182
- onAddToTarget = _this$props3.onAddToTarget;
183
-
184
- if (!selectedItems) {
185
- this.setState(helper.pipe([Shuttle_actions.addToTarget(item), Shuttle_actions.resetCheckedItems()]), function () {
186
- _this3.handleChange();
187
- });
188
- }
78
+ componentDidMount() {
79
+ const {
80
+ setGetStatus
81
+ } = this.props;
82
+ setGetStatus(this.getState);
83
+ }
189
84
 
190
- onAddToTarget(item);
191
- }
192
- }, {
193
- key: "removeFromTarget",
194
- value: function removeFromTarget(item) {
195
- var _this4 = this;
196
-
197
- var _this$props4 = this.props,
198
- selectedItems = _this$props4.selectedItems,
199
- onRemoveFromTarget = _this$props4.onRemoveFromTarget;
200
-
201
- if (!selectedItems) {
202
- this.setState(helper.pipe([Shuttle_actions.removeFromTarget(item)]), function () {
203
- _this4.handleChange();
204
- });
205
- }
85
+ handleChange() {
86
+ const {
87
+ onChange
88
+ } = this.props;
89
+ const {
90
+ movedItems
91
+ } = this.state;
92
+ onChange(Object.keys(movedItems));
93
+ }
206
94
 
207
- onRemoveFromTarget(item);
208
- }
209
- }, {
210
- key: "toggleItemSelection",
211
- value: function toggleItemSelection(item) {
212
- this.setState(Shuttle_actions.toggleItemSelection(item.id));
213
- }
214
- }, {
215
- key: "moveCheckedItems",
216
- value: function moveCheckedItems() {
217
- var _this5 = this;
218
-
219
- var _this$props5 = this.props,
220
- onAddCheckedItems = _this$props5.onAddCheckedItems,
221
- selectedItems = _this$props5.selectedItems,
222
- nonSelectedItems = _this$props5.nonSelectedItems;
223
- var _this$state = this.state,
224
- checkedItems = _this$state.checkedItems,
225
- preparedItems = _this$state.preparedItems;
226
- var isControlledV2 = !!selectedItems && !!nonSelectedItems;
227
- var checked = isControlledV2 ? nonSelectedItems.filter(function (item) {
228
- return checkedItems.some(function (check) {
229
- return check === item;
230
- });
231
- }) : checkedItems;
232
- var items = helper.getItemsById(checked, preparedItems);
233
- var actions = !selectedItems ? items.map(function (item) {
234
- return Shuttle_actions.addToTarget(item);
235
- }) : [];
236
- this.setState(helper.pipe([].concat(_toConsumableArray__default['default'](actions), [Shuttle_actions.resetCheckedItems()])), function () {
237
- _this5.handleChange();
95
+ navigate(item, dest, direction) {
96
+ const {
97
+ onDrillDown,
98
+ onDrillDownTarget
99
+ } = this.props;
100
+ if (!dest) onDrillDown(item, direction);
101
+ if (dest) onDrillDownTarget(item, direction);
102
+ const {
103
+ reset: resetSearchState
104
+ } = this.context;
105
+ resetSearchState();
106
+ this.setState(helper.pipe([Shuttle_actions.navigateTo(item, dest), Shuttle_actions.resetCheckedItems()]));
107
+ }
108
+
109
+ resetCheckedItems() {
110
+ this.setState(Shuttle_actions.resetCheckedItems());
111
+ }
112
+
113
+ resetMovedItems() {
114
+ const {
115
+ selectedItems,
116
+ onRemoveAllFromTarget
117
+ } = this.props;
118
+
119
+ if (!selectedItems) {
120
+ this.setState(helper.pipe([Shuttle_actions.navigateTo({
121
+ id: null
122
+ }, true), Shuttle_actions.resetMovedItems()]), () => {
123
+ this.handleChange();
238
124
  });
239
- onAddCheckedItems(items);
125
+ } else {
126
+ this.setState(helper.pipe([Shuttle_actions.navigateTo({
127
+ id: null
128
+ }, true)]));
240
129
  }
241
- }, {
242
- key: "handleTargetSortEnd",
243
- value: function handleTargetSortEnd(_ref) {
244
- var sourceItem = _ref.sourceItem,
245
- targetItem = _ref.targetItem;
246
- var _this$props6 = this.props,
247
- idField = _this$props6.idField,
248
- onTargetSortEnd = _this$props6.onTargetSortEnd;
249
- var _this$state2 = this.state,
250
- targetItems = _this$state2.targetItems,
251
- hierarchyDest = _this$state2.hierarchyDest,
252
- movedItems = _this$state2.movedItems;
253
- var hierarchyId = helper.getActiveIdFromHierarchy(hierarchyDest).id;
254
- var collection = !hierarchyId ? movedItems : targetItems;
255
- var oldIndex = collection.findIndex(function (tItem) {
256
- return tItem[idField] === sourceItem[idField];
257
- });
258
- var newIndex = collection.findIndex(function (tItem) {
259
- return tItem[idField] === targetItem[idField];
260
- });
261
- var sortedMovedItems = !hierarchyId ? dsUtilities.arrayMove(movedItems, oldIndex, newIndex) : movedItems;
262
- var sortedItems = hierarchyId ? dsUtilities.arrayMove(targetItems, oldIndex, newIndex) : targetItems;
263
- this.setState({
264
- targetItems: sortedItems,
265
- movedItems: sortedMovedItems
130
+
131
+ onRemoveAllFromTarget();
132
+ }
133
+
134
+ addToTarget(item) {
135
+ const {
136
+ selectedItems,
137
+ onAddToTarget
138
+ } = this.props;
139
+
140
+ if (!selectedItems) {
141
+ this.setState(helper.pipe([Shuttle_actions.addToTarget(item), Shuttle_actions.resetCheckedItems()]), () => {
142
+ this.handleChange();
266
143
  });
267
- onTargetSortEnd({
268
- sourceItem: sourceItem,
269
- targetItem: targetItem
144
+ }
145
+
146
+ onAddToTarget(item);
147
+ }
148
+
149
+ removeFromTarget(item) {
150
+ const {
151
+ selectedItems,
152
+ onRemoveFromTarget
153
+ } = this.props;
154
+
155
+ if (!selectedItems) {
156
+ this.setState(helper.pipe([Shuttle_actions.removeFromTarget(item)]), () => {
157
+ this.handleChange();
270
158
  });
271
159
  }
272
- }, {
273
- key: "render",
274
- value: function render() {
275
- var _this6 = this;
276
-
277
- var _this$props7 = this.props;
278
- _this$props7.idField;
279
- var nonSelectedItems = _this$props7.nonSelectedItems,
280
- moreItemsLoading = _this$props7.moreItemsLoading,
281
- rest = _objectWithoutProperties__default['default'](_this$props7, _excluded);
282
-
283
- var _this$state3 = this.state,
284
- hierarchy = _this$state3.hierarchy,
285
- hierarchyDest = _this$state3.hierarchyDest,
286
- checkedItems = _this$state3.checkedItems,
287
- movedItems = _this$state3.movedItems,
288
- items = _this$state3.preparedItems,
289
- targetItems = _this$state3.targetItems;
290
- var _this$context$state = this.context.state,
291
- searchTerm = _this$context$state.searchTerm,
292
- searching = _this$context$state.searching;
293
-
294
- var handleControlledSourceItms = function handleControlledSourceItms() {
295
- var _getActiveIdFromHiera = helper.getActiveIdFromHierarchy(hierarchy),
296
- id = _getActiveIdFromHiera.id;
297
-
298
- if (id) {
299
- return helper.filterBySearch(searchTerm, searching)(helper.getChildrenFromParent(id)(nonSelectedItems.map(function (it) {
300
- return items.find(function (itt) {
301
- return itt.id === it;
302
- });
303
- })));
304
- }
305
-
306
- return helper.filterBySearch(searchTerm, searching)(items.filter(function (it) {
307
- return nonSelectedItems.some(function (itt) {
308
- return itt === it.id && !nonSelectedItems.some(function (ittt) {
309
- return ittt === it.parent;
310
- });
311
- });
312
- }));
313
- };
314
-
315
- var composedSourceItems; // controlled V2 TODO make it default controlled behavior
316
-
317
- if (nonSelectedItems) {
318
- composedSourceItems = handleControlledSourceItms();
319
- } else {
320
- composedSourceItems = dsUtilities.compose(helper.filterBySearch(searchTerm, searching), helper.filterMovedItems(movedItems), helper.getChildrenFromParent(helper.getActiveIdFromHierarchy(hierarchy).id))(items);
160
+
161
+ onRemoveFromTarget(item);
162
+ }
163
+
164
+ toggleItemSelection(item) {
165
+ this.setState(Shuttle_actions.toggleItemSelection(item.id));
166
+ }
167
+
168
+ moveCheckedItems() {
169
+ const {
170
+ onAddCheckedItems,
171
+ selectedItems,
172
+ nonSelectedItems
173
+ } = this.props;
174
+ const {
175
+ checkedItems,
176
+ preparedItems
177
+ } = this.state;
178
+ const isControlledV2 = !!selectedItems && !!nonSelectedItems;
179
+ const checked = isControlledV2 ? nonSelectedItems.filter(item => checkedItems.some(check => check === item)) : checkedItems;
180
+ const items = helper.getItemsById(checked, preparedItems);
181
+ const actions = !selectedItems ? items.map(item => Shuttle_actions.addToTarget(item)) : [];
182
+ this.setState(helper.pipe([...actions, Shuttle_actions.resetCheckedItems()]), () => {
183
+ this.handleChange();
184
+ });
185
+ onAddCheckedItems(items);
186
+ }
187
+
188
+ handleTargetSortEnd(_ref) {
189
+ let {
190
+ sourceItem,
191
+ targetItem
192
+ } = _ref;
193
+ const {
194
+ idField,
195
+ onTargetSortEnd
196
+ } = this.props;
197
+ const {
198
+ targetItems,
199
+ hierarchyDest,
200
+ movedItems
201
+ } = this.state;
202
+ const hierarchyId = helper.getActiveIdFromHierarchy(hierarchyDest).id;
203
+ const collection = !hierarchyId ? movedItems : targetItems;
204
+ const oldIndex = collection.findIndex(tItem => tItem[idField] === sourceItem[idField]);
205
+ const newIndex = collection.findIndex(tItem => tItem[idField] === targetItem[idField]);
206
+ const sortedMovedItems = !hierarchyId ? dsUtilities.arrayMove(movedItems, oldIndex, newIndex) : movedItems;
207
+ const sortedItems = hierarchyId ? dsUtilities.arrayMove(targetItems, oldIndex, newIndex) : targetItems;
208
+ this.setState({
209
+ targetItems: sortedItems,
210
+ movedItems: sortedMovedItems
211
+ });
212
+ onTargetSortEnd({
213
+ sourceItem,
214
+ targetItem
215
+ });
216
+ }
217
+
218
+ render() {
219
+ const _this$props = this.props,
220
+ {
221
+ idField,
222
+ nonSelectedItems,
223
+ moreItemsLoading
224
+ } = _this$props,
225
+ rest = _objectWithoutProperties__default["default"](_this$props, _excluded);
226
+
227
+ const {
228
+ hierarchy,
229
+ hierarchyDest,
230
+ checkedItems,
231
+ movedItems,
232
+ preparedItems: items,
233
+ targetItems
234
+ } = this.state;
235
+ const {
236
+ state: {
237
+ searchTerm,
238
+ searching
321
239
  }
240
+ } = this.context;
241
+
242
+ const handleControlledSourceItms = () => {
243
+ const {
244
+ id
245
+ } = helper.getActiveIdFromHierarchy(hierarchy);
322
246
 
323
- var handleControlledTargetItms = function handleControlledTargetItms() {
324
- var _getActiveIdFromHiera2 = helper.getActiveIdFromHierarchy(hierarchyDest),
325
- id = _getActiveIdFromHiera2.id;
326
-
327
- if (id) {
328
- return helper.getChildrenFromParent(helper.getActiveIdFromHierarchy(hierarchyDest).id)(_this6.props.selectedItems.map(function (it) {
329
- return items.find(function (itt) {
330
- return itt.id === it;
331
- });
332
- }));
333
- }
334
-
335
- return targetItems.filter(function (it) {
336
- return _this6.props.selectedItems.some(function (itt) {
337
- return itt === it.id && !_this6.props.selectedItems.some(function (ittt) {
338
- return ittt === it.parent;
339
- });
340
- });
341
- });
342
- };
343
-
344
- var composedTargetItems; // controlled V2 TODO make it default controlled behavior
345
-
346
- if (nonSelectedItems) {
347
- composedTargetItems = handleControlledTargetItms();
348
- } else {
349
- composedTargetItems = dsUtilities.compose(function (tItems) {
350
- var hierarchyId = helper.getActiveIdFromHierarchy(hierarchyDest).id;
351
- return hierarchyId ? dsUtilities.compose(helper.filterMovedItems(movedItems), helper.getChildrenFromParent(hierarchyId))(tItems) : movedItems;
352
- })(targetItems);
247
+ if (id) {
248
+ return helper.filterBySearch(searchTerm, searching)(helper.getChildrenFromParent(id)(nonSelectedItems.map(it => items.find(itt => itt.id === it))));
353
249
  }
354
250
 
355
- return /*#__PURE__*/React__default['default'].createElement(ShuttleRenderer, _extends__default['default']({}, rest, {
356
- moreItemsLoading: moreItemsLoading,
357
- checkedItems: checkedItems,
358
- hierarchy: hierarchy,
359
- hierarchyDest: hierarchyDest,
360
- onCheckItem: this.toggleItemSelection,
361
- onClearCheckedItems: this.resetCheckedItems,
362
- onClearMovedItems: this.resetMovedItems,
363
- onItemCheck: this.toggleItemSelection,
364
- onMoveCheckedItems: this.moveCheckedItems,
365
- onMoveItemToSource: function onMoveItemToSource(item) {
366
- return _this6.removeFromTarget(item, false);
367
- },
368
- onMoveItemToTarget: function onMoveItemToTarget(item) {
369
- return _this6.addToTarget(item, true);
370
- },
371
- onNavigateOnSourceTo: function onNavigateOnSourceTo(item, direction) {
372
- return _this6.navigate(item, false, direction);
373
- },
374
- onNavigateOnTargetTo: function onNavigateOnTargetTo(item, direction) {
375
- return _this6.navigate(item, true, direction);
376
- },
377
- onSourceSortEnd: function onSourceSortEnd() {
378
- return null;
379
- },
380
- onTargetSortEnd: this.handleTargetSortEnd,
381
- sourceItems: composedSourceItems,
382
- targetItems: composedTargetItems
383
- }));
251
+ return helper.filterBySearch(searchTerm, searching)(items.filter(it => nonSelectedItems.some(itt => itt === it.id && !nonSelectedItems.some(ittt => ittt === it.parent))));
252
+ };
253
+
254
+ let composedSourceItems; // controlled V2 TODO make it default controlled behavior
255
+
256
+ if (nonSelectedItems) {
257
+ composedSourceItems = handleControlledSourceItms();
258
+ } else {
259
+ composedSourceItems = dsUtilities.compose(helper.filterBySearch(searchTerm, searching), helper.filterMovedItems(movedItems), helper.getChildrenFromParent(helper.getActiveIdFromHierarchy(hierarchy).id))(items);
384
260
  }
385
- }], [{
386
- key: "getDerivedStateFromProps",
387
- value: function getDerivedStateFromProps(nextProps, prevState) {
388
- return updateShuttleStateFromProps(nextProps, prevState);
261
+
262
+ const handleControlledTargetItms = () => {
263
+ const {
264
+ id
265
+ } = helper.getActiveIdFromHierarchy(hierarchyDest);
266
+
267
+ if (id) {
268
+ return helper.getChildrenFromParent(helper.getActiveIdFromHierarchy(hierarchyDest).id)(this.props.selectedItems.map(it => items.find(itt => itt.id === it)));
269
+ }
270
+
271
+ return targetItems.filter(it => this.props.selectedItems.some(itt => itt === it.id && !this.props.selectedItems.some(ittt => ittt === it.parent)));
272
+ };
273
+
274
+ let composedTargetItems; // controlled V2 TODO make it default controlled behavior
275
+
276
+ if (nonSelectedItems) {
277
+ composedTargetItems = handleControlledTargetItms();
278
+ } else {
279
+ composedTargetItems = dsUtilities.compose(tItems => {
280
+ const hierarchyId = helper.getActiveIdFromHierarchy(hierarchyDest).id;
281
+ return hierarchyId ? dsUtilities.compose(helper.filterMovedItems(movedItems), helper.getChildrenFromParent(hierarchyId))(tItems) : movedItems;
282
+ })(targetItems);
389
283
  }
390
- }]);
391
284
 
392
- return ShuttleImpl;
393
- }(React.Component);
285
+ return /*#__PURE__*/jsxRuntime.jsx(ShuttleRenderer, _objectSpread(_objectSpread({}, rest), {}, {
286
+ moreItemsLoading: moreItemsLoading,
287
+ checkedItems: checkedItems,
288
+ hierarchy: hierarchy,
289
+ hierarchyDest: hierarchyDest,
290
+ onCheckItem: this.toggleItemSelection,
291
+ onClearCheckedItems: this.resetCheckedItems,
292
+ onClearMovedItems: this.resetMovedItems,
293
+ onItemCheck: this.toggleItemSelection,
294
+ onMoveCheckedItems: this.moveCheckedItems,
295
+ onMoveItemToSource: item => this.removeFromTarget(item, false),
296
+ onMoveItemToTarget: item => this.addToTarget(item, true),
297
+ onNavigateOnSourceTo: (item, direction) => this.navigate(item, false, direction),
298
+ onNavigateOnTargetTo: (item, direction) => this.navigate(item, true, direction),
299
+ onSourceSortEnd: () => null,
300
+ onTargetSortEnd: this.handleTargetSortEnd,
301
+ sourceItems: composedSourceItems,
302
+ targetItems: composedTargetItems
303
+ }));
304
+ }
305
+
306
+ }
394
307
 
395
308
  ShuttleImpl.contextType = SearchState.Context;
396
309
  var ShuttleImpl$1 = withProviders(ShuttleImpl);
397
310
 
398
311
  module.exports = ShuttleImpl$1;
399
- //# sourceMappingURL=ShuttleImpl.js.map