@dhis2-ui/transfer 10.16.3 → 10.16.5
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.e2e.stories.js +20 -29
- package/build/cjs/__e2e__/common/stateful-decorator.js +20 -28
- package/build/cjs/__e2e__/disabled-transfer-buttons.e2e.stories.js +49 -70
- package/build/cjs/__e2e__/disabled-transfer-options.e2e.stories.js +11 -14
- package/build/cjs/__e2e__/display-order.e2e.stories.js +19 -28
- package/build/cjs/__e2e__/filter-options-list.e2e.stories.js +72 -96
- package/build/cjs/__e2e__/highlight-range-of-options.e2e.stories.js +33 -48
- package/build/cjs/__e2e__/notify_at_end_of_list.e2e.stories.js +47 -67
- package/build/cjs/__e2e__/reorder-with-buttons.e2e.stories.js +15 -24
- package/build/cjs/__e2e__/set_unset-highlighted-option.e2e.stories.js +20 -29
- package/build/cjs/__e2e__/transferring-items.e2e.stories.js +19 -28
- package/build/cjs/__tests__/helper/use-highlighted-option/toggle-add.test.js +3 -6
- package/build/cjs/__tests__/helper/use-highlighted-option/toggle-range.test.js +24 -48
- package/build/cjs/__tests__/transfer.test.js +10 -18
- package/build/cjs/actions.js +10 -13
- package/build/cjs/add-all.js +14 -17
- package/build/cjs/add-individual.js +13 -16
- package/build/cjs/common/get-mode-by-modifier-key.js +6 -7
- package/build/cjs/container.js +12 -15
- package/build/cjs/end-intersection-detector.js +15 -21
- package/build/cjs/features/disabled-transfer-options/index.js +2 -4
- package/build/cjs/features/display-order/index.js +26 -47
- package/build/cjs/features/filter-options-list/index.js +3 -6
- package/build/cjs/features/highlight-range-of-options/index.js +5 -10
- package/build/cjs/features/notify_at_end_of_list/index.js +2 -4
- package/build/cjs/features/set_unset-highlighted-option/index.js +3 -6
- package/build/cjs/features/transferring-items/index.js +41 -75
- package/build/cjs/filter.js +24 -27
- package/build/cjs/icons.js +147 -171
- package/build/cjs/left-footer.js +10 -13
- package/build/cjs/left-header.js +10 -13
- package/build/cjs/left-side.js +16 -19
- package/build/cjs/locales/index.js +6 -1
- package/build/cjs/options-container.js +15 -17
- package/build/cjs/remove-all.js +13 -16
- package/build/cjs/remove-individual.js +13 -16
- package/build/cjs/reordering-actions.js +75 -82
- package/build/cjs/right-footer.js +10 -13
- package/build/cjs/right-header.js +10 -13
- package/build/cjs/right-side.js +16 -19
- package/build/cjs/transfer/add-all-selectable-source-options.js +9 -13
- package/build/cjs/transfer/add-individual-source-options.js +9 -10
- package/build/cjs/transfer/create-double-click-handlers.js +13 -16
- package/build/cjs/transfer/default-filter-callback.js +3 -6
- package/build/cjs/transfer/get-highlighted-picked-indices.js +4 -5
- package/build/cjs/transfer/is-reorder-down-disabled.js +5 -6
- package/build/cjs/transfer/is-reorder-up-disabled.js +5 -6
- package/build/cjs/transfer/move-highlighted-picked-option-down.js +5 -6
- package/build/cjs/transfer/move-highlighted-picked-option-to-bottom.js +5 -6
- package/build/cjs/transfer/move-highlighted-picked-option-to-top.js +5 -6
- package/build/cjs/transfer/move-highlighted-picked-option-up.js +5 -6
- package/build/cjs/transfer/remove-all-picked-options.js +4 -5
- package/build/cjs/transfer/remove-individual-picked-options.js +8 -9
- package/build/cjs/transfer/use-filter.js +7 -8
- package/build/cjs/transfer/use-highlighted-options/create-toggle-highlighted-option.js +39 -43
- package/build/cjs/transfer/use-highlighted-options/toggle-add.js +6 -7
- package/build/cjs/transfer/use-highlighted-options/toggle-range.js +11 -15
- package/build/cjs/transfer/use-highlighted-options/toggle-replace.js +5 -6
- package/build/cjs/transfer/use-highlighted-options.js +5 -6
- package/build/cjs/transfer/use-options-key-monitor.js +6 -7
- package/build/cjs/transfer-option.js +11 -13
- package/build/cjs/transfer.js +65 -85
- package/build/cjs/transfer.prod.stories.js +99 -146
- package/build/es/__e2e__/add_remove-highlighted-options.e2e.stories.js +20 -29
- package/build/es/__e2e__/common/stateful-decorator.js +19 -26
- package/build/es/__e2e__/disabled-transfer-buttons.e2e.stories.js +49 -70
- package/build/es/__e2e__/disabled-transfer-options.e2e.stories.js +11 -14
- package/build/es/__e2e__/display-order.e2e.stories.js +19 -28
- package/build/es/__e2e__/filter-options-list.e2e.stories.js +72 -96
- package/build/es/__e2e__/highlight-range-of-options.e2e.stories.js +33 -48
- package/build/es/__e2e__/notify_at_end_of_list.e2e.stories.js +46 -65
- package/build/es/__e2e__/reorder-with-buttons.e2e.stories.js +15 -24
- package/build/es/__e2e__/set_unset-highlighted-option.e2e.stories.js +20 -29
- package/build/es/__e2e__/transferring-items.e2e.stories.js +19 -28
- package/build/es/__tests__/helper/use-highlighted-option/toggle-add.test.js +3 -6
- package/build/es/__tests__/helper/use-highlighted-option/toggle-range.test.js +24 -48
- package/build/es/__tests__/transfer.test.js +10 -18
- package/build/es/actions.js +10 -13
- package/build/es/add-all.js +14 -17
- package/build/es/add-individual.js +13 -16
- package/build/es/common/get-mode-by-modifier-key.js +6 -7
- package/build/es/container.js +12 -15
- package/build/es/end-intersection-detector.js +15 -21
- package/build/es/features/disabled-transfer-options/index.js +2 -4
- package/build/es/features/display-order/index.js +26 -47
- package/build/es/features/filter-options-list/index.js +3 -6
- package/build/es/features/highlight-range-of-options/index.js +5 -10
- package/build/es/features/notify_at_end_of_list/index.js +2 -4
- package/build/es/features/set_unset-highlighted-option/index.js +3 -6
- package/build/es/features/transferring-items/index.js +41 -75
- package/build/es/filter.js +24 -27
- package/build/es/icons.js +147 -171
- package/build/es/left-footer.js +10 -13
- package/build/es/left-header.js +10 -13
- package/build/es/left-side.js +16 -19
- package/build/es/locales/index.js +6 -1
- package/build/es/options-container.js +14 -15
- package/build/es/remove-all.js +13 -16
- package/build/es/remove-individual.js +13 -16
- package/build/es/reordering-actions.js +75 -82
- package/build/es/right-footer.js +10 -13
- package/build/es/right-header.js +10 -13
- package/build/es/right-side.js +16 -19
- package/build/es/transfer/add-all-selectable-source-options.js +9 -13
- package/build/es/transfer/add-individual-source-options.js +9 -10
- package/build/es/transfer/create-double-click-handlers.js +13 -16
- package/build/es/transfer/default-filter-callback.js +3 -6
- package/build/es/transfer/get-highlighted-picked-indices.js +4 -5
- package/build/es/transfer/is-reorder-down-disabled.js +5 -6
- package/build/es/transfer/is-reorder-up-disabled.js +5 -6
- package/build/es/transfer/move-highlighted-picked-option-down.js +5 -6
- package/build/es/transfer/move-highlighted-picked-option-to-bottom.js +5 -6
- package/build/es/transfer/move-highlighted-picked-option-to-top.js +5 -6
- package/build/es/transfer/move-highlighted-picked-option-up.js +5 -6
- package/build/es/transfer/remove-all-picked-options.js +4 -5
- package/build/es/transfer/remove-individual-picked-options.js +8 -9
- package/build/es/transfer/use-filter.js +7 -8
- package/build/es/transfer/use-highlighted-options/create-toggle-highlighted-option.js +39 -43
- package/build/es/transfer/use-highlighted-options/toggle-add.js +6 -7
- package/build/es/transfer/use-highlighted-options/toggle-range.js +11 -15
- package/build/es/transfer/use-highlighted-options/toggle-replace.js +5 -6
- package/build/es/transfer/use-highlighted-options.js +5 -6
- package/build/es/transfer/use-options-key-monitor.js +6 -7
- package/build/es/transfer-option.js +10 -11
- package/build/es/transfer.js +64 -83
- package/build/es/transfer.prod.stories.js +98 -144
- package/package.json +8 -8
- package/src/locales/index.js +6 -1
|
@@ -14,51 +14,47 @@ import { toggleReplace } from './toggle-replace.js';
|
|
|
14
14
|
* @param {string} args.lastClicked
|
|
15
15
|
* @returns {void}
|
|
16
16
|
*/
|
|
17
|
-
export const createToggleHighlightedOption =
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
setHighlightedOptions([]);
|
|
36
|
-
if (mode === ADD_MODE) {
|
|
37
|
-
setLastClicked(option.value);
|
|
38
|
-
return toggleAdd({
|
|
39
|
-
highlightedOptions,
|
|
40
|
-
maxSelections,
|
|
41
|
-
option,
|
|
42
|
-
setHighlightedOptions
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
if (mode === RANGE_MODE) {
|
|
46
|
-
return toggleRange({
|
|
47
|
-
highlightedOptions,
|
|
48
|
-
options,
|
|
49
|
-
option,
|
|
50
|
-
setHighlightedOptions,
|
|
51
|
-
lastClicked,
|
|
52
|
-
maxSelections
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// REPLACE_MODE
|
|
17
|
+
export const createToggleHighlightedOption = ({
|
|
18
|
+
disabled,
|
|
19
|
+
highlightedOptions,
|
|
20
|
+
setHighlightedOptions,
|
|
21
|
+
maxSelections,
|
|
22
|
+
setLastClicked,
|
|
23
|
+
options,
|
|
24
|
+
lastClicked
|
|
25
|
+
}) => ({
|
|
26
|
+
option,
|
|
27
|
+
mode
|
|
28
|
+
}) => {
|
|
29
|
+
if (disabled) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
setHighlightedOptions([]);
|
|
33
|
+
if (mode === ADD_MODE) {
|
|
57
34
|
setLastClicked(option.value);
|
|
58
|
-
return
|
|
59
|
-
option,
|
|
35
|
+
return toggleAdd({
|
|
60
36
|
highlightedOptions,
|
|
37
|
+
maxSelections,
|
|
38
|
+
option,
|
|
61
39
|
setHighlightedOptions
|
|
62
40
|
});
|
|
63
|
-
}
|
|
41
|
+
}
|
|
42
|
+
if (mode === RANGE_MODE) {
|
|
43
|
+
return toggleRange({
|
|
44
|
+
highlightedOptions,
|
|
45
|
+
options,
|
|
46
|
+
option,
|
|
47
|
+
setHighlightedOptions,
|
|
48
|
+
lastClicked,
|
|
49
|
+
maxSelections
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// REPLACE_MODE
|
|
54
|
+
setLastClicked(option.value);
|
|
55
|
+
return toggleReplace({
|
|
56
|
+
option,
|
|
57
|
+
highlightedOptions,
|
|
58
|
+
setHighlightedOptions
|
|
59
|
+
});
|
|
64
60
|
};
|
|
@@ -8,13 +8,12 @@ import { toggleValue } from '../../common/index.js';
|
|
|
8
8
|
* @param {Function} args.setHighlightedOption
|
|
9
9
|
* @returns {void}
|
|
10
10
|
*/
|
|
11
|
-
export const toggleAdd =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} = _ref;
|
|
11
|
+
export const toggleAdd = ({
|
|
12
|
+
highlightedOptions,
|
|
13
|
+
maxSelections,
|
|
14
|
+
option,
|
|
15
|
+
setHighlightedOptions
|
|
16
|
+
}) => {
|
|
18
17
|
const afterToggled = toggleValue(highlightedOptions, option.value);
|
|
19
18
|
const capped = afterToggled.slice(-1 * maxSelections);
|
|
20
19
|
setHighlightedOptions(capped);
|
|
@@ -10,15 +10,14 @@ import { findOptionIndex } from '../../common/index.js';
|
|
|
10
10
|
* @param {Function} args.setHighlightedOption
|
|
11
11
|
* @returns {void}
|
|
12
12
|
*/
|
|
13
|
-
export const toggleRange =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
} = _ref;
|
|
13
|
+
export const toggleRange = ({
|
|
14
|
+
highlightedOptions,
|
|
15
|
+
options,
|
|
16
|
+
option,
|
|
17
|
+
setHighlightedOptions,
|
|
18
|
+
lastClicked,
|
|
19
|
+
maxSelections
|
|
20
|
+
}) => {
|
|
22
21
|
if (highlightedOptions.length === 0) {
|
|
23
22
|
setHighlightedOptions([option.value]);
|
|
24
23
|
} else {
|
|
@@ -42,12 +41,9 @@ export const toggleRange = _ref => {
|
|
|
42
41
|
// -> Just how slice works ;)
|
|
43
42
|
const lower = Math.min(from, to);
|
|
44
43
|
const higher = Math.max(from, to);
|
|
45
|
-
const newHighlightedSourceOptions = options.slice(lower, higher + 1).filter(option => !option.disabled).slice(maxSelections * -1).map(
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
} = _ref2;
|
|
49
|
-
return value;
|
|
50
|
-
});
|
|
44
|
+
const newHighlightedSourceOptions = options.slice(lower, higher + 1).filter(option => !option.disabled).slice(maxSelections * -1).map(({
|
|
45
|
+
value
|
|
46
|
+
}) => value);
|
|
51
47
|
setHighlightedOptions(newHighlightedSourceOptions);
|
|
52
48
|
}
|
|
53
49
|
};
|
|
@@ -5,12 +5,11 @@
|
|
|
5
5
|
* @param {Function} args.setHighlightedOption
|
|
6
6
|
* @returns {void}
|
|
7
7
|
*/
|
|
8
|
-
export const toggleReplace =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
} = _ref;
|
|
8
|
+
export const toggleReplace = ({
|
|
9
|
+
option,
|
|
10
|
+
highlightedOptions,
|
|
11
|
+
setHighlightedOptions
|
|
12
|
+
}) => {
|
|
14
13
|
if (highlightedOptions.length > 1) {
|
|
15
14
|
setHighlightedOptions([option.value]);
|
|
16
15
|
} else {
|
|
@@ -8,12 +8,11 @@ import { createToggleHighlightedOption } from './use-highlighted-options/create-
|
|
|
8
8
|
* @param {Object[]} args.options
|
|
9
9
|
* @returns {Object} highlighted options & helpers
|
|
10
10
|
*/
|
|
11
|
-
export const useHighlightedOptions =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
} = _ref;
|
|
11
|
+
export const useHighlightedOptions = ({
|
|
12
|
+
disabled,
|
|
13
|
+
maxSelections,
|
|
14
|
+
options
|
|
15
|
+
}) => {
|
|
17
16
|
/**
|
|
18
17
|
* These are important so the stored element can be used
|
|
19
18
|
* as range-start when using shift multiple times consecutively
|
|
@@ -8,13 +8,12 @@ const isEndIntersectionDetectorWithinScrollBox = (scrollBoxRef, listRef) => {
|
|
|
8
8
|
const listRect = listRef.current.getBoundingClientRect();
|
|
9
9
|
return listRect.bottom - scrollBoxRect.bottom < INTERSECTION_DETECTOR_HEIGHT;
|
|
10
10
|
};
|
|
11
|
-
export const useOptionsKeyMonitor =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} = _ref;
|
|
11
|
+
export const useOptionsKeyMonitor = ({
|
|
12
|
+
scrollBoxRef,
|
|
13
|
+
listRef,
|
|
14
|
+
allOptionsKey,
|
|
15
|
+
onEndReached
|
|
16
|
+
}) => {
|
|
18
17
|
/* Store in ref so this works even if a consumer does not pass a stable
|
|
19
18
|
* function reference */
|
|
20
19
|
const onEndReachedRef = useRef(onEndReached);
|
|
@@ -4,17 +4,16 @@ import cx from 'classnames';
|
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import React, { useRef } from 'react';
|
|
6
6
|
const DOUBLE_CLICK_MAX_DELAY = 500;
|
|
7
|
-
export const TransferOption =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
} = _ref;
|
|
7
|
+
export const TransferOption = ({
|
|
8
|
+
className,
|
|
9
|
+
disabled,
|
|
10
|
+
dataTest = 'dhis2-uicore-transferoption',
|
|
11
|
+
highlighted,
|
|
12
|
+
onClick,
|
|
13
|
+
onDoubleClick,
|
|
14
|
+
label,
|
|
15
|
+
value
|
|
16
|
+
}) => {
|
|
18
17
|
const doubleClickTimeout = useRef(null);
|
|
19
18
|
return /*#__PURE__*/React.createElement("div", {
|
|
20
19
|
"data-test": dataTest,
|
package/build/es/transfer.js
CHANGED
|
@@ -20,52 +20,51 @@ import { TransferOption } from './transfer-option.js';
|
|
|
20
20
|
const identity = value => value;
|
|
21
21
|
const defaultSelected = [];
|
|
22
22
|
const defaultSelectedOptionsLookup = {};
|
|
23
|
-
export const Transfer =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
} = _ref;
|
|
23
|
+
export const Transfer = ({
|
|
24
|
+
options,
|
|
25
|
+
onChange,
|
|
26
|
+
addAllText,
|
|
27
|
+
addIndividualText,
|
|
28
|
+
className,
|
|
29
|
+
dataTest = 'dhis2-uicore-transfer',
|
|
30
|
+
disabled,
|
|
31
|
+
enableOrderChange,
|
|
32
|
+
filterCallback = defaultFilterCallback,
|
|
33
|
+
filterCallbackPicked = defaultFilterCallback,
|
|
34
|
+
filterLabel,
|
|
35
|
+
filterLabelPicked,
|
|
36
|
+
filterPlaceholder,
|
|
37
|
+
filterPlaceholderPicked,
|
|
38
|
+
filterable,
|
|
39
|
+
filterablePicked,
|
|
40
|
+
height = '240px',
|
|
41
|
+
hideFilterInput,
|
|
42
|
+
hideFilterInputPicked,
|
|
43
|
+
initialSearchTerm = '',
|
|
44
|
+
initialSearchTermPicked = '',
|
|
45
|
+
selectedOptionsLookup = defaultSelectedOptionsLookup,
|
|
46
|
+
leftFooter,
|
|
47
|
+
leftHeader,
|
|
48
|
+
loadingPicked,
|
|
49
|
+
loading,
|
|
50
|
+
maxSelections = Infinity,
|
|
51
|
+
optionsWidth = '320px',
|
|
52
|
+
removeAllText,
|
|
53
|
+
removeIndividualText,
|
|
54
|
+
renderOption = defaultRenderOption,
|
|
55
|
+
rightFooter,
|
|
56
|
+
rightHeader,
|
|
57
|
+
searchTerm,
|
|
58
|
+
searchTermPicked,
|
|
59
|
+
selected = defaultSelected,
|
|
60
|
+
selectedEmptyComponent,
|
|
61
|
+
selectedWidth = '320px',
|
|
62
|
+
sourceEmptyPlaceholder,
|
|
63
|
+
onFilterChange,
|
|
64
|
+
onFilterChangePicked,
|
|
65
|
+
onEndReached,
|
|
66
|
+
onEndReachedPicked
|
|
67
|
+
}) => {
|
|
69
68
|
/* Source options search value:
|
|
70
69
|
* Depending on whether the onFilterChange callback has been provided
|
|
71
70
|
* either the internal or external search value is used */
|
|
@@ -86,12 +85,9 @@ export const Transfer = _ref => {
|
|
|
86
85
|
* Extract the not-selected options.
|
|
87
86
|
* Filters options if filterable is true.
|
|
88
87
|
*/
|
|
89
|
-
const sourceOptions = actualFilterCallback(options.filter(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
} = _ref2;
|
|
93
|
-
return !selected.includes(value);
|
|
94
|
-
}), actualFilter);
|
|
88
|
+
const sourceOptions = actualFilterCallback(options.filter(({
|
|
89
|
+
value
|
|
90
|
+
}) => !selected.includes(value)), actualFilter);
|
|
95
91
|
|
|
96
92
|
/*
|
|
97
93
|
* Picked options highlighting:
|
|
@@ -181,7 +177,7 @@ export const Transfer = _ref => {
|
|
|
181
177
|
}
|
|
182
178
|
reorderScrollTargetRef.current = null;
|
|
183
179
|
const element = document.querySelector(`[data-test="${dataTest}-pickedoptions"] [data-value="${CSS.escape(target)}"]`);
|
|
184
|
-
element === null || element === void 0
|
|
180
|
+
element === null || element === void 0 || element.scrollIntoView({
|
|
185
181
|
block: 'nearest'
|
|
186
182
|
});
|
|
187
183
|
}, [selected, dataTest]);
|
|
@@ -189,27 +185,18 @@ export const Transfer = _ref => {
|
|
|
189
185
|
/**
|
|
190
186
|
* Disabled button states
|
|
191
187
|
*/
|
|
192
|
-
const isAddAllDisabled = disabled || sourceOptions.filter(
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
} = _ref3;
|
|
196
|
-
return !disabled;
|
|
197
|
-
}).length === 0;
|
|
188
|
+
const isAddAllDisabled = disabled || sourceOptions.filter(({
|
|
189
|
+
disabled
|
|
190
|
+
}) => !disabled).length === 0;
|
|
198
191
|
const isAddIndividualDisabled = disabled || !highlightedSourceOptions.length;
|
|
199
192
|
const isRemoveAllDisabled = disabled || !selected.length;
|
|
200
193
|
const isRemoveIndividualDisabled = disabled || !highlightedPickedOptions.length;
|
|
201
|
-
const allOptionsKey = useMemo(() => options.map(
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
}).join('|'), [
|
|
207
|
-
const pickedOptionsKey = useMemo(() => pickedOptions.map(_ref5 => {
|
|
208
|
-
let {
|
|
209
|
-
value
|
|
210
|
-
} = _ref5;
|
|
211
|
-
return value;
|
|
212
|
-
}).join('|'), [pickedOptions]);
|
|
194
|
+
const allOptionsKey = useMemo(() => options.map(({
|
|
195
|
+
value
|
|
196
|
+
}) => value).join('|'), [options]);
|
|
197
|
+
const pickedOptionsKey = useMemo(() => pickedOptions.map(({
|
|
198
|
+
value
|
|
199
|
+
}) => value).join('|'), [pickedOptions]);
|
|
213
200
|
return /*#__PURE__*/React.createElement(Container, {
|
|
214
201
|
dataTest: dataTest,
|
|
215
202
|
className: className,
|
|
@@ -224,12 +211,9 @@ export const Transfer = _ref => {
|
|
|
224
211
|
placeholder: filterPlaceholder,
|
|
225
212
|
dataTest: `${dataTest}-filter`,
|
|
226
213
|
filter: actualFilter,
|
|
227
|
-
onChange: onFilterChange ? onFilterChange :
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
} = _ref6;
|
|
231
|
-
return setInternalFilter(value);
|
|
232
|
-
}
|
|
214
|
+
onChange: onFilterChange ? onFilterChange : ({
|
|
215
|
+
value
|
|
216
|
+
}) => setInternalFilter(value)
|
|
233
217
|
})), /*#__PURE__*/React.createElement(OptionsContainer, {
|
|
234
218
|
allOptionsKey: allOptionsKey,
|
|
235
219
|
dataTest: `${dataTest}-sourceoptions`,
|
|
@@ -299,12 +283,9 @@ export const Transfer = _ref => {
|
|
|
299
283
|
placeholder: filterPlaceholderPicked,
|
|
300
284
|
dataTest: `${dataTest}-filter`,
|
|
301
285
|
filter: actualFilterPicked,
|
|
302
|
-
onChange: onFilterChangePicked ? onFilterChangePicked :
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
} = _ref7;
|
|
306
|
-
return setInternalFilterPicked(value);
|
|
307
|
-
}
|
|
286
|
+
onChange: onFilterChangePicked ? onFilterChangePicked : ({
|
|
287
|
+
value
|
|
288
|
+
}) => setInternalFilterPicked(value)
|
|
308
289
|
})), /*#__PURE__*/React.createElement(OptionsContainer, {
|
|
309
290
|
selected: true,
|
|
310
291
|
allOptionsKey: pickedOptionsKey,
|