@elliemae/ds-shuttle 1.55.0-next.7 → 2.0.0-alpha.10

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