@dhis2-ui/transfer 8.1.11 → 8.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/__e2e__/add_remove-highlighted-options.stories.e2e.js +30 -21
- package/build/cjs/__e2e__/common/stateful-decorator.js +26 -19
- package/build/cjs/__e2e__/disabled-transfer-buttons.stories.e2e.js +70 -49
- package/build/cjs/__e2e__/disabled-transfer-options.stories.e2e.js +14 -11
- package/build/cjs/__e2e__/display-order.stories.e2e.js +29 -20
- package/build/cjs/__e2e__/filter-options-list.stories.e2e.js +97 -73
- package/build/cjs/__e2e__/highlight-range-of-options.stories.e2e.js +49 -34
- package/build/cjs/__e2e__/loading_lists.stories.e2e.js +1 -1
- package/build/cjs/__e2e__/notify_at_end_of_list.stories.e2e.js +61 -43
- package/build/cjs/__e2e__/reorder-with-buttons.stories.e2e.js +19 -13
- package/build/cjs/__e2e__/set_unset-highlighted-option.stories.e2e.js +30 -21
- package/build/cjs/__e2e__/transferring-items.stories.e2e.js +29 -20
- package/build/cjs/__tests__/helper/use-highlighted-option/toggle-add.test.js +6 -3
- package/build/cjs/__tests__/helper/use-highlighted-option/toggle-range.test.js +48 -24
- package/build/cjs/__tests__/transfer.test.js +18 -10
- package/build/cjs/actions.js +13 -10
- package/build/cjs/add-all.js +17 -14
- package/build/cjs/add-individual.js +16 -13
- package/build/cjs/common/get-mode-by-modifier-key.js +7 -6
- package/build/cjs/common/modes.js +1 -1
- package/build/cjs/container.js +15 -12
- package/build/cjs/end-intersection-detector.js +21 -15
- package/build/cjs/features/disabled-transfer-options/index.js +4 -2
- package/build/cjs/features/display-order/index.js +47 -26
- package/build/cjs/features/filter-options-list/index.js +6 -3
- package/build/cjs/features/highlight-range-of-options/index.js +10 -5
- package/build/cjs/features/loading_lists/index.js +2 -2
- package/build/cjs/features/notify_at_end_of_list/index.js +5 -3
- package/build/cjs/features/set_unset-highlighted-option/index.js +6 -3
- package/build/cjs/features/transferring-items/index.js +77 -42
- package/build/cjs/filter.js +26 -23
- package/build/cjs/icons.js +134 -116
- package/build/cjs/left-footer.js +13 -10
- package/build/cjs/left-header.js +13 -10
- package/build/cjs/left-side.js +19 -16
- package/build/cjs/options-container.js +17 -16
- package/build/cjs/picked-options.js +22 -19
- package/build/cjs/remove-all.js +16 -13
- package/build/cjs/remove-individual.js +16 -13
- package/build/cjs/reordering-actions.js +34 -31
- package/build/cjs/right-footer.js +13 -10
- package/build/cjs/right-header.js +13 -10
- package/build/cjs/right-side.js +19 -16
- package/build/cjs/source-options.js +22 -19
- package/build/cjs/transfer/add-all-selectable-source-options.js +13 -9
- package/build/cjs/transfer/add-individual-source-options.js +11 -9
- package/build/cjs/transfer/create-double-click-handlers.js +17 -13
- package/build/cjs/transfer/default-filter-callback.js +6 -3
- package/build/cjs/transfer/is-reorder-down-disabled.js +10 -6
- package/build/cjs/transfer/is-reorder-up-disabled.js +10 -6
- package/build/cjs/transfer/move-highlighted-picked-option-down.js +6 -5
- package/build/cjs/transfer/move-highlighted-picked-option-up.js +6 -5
- package/build/cjs/transfer/remove-all-picked-options.js +5 -4
- package/build/cjs/transfer/remove-individual-picked-options.js +10 -8
- package/build/cjs/transfer/use-filter.js +8 -7
- package/build/cjs/transfer/use-highlighted-options/create-toggle-highlighted-option.js +45 -40
- package/build/cjs/transfer/use-highlighted-options/toggle-add.js +7 -6
- package/build/cjs/transfer/use-highlighted-options/toggle-range.js +16 -11
- package/build/cjs/transfer/use-highlighted-options/toggle-replace.js +7 -5
- package/build/cjs/transfer/use-highlighted-options.js +7 -5
- package/build/cjs/transfer-option.js +12 -11
- package/build/cjs/transfer.js +86 -72
- package/build/cjs/transfer.stories.js +127 -131
- package/build/es/__e2e__/add_remove-highlighted-options.stories.e2e.js +29 -20
- package/build/es/__e2e__/common/stateful-decorator.js +26 -19
- package/build/es/__e2e__/disabled-transfer-buttons.stories.e2e.js +69 -48
- package/build/es/__e2e__/disabled-transfer-options.stories.e2e.js +13 -10
- package/build/es/__e2e__/display-order.stories.e2e.js +28 -19
- package/build/es/__e2e__/filter-options-list.stories.e2e.js +96 -72
- package/build/es/__e2e__/highlight-range-of-options.stories.e2e.js +48 -33
- package/build/es/__e2e__/notify_at_end_of_list.stories.e2e.js +60 -42
- package/build/es/__e2e__/reorder-with-buttons.stories.e2e.js +18 -12
- package/build/es/__e2e__/set_unset-highlighted-option.stories.e2e.js +29 -20
- package/build/es/__e2e__/transferring-items.stories.e2e.js +28 -19
- package/build/es/__tests__/helper/use-highlighted-option/toggle-add.test.js +6 -3
- package/build/es/__tests__/helper/use-highlighted-option/toggle-range.test.js +48 -24
- package/build/es/__tests__/transfer.test.js +18 -10
- package/build/es/actions.js +13 -10
- package/build/es/add-all.js +17 -14
- package/build/es/add-individual.js +16 -13
- package/build/es/common/get-mode-by-modifier-key.js +7 -6
- package/build/es/container.js +15 -12
- package/build/es/end-intersection-detector.js +21 -15
- package/build/es/features/disabled-transfer-options/index.js +4 -2
- package/build/es/features/display-order/index.js +47 -26
- package/build/es/features/filter-options-list/index.js +6 -3
- package/build/es/features/highlight-range-of-options/index.js +10 -5
- package/build/es/features/loading_lists/index.js +2 -2
- package/build/es/features/notify_at_end_of_list/index.js +5 -3
- package/build/es/features/set_unset-highlighted-option/index.js +6 -3
- package/build/es/features/transferring-items/index.js +77 -42
- package/build/es/filter.js +26 -23
- package/build/es/icons.js +133 -115
- package/build/es/left-footer.js +13 -10
- package/build/es/left-header.js +13 -10
- package/build/es/left-side.js +19 -16
- package/build/es/options-container.js +17 -16
- package/build/es/picked-options.js +22 -19
- package/build/es/remove-all.js +16 -13
- package/build/es/remove-individual.js +16 -13
- package/build/es/reordering-actions.js +34 -31
- package/build/es/right-footer.js +13 -10
- package/build/es/right-header.js +13 -10
- package/build/es/right-side.js +19 -16
- package/build/es/source-options.js +22 -19
- package/build/es/transfer/add-all-selectable-source-options.js +13 -9
- package/build/es/transfer/add-individual-source-options.js +11 -9
- package/build/es/transfer/create-double-click-handlers.js +17 -13
- package/build/es/transfer/default-filter-callback.js +6 -3
- package/build/es/transfer/is-reorder-down-disabled.js +10 -6
- package/build/es/transfer/is-reorder-up-disabled.js +10 -6
- package/build/es/transfer/move-highlighted-picked-option-down.js +6 -5
- package/build/es/transfer/move-highlighted-picked-option-up.js +6 -5
- package/build/es/transfer/remove-all-picked-options.js +5 -4
- package/build/es/transfer/remove-individual-picked-options.js +10 -8
- package/build/es/transfer/use-filter.js +8 -7
- package/build/es/transfer/use-highlighted-options/create-toggle-highlighted-option.js +45 -40
- package/build/es/transfer/use-highlighted-options/toggle-add.js +7 -6
- package/build/es/transfer/use-highlighted-options/toggle-range.js +16 -11
- package/build/es/transfer/use-highlighted-options/toggle-replace.js +7 -5
- package/build/es/transfer/use-highlighted-options.js +7 -5
- package/build/es/transfer-option.js +12 -11
- package/build/es/transfer.js +86 -72
- package/build/es/transfer.stories.js +126 -130
- package/package.json +7 -7
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.default = exports.SourceEmptyPlaceholder = exports.SingleSelection = exports.Reordering = exports.PickedEmptyComponent = exports.OptionsFooter = exports.Multiple = exports.LoadingSource = exports.LoadingPicked = exports.InfiniteLoading = exports.IndividualCustomOption = exports.IncreasedOptionsHeight = exports.Header = exports.FilteredPlaceholder = exports.FilteredPicked = exports.Filtered = exports.DifferentWidths = exports.CustomListOptions = exports.CustomFilteringWithoutFilterInput = exports.CustomFilteringWithFilterInput = exports.CustomButtonText = void 0;
|
|
7
7
|
|
|
8
8
|
var _select = require("@dhis2-ui/select");
|
|
9
9
|
|
|
@@ -26,37 +26,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
26
26
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
27
27
|
|
|
28
28
|
const subtitle = 'Allows users to select options from a list';
|
|
29
|
-
const description =
|
|
30
|
-
#### Usage
|
|
31
|
-
|
|
32
|
-
Use a transfer component wherever a user needs to make a complex selection. Simple selections can be achieved with checkboxes, radio buttons or a select.
|
|
33
|
-
|
|
34
|
-
There are use-cases that are particularly suitable for a transfer component:
|
|
35
|
-
|
|
36
|
-
- when a user needs to select some options from several different groups at the same time
|
|
37
|
-
- if the selection needs to have a defined order
|
|
38
|
-
- when the user will be interacting with and editing the selection often
|
|
39
|
-
- if a user needs to easily compare non-selected and selected options
|
|
40
|
-
- if a user is making selections as part of a complex flow, especially where there are many options to choose from
|
|
41
|
-
|
|
42
|
-
#### Terminology
|
|
43
|
-
|
|
44
|
-
This component has to differentiate between different types of options,
|
|
45
|
-
here's an explanation of their meaning:
|
|
46
|
-
|
|
47
|
-
- source options: These are options listed on the left and are available for selection
|
|
48
|
-
- picked options: These options have been selected by the user and are on the right side
|
|
49
|
-
- highlighted option: These are visually highlighted options than can be on either side and are ready for transferral with the action buttons to the other side
|
|
50
|
-
- filtered options: These are the displayed source options filtered by a search term or a custom search algorithm. The api surface uses "selected" for "picked" to be consistent with the rest of the library
|
|
51
|
-
|
|
52
|
-
#### More details
|
|
53
|
-
|
|
54
|
-
See more about the options available for Transfers at [Design System: Transfer](https://github.com/dhis2/design-system/blob/master/organisms/transfer.md#transfer).
|
|
55
|
-
|
|
56
|
-
\`\`\`js
|
|
57
|
-
import { Transfer, TransferOption } from '@dhis2/ui'
|
|
58
|
-
\`\`\`
|
|
59
|
-
`;
|
|
29
|
+
const description = "\n#### Usage\n\nUse a transfer component wherever a user needs to make a complex selection. Simple selections can be achieved with checkboxes, radio buttons or a select.\n\nThere are use-cases that are particularly suitable for a transfer component:\n\n- when a user needs to select some options from several different groups at the same time\n- if the selection needs to have a defined order\n- when the user will be interacting with and editing the selection often\n- if a user needs to easily compare non-selected and selected options\n- if a user is making selections as part of a complex flow, especially where there are many options to choose from\n\n#### Terminology\n\nThis component has to differentiate between different types of options,\nhere's an explanation of their meaning:\n\n- source options: These are options listed on the left and are available for selection\n- picked options: These options have been selected by the user and are on the right side\n- highlighted option: These are visually highlighted options than can be on either side and are ready for transferral with the action buttons to the other side\n- filtered options: These are the displayed source options filtered by a search term or a custom search algorithm. The api surface uses \"selected\" for \"picked\" to be consistent with the rest of the library\n\n#### More details\n\nSee more about the options available for Transfers at [Design System: Transfer](https://github.com/dhis2/design-system/blob/master/organisms/transfer.md#transfer).\n\n```js\nimport { Transfer, TransferOption } from '@dhis2/ui'\n```\n";
|
|
60
30
|
const options = [{
|
|
61
31
|
label: 'ANC 1st visit',
|
|
62
32
|
value: 'anc_1st_visit'
|
|
@@ -134,7 +104,7 @@ const options = [{
|
|
|
134
104
|
*/
|
|
135
105
|
|
|
136
106
|
var _default = {
|
|
137
|
-
title: '
|
|
107
|
+
title: 'Transfer',
|
|
138
108
|
component: _transfer.Transfer,
|
|
139
109
|
parameters: {
|
|
140
110
|
componentSubtitle: subtitle,
|
|
@@ -154,10 +124,11 @@ var _default = {
|
|
|
154
124
|
};
|
|
155
125
|
exports.default = _default;
|
|
156
126
|
|
|
157
|
-
const StatefulTemplate =
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
127
|
+
const StatefulTemplate = _ref => {
|
|
128
|
+
let {
|
|
129
|
+
initiallySelected,
|
|
130
|
+
...args
|
|
131
|
+
} = _ref;
|
|
161
132
|
const [selected, setSelected] = (0, _react.useState)(initiallySelected);
|
|
162
133
|
|
|
163
134
|
const onChange = payload => setSelected(payload.selected);
|
|
@@ -213,9 +184,12 @@ exports.FilteredPicked = FilteredPicked;
|
|
|
213
184
|
FilteredPicked.args = {
|
|
214
185
|
filterablePicked: true,
|
|
215
186
|
initialSearchTermPicked: 'ANC',
|
|
216
|
-
initiallySelected: options.map(
|
|
217
|
-
|
|
218
|
-
|
|
187
|
+
initiallySelected: options.map(_ref2 => {
|
|
188
|
+
let {
|
|
189
|
+
value
|
|
190
|
+
} = _ref2;
|
|
191
|
+
return value;
|
|
192
|
+
})
|
|
219
193
|
};
|
|
220
194
|
const FilteredPlaceholder = StatefulTemplate.bind({});
|
|
221
195
|
exports.FilteredPlaceholder = FilteredPlaceholder;
|
|
@@ -225,39 +199,33 @@ FilteredPlaceholder.args = {
|
|
|
225
199
|
filterPlaceholder: 'Search'
|
|
226
200
|
};
|
|
227
201
|
|
|
228
|
-
const renderOption =
|
|
229
|
-
|
|
230
|
-
value,
|
|
231
|
-
onClick,
|
|
232
|
-
highlighted,
|
|
233
|
-
selected
|
|
234
|
-
}) => /*#__PURE__*/_react.default.createElement("p", {
|
|
235
|
-
onClick: event => onClick({
|
|
202
|
+
const renderOption = _ref3 => {
|
|
203
|
+
let {
|
|
236
204
|
label,
|
|
237
|
-
value
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
</p
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
}
|
|
205
|
+
value,
|
|
206
|
+
onClick,
|
|
207
|
+
highlighted,
|
|
208
|
+
selected
|
|
209
|
+
} = _ref3;
|
|
210
|
+
return /*#__PURE__*/_react.default.createElement("p", {
|
|
211
|
+
onClick: event => onClick({
|
|
212
|
+
label,
|
|
213
|
+
value
|
|
214
|
+
}, event),
|
|
215
|
+
style: {
|
|
216
|
+
background: highlighted ? 'green' : 'blue',
|
|
217
|
+
color: selected ? 'orange' : 'white'
|
|
218
|
+
}
|
|
219
|
+
}, "Custom: ", label, " (label), ", value, " (value)");
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
const RenderOptionCode = () => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("strong", null, "Custom option code:"), /*#__PURE__*/_react.default.createElement("code", null, /*#__PURE__*/_react.default.createElement("pre", null, "const renderOption = ({ label, value, onClick, highlighted, selected }) => (\n <p\n onClick={event => onClick({ label, value }, event)}\n style={{\n background: highlighted ? 'green' : 'blue',\n color: selected ? 'orange' : 'white',\n }}\n >\n Custom: {label} (label), {value} (value)\n </p>\n )")));
|
|
223
|
+
|
|
224
|
+
const StatefulTemplateCustomRenderOption = _ref4 => {
|
|
225
|
+
let {
|
|
226
|
+
initiallySelected,
|
|
227
|
+
...args
|
|
228
|
+
} = _ref4;
|
|
261
229
|
const [selected, setSelected] = (0, _react.useState)(initiallySelected);
|
|
262
230
|
|
|
263
231
|
const onChange = payload => setSelected(payload.selected);
|
|
@@ -281,9 +249,12 @@ exports.CustomListOptions = CustomListOptions;
|
|
|
281
249
|
CustomListOptions.args = {
|
|
282
250
|
renderOption,
|
|
283
251
|
options: options.slice(0, 2),
|
|
284
|
-
initiallySelected: options.slice(0, 2).map(
|
|
285
|
-
|
|
286
|
-
|
|
252
|
+
initiallySelected: options.slice(0, 2).map(_ref5 => {
|
|
253
|
+
let {
|
|
254
|
+
value
|
|
255
|
+
} = _ref5;
|
|
256
|
+
return value;
|
|
257
|
+
})
|
|
287
258
|
};
|
|
288
259
|
const IndividualCustomOption = StatefulTemplateCustomRenderOption.bind({});
|
|
289
260
|
exports.IndividualCustomOption = IndividualCustomOption;
|
|
@@ -337,9 +308,12 @@ exports.Reordering = Reordering;
|
|
|
337
308
|
Reordering.args = {
|
|
338
309
|
enableOrderChange: true,
|
|
339
310
|
options: options.slice(0, 4),
|
|
340
|
-
initiallySelected: options.slice(0, 4).map(
|
|
341
|
-
|
|
342
|
-
|
|
311
|
+
initiallySelected: options.slice(0, 4).map(_ref6 => {
|
|
312
|
+
let {
|
|
313
|
+
value
|
|
314
|
+
} = _ref6;
|
|
315
|
+
return value;
|
|
316
|
+
})
|
|
343
317
|
};
|
|
344
318
|
const IncreasedOptionsHeight = StatefulTemplate.bind({});
|
|
345
319
|
exports.IncreasedOptionsHeight = IncreasedOptionsHeight;
|
|
@@ -366,37 +340,40 @@ const createCustomFilteringInHeader = hideFilterInput => {
|
|
|
366
340
|
}));
|
|
367
341
|
const allOptions = [...relativePeriods, ...fixedPeriods];
|
|
368
342
|
|
|
369
|
-
const Header =
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
343
|
+
const Header = _ref7 => {
|
|
344
|
+
let {
|
|
345
|
+
onClick,
|
|
346
|
+
relativePeriod,
|
|
347
|
+
selectedYear,
|
|
348
|
+
onSelectedYearChange
|
|
349
|
+
} = _ref7;
|
|
350
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_tab.TabBar, null, /*#__PURE__*/_react.default.createElement(_tab.Tab, {
|
|
351
|
+
selected: relativePeriod,
|
|
352
|
+
onClick: () => onClick({
|
|
353
|
+
relativePeriod: true
|
|
354
|
+
})
|
|
355
|
+
}, "Relative periods"), /*#__PURE__*/_react.default.createElement(_tab.Tab, {
|
|
356
|
+
selected: !relativePeriod,
|
|
357
|
+
onClick: () => onClick({
|
|
358
|
+
relativePeriod: false
|
|
359
|
+
})
|
|
360
|
+
}, "Fixed periods")), /*#__PURE__*/_react.default.createElement("p", {
|
|
361
|
+
style: {
|
|
362
|
+
margin: 0,
|
|
363
|
+
height: 10
|
|
364
|
+
}
|
|
365
|
+
}), /*#__PURE__*/_react.default.createElement(_select.SingleSelectField, {
|
|
366
|
+
label: "Year",
|
|
367
|
+
selected: selectedYear,
|
|
368
|
+
onChange: onSelectedYearChange
|
|
369
|
+
}, /*#__PURE__*/_react.default.createElement(_select.SingleSelectOption, {
|
|
370
|
+
value: "2020",
|
|
371
|
+
label: "2020"
|
|
372
|
+
}), /*#__PURE__*/_react.default.createElement(_select.SingleSelectOption, {
|
|
373
|
+
value: "2019",
|
|
374
|
+
label: "2019"
|
|
375
|
+
})));
|
|
376
|
+
};
|
|
400
377
|
/* eslint-enable react/prop-types */
|
|
401
378
|
|
|
402
379
|
|
|
@@ -413,20 +390,29 @@ const createCustomFilteringInHeader = hideFilterInput => {
|
|
|
413
390
|
return optionsWithPeriod;
|
|
414
391
|
}
|
|
415
392
|
|
|
416
|
-
return optionsWithPeriod.filter(
|
|
417
|
-
|
|
418
|
-
|
|
393
|
+
return optionsWithPeriod.filter(_ref8 => {
|
|
394
|
+
let {
|
|
395
|
+
label
|
|
396
|
+
} = _ref8;
|
|
397
|
+
return label.indexOf(filter) !== -1;
|
|
398
|
+
});
|
|
419
399
|
};
|
|
420
400
|
|
|
421
401
|
const header = /*#__PURE__*/_react.default.createElement(Header, {
|
|
422
402
|
relativePeriod: relativePeriod,
|
|
423
403
|
selectedYear: year,
|
|
424
|
-
onSelectedYearChange:
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
}
|
|
404
|
+
onSelectedYearChange: _ref9 => {
|
|
405
|
+
let {
|
|
406
|
+
selected
|
|
407
|
+
} = _ref9;
|
|
408
|
+
return setYear(selected);
|
|
409
|
+
},
|
|
410
|
+
onClick: _ref10 => {
|
|
411
|
+
let {
|
|
412
|
+
relativePeriod: newRelativePeriod
|
|
413
|
+
} = _ref10;
|
|
414
|
+
return setRelativePeriod(newRelativePeriod);
|
|
415
|
+
}
|
|
430
416
|
});
|
|
431
417
|
|
|
432
418
|
return /*#__PURE__*/_react.default.createElement(_transfer.Transfer, _extends({}, props, {
|
|
@@ -437,19 +423,23 @@ const createCustomFilteringInHeader = hideFilterInput => {
|
|
|
437
423
|
filterCallback: filterCallback,
|
|
438
424
|
leftHeader: header,
|
|
439
425
|
rightHeader: /*#__PURE__*/_react.default.createElement("p", null, /*#__PURE__*/_react.default.createElement("b", null, "Selected Periods")),
|
|
440
|
-
onFilterChange:
|
|
441
|
-
|
|
442
|
-
|
|
426
|
+
onFilterChange: _ref11 => {
|
|
427
|
+
let {
|
|
428
|
+
value
|
|
429
|
+
} = _ref11;
|
|
430
|
+
return setFilter(value);
|
|
431
|
+
},
|
|
443
432
|
height: "400px",
|
|
444
433
|
filterLabel: "Filter options",
|
|
445
434
|
filterPlaceholder: "Search"
|
|
446
435
|
}));
|
|
447
436
|
};
|
|
448
437
|
|
|
449
|
-
return
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
438
|
+
return _ref12 => {
|
|
439
|
+
let {
|
|
440
|
+
initiallySelected,
|
|
441
|
+
...args
|
|
442
|
+
} = _ref12;
|
|
453
443
|
const [selected, setSelected] = (0, _react.useState)(initiallySelected);
|
|
454
444
|
|
|
455
445
|
const onChange = payload => setSelected(payload.selected);
|
|
@@ -485,9 +475,12 @@ const InfiniteLoading = args => {
|
|
|
485
475
|
const [options, setOptions] = (0, _react.useState)([]); // selected options
|
|
486
476
|
|
|
487
477
|
const [selected] = (0, _react.useState)( // second page is already selected
|
|
488
|
-
optionsPool.slice(pageSize, pageSize * 2).map(
|
|
489
|
-
|
|
490
|
-
|
|
478
|
+
optionsPool.slice(pageSize, pageSize * 2).map(_ref13 => {
|
|
479
|
+
let {
|
|
480
|
+
value
|
|
481
|
+
} = _ref13;
|
|
482
|
+
return value;
|
|
483
|
+
}));
|
|
491
484
|
|
|
492
485
|
const onEndReached = () => {
|
|
493
486
|
// do nothing when loading already
|
|
@@ -550,7 +543,10 @@ exports.LoadingPicked = LoadingPicked;
|
|
|
550
543
|
LoadingPicked.args = {
|
|
551
544
|
loadingPicked: true,
|
|
552
545
|
options: options.slice(0, 3),
|
|
553
|
-
initiallySelected: options.slice(0, 2).map(
|
|
554
|
-
|
|
555
|
-
|
|
546
|
+
initiallySelected: options.slice(0, 2).map(_ref14 => {
|
|
547
|
+
let {
|
|
548
|
+
value
|
|
549
|
+
} = _ref14;
|
|
550
|
+
return value;
|
|
551
|
+
})
|
|
556
552
|
};
|
|
@@ -6,27 +6,36 @@ export default {
|
|
|
6
6
|
title: 'Transfer add & remove highlighted options',
|
|
7
7
|
decorators: [statefulDecorator()]
|
|
8
8
|
};
|
|
9
|
-
export const HasOptions = (_, {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
9
|
+
export const HasOptions = (_, _ref) => {
|
|
10
|
+
let {
|
|
11
|
+
onChange,
|
|
12
|
+
selected
|
|
13
|
+
} = _ref;
|
|
14
|
+
return /*#__PURE__*/React.createElement(Transfer, {
|
|
15
|
+
filterable: true,
|
|
16
|
+
selected: selected,
|
|
17
|
+
onChange: onChange,
|
|
18
|
+
options: options
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
export const HasSelected = (_, _ref2) => {
|
|
22
|
+
let {
|
|
23
|
+
onChange,
|
|
24
|
+
selected
|
|
25
|
+
} = _ref2;
|
|
26
|
+
return /*#__PURE__*/React.createElement(Transfer, {
|
|
27
|
+
onChange: onChange,
|
|
28
|
+
selected: selected,
|
|
29
|
+
options: options
|
|
30
|
+
});
|
|
31
|
+
};
|
|
26
32
|
HasSelected.story = {
|
|
27
33
|
decorators: [statefulDecorator({
|
|
28
|
-
initialState: options.slice(0, 4).map(
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
initialState: options.slice(0, 4).map(_ref3 => {
|
|
35
|
+
let {
|
|
36
|
+
value
|
|
37
|
+
} = _ref3;
|
|
38
|
+
return value;
|
|
39
|
+
})
|
|
31
40
|
})]
|
|
32
41
|
};
|
|
@@ -1,31 +1,38 @@
|
|
|
1
1
|
/* eslint-disable react/display-name */
|
|
2
2
|
import React, { useState } from 'react';
|
|
3
3
|
|
|
4
|
-
const WithState =
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
const WithState = _ref => {
|
|
5
|
+
let {
|
|
6
|
+
fn,
|
|
7
|
+
initialState,
|
|
8
|
+
initialSearchTerm,
|
|
9
|
+
controlFilter
|
|
10
|
+
} = _ref;
|
|
10
11
|
const [selected, setSelected] = useState(initialState);
|
|
11
12
|
const [searchTerm, setSearchTerm] = useState(initialSearchTerm);
|
|
12
13
|
return fn({
|
|
13
14
|
selected,
|
|
14
15
|
searchTerm: controlFilter ? searchTerm : undefined,
|
|
15
16
|
onChange: payload => setSelected(payload.selected),
|
|
16
|
-
onFilterChange: controlFilter ?
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
onFilterChange: controlFilter ? _ref2 => {
|
|
18
|
+
let {
|
|
19
|
+
value
|
|
20
|
+
} = _ref2;
|
|
21
|
+
return setSearchTerm(value);
|
|
22
|
+
} : undefined
|
|
19
23
|
});
|
|
20
24
|
};
|
|
21
25
|
|
|
22
|
-
export const statefulDecorator = ({
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
export const statefulDecorator = function () {
|
|
27
|
+
let {
|
|
28
|
+
initialState = [],
|
|
29
|
+
controlFilter = false,
|
|
30
|
+
initialSearchTerm = ''
|
|
31
|
+
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
32
|
+
return fn => /*#__PURE__*/React.createElement(WithState, {
|
|
33
|
+
initialState: initialState,
|
|
34
|
+
initialSearchTerm: initialSearchTerm,
|
|
35
|
+
controlFilter: controlFilter,
|
|
36
|
+
fn: fn
|
|
37
|
+
});
|
|
38
|
+
};
|
|
@@ -6,59 +6,80 @@ export default {
|
|
|
6
6
|
title: 'Transfer Disabled Transfer Buttons',
|
|
7
7
|
decorators: [statefulDecorator()]
|
|
8
8
|
};
|
|
9
|
-
export const NoOptions = (_, {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
9
|
+
export const NoOptions = (_, _ref) => {
|
|
10
|
+
let {
|
|
11
|
+
selected,
|
|
12
|
+
onChange
|
|
13
|
+
} = _ref;
|
|
14
|
+
return /*#__PURE__*/React.createElement(Transfer, {
|
|
15
|
+
selected: selected,
|
|
16
|
+
onChange: onChange,
|
|
17
|
+
options: []
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
export const HasOptions = (_, _ref2) => {
|
|
21
|
+
let {
|
|
22
|
+
selected,
|
|
23
|
+
onChange
|
|
24
|
+
} = _ref2;
|
|
25
|
+
return /*#__PURE__*/React.createElement(Transfer, {
|
|
26
|
+
selected: selected,
|
|
27
|
+
onChange: onChange,
|
|
28
|
+
options: options
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
export const SomeOptionsSelected = (_, _ref3) => {
|
|
32
|
+
let {
|
|
33
|
+
selected,
|
|
34
|
+
onChange
|
|
35
|
+
} = _ref3;
|
|
36
|
+
return /*#__PURE__*/React.createElement(Transfer, {
|
|
37
|
+
selected: selected,
|
|
38
|
+
onChange: onChange,
|
|
39
|
+
options: options
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
export const OnlyDisabledSourceOptions = (_, _ref4) => {
|
|
43
|
+
let {
|
|
44
|
+
selected,
|
|
45
|
+
onChange
|
|
46
|
+
} = _ref4;
|
|
47
|
+
return /*#__PURE__*/React.createElement(Transfer, {
|
|
48
|
+
selected: selected,
|
|
49
|
+
onChange: onChange,
|
|
50
|
+
options: [{ ...options[0],
|
|
51
|
+
disabled: true
|
|
52
|
+
}]
|
|
53
|
+
});
|
|
54
|
+
};
|
|
43
55
|
SomeOptionsSelected.story = {
|
|
44
56
|
decorators: [statefulDecorator({
|
|
45
|
-
initialState: options.slice(0, 4).map(
|
|
46
|
-
|
|
47
|
-
|
|
57
|
+
initialState: options.slice(0, 4).map(_ref5 => {
|
|
58
|
+
let {
|
|
59
|
+
value
|
|
60
|
+
} = _ref5;
|
|
61
|
+
return value;
|
|
62
|
+
})
|
|
48
63
|
})]
|
|
49
64
|
};
|
|
50
|
-
export const AllOptionsSelected = (_, {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
65
|
+
export const AllOptionsSelected = (_, _ref6) => {
|
|
66
|
+
let {
|
|
67
|
+
selected,
|
|
68
|
+
onChange
|
|
69
|
+
} = _ref6;
|
|
70
|
+
return /*#__PURE__*/React.createElement(Transfer, {
|
|
71
|
+
selected: selected,
|
|
72
|
+
onChange: onChange,
|
|
73
|
+
options: options
|
|
74
|
+
});
|
|
75
|
+
};
|
|
58
76
|
AllOptionsSelected.story = {
|
|
59
77
|
decorators: [statefulDecorator({
|
|
60
|
-
initialState: options.map(
|
|
61
|
-
|
|
62
|
-
|
|
78
|
+
initialState: options.map(_ref7 => {
|
|
79
|
+
let {
|
|
80
|
+
value
|
|
81
|
+
} = _ref7;
|
|
82
|
+
return value;
|
|
83
|
+
})
|
|
63
84
|
})]
|
|
64
85
|
};
|
|
@@ -6,13 +6,16 @@ export default {
|
|
|
6
6
|
title: 'Disabled Source Options',
|
|
7
7
|
decorators: [statefulDecorator()]
|
|
8
8
|
};
|
|
9
|
-
export const OneDisabled = (_, {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
9
|
+
export const OneDisabled = (_, _ref) => {
|
|
10
|
+
let {
|
|
11
|
+
selected,
|
|
12
|
+
onChange
|
|
13
|
+
} = _ref;
|
|
14
|
+
return /*#__PURE__*/React.createElement(Transfer, {
|
|
15
|
+
selected: selected,
|
|
16
|
+
onChange: onChange,
|
|
17
|
+
options: [...options.slice(0, 3), { ...options[3],
|
|
18
|
+
disabled: true
|
|
19
|
+
}, ...options.slice(4)]
|
|
20
|
+
});
|
|
21
|
+
};
|