@dhis2-ui/transfer 9.11.0 → 9.11.1-beta.1
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 → add_remove-highlighted-options.e2e.stories.js} +2 -13
- package/build/cjs/__e2e__/common/options.js +2 -3
- package/build/cjs/__e2e__/common/stateful-decorator.js +3 -8
- package/build/cjs/__e2e__/{disabled-transfer-buttons.stories.e2e.js → disabled-transfer-buttons.e2e.stories.js} +4 -20
- package/build/cjs/__e2e__/{disabled-transfer-options.stories.e2e.js → disabled-transfer-options.e2e.stories.js} +4 -12
- package/build/cjs/__e2e__/{display-order.stories.e2e.js → display-order.e2e.stories.js} +2 -13
- package/build/cjs/__e2e__/{filter-options-list.stories.e2e.js → filter-options-list.e2e.stories.js} +3 -24
- package/build/cjs/__e2e__/{highlight-range-of-options.stories.e2e.js → highlight-range-of-options.e2e.stories.js} +2 -15
- package/build/cjs/__e2e__/{loading_lists.stories.e2e.js → loading_lists.e2e.stories.js} +2 -16
- package/build/cjs/__e2e__/{notify_at_end_of_list.stories.e2e.js → notify_at_end_of_list.e2e.stories.js} +2 -17
- package/build/cjs/__e2e__/{reorder-with-buttons.stories.e2e.js → reorder-with-buttons.e2e.stories.js} +2 -11
- package/build/cjs/__e2e__/{set_unset-highlighted-option.stories.e2e.js → set_unset-highlighted-option.e2e.stories.js} +2 -13
- package/build/cjs/__e2e__/{transferring-items.stories.e2e.js → transferring-items.e2e.stories.js} +2 -13
- package/build/cjs/__tests__/common.test.js +0 -1
- package/build/cjs/__tests__/helper/add-all-selectable-source-options.test.js +0 -1
- package/build/cjs/__tests__/helper/add-individual-source-options.test.js +0 -1
- package/build/cjs/__tests__/helper/default-filter-callback.test.js +0 -1
- package/build/cjs/__tests__/helper/is-reorder-down-disabled.test.js +0 -1
- package/build/cjs/__tests__/helper/is-reorder-up-disabled.test.js +0 -1
- package/build/cjs/__tests__/helper/move-highlighted-picked-option-down.test.js +0 -1
- package/build/cjs/__tests__/helper/move-highlighted-picked-option-up.test.js +0 -1
- package/build/cjs/__tests__/helper/remove-all-picked-options.test.js +0 -1
- package/build/cjs/__tests__/helper/remove-individual-picked-options.test.js +0 -1
- package/build/cjs/__tests__/helper/use-highlighted-option/create-toggle-highlighted-option.test.js +2 -9
- package/build/cjs/__tests__/helper/use-highlighted-option/toggle-add.test.js +0 -1
- package/build/cjs/__tests__/helper/use-highlighted-option/toggle-range.test.js +2 -3
- package/build/cjs/__tests__/helper/use-highlighted-option/toggle-replace.test.js +0 -1
- package/build/cjs/__tests__/helper/use-highlighted-option.test.js +1 -5
- package/build/cjs/__tests__/transfer.test.js +1 -5
- package/build/cjs/actions.js +2 -9
- package/build/cjs/add-all.js +2 -9
- package/build/cjs/add-individual.js +2 -9
- package/build/cjs/common/find-option-index.js +0 -3
- package/build/cjs/common/get-mode-by-modifier-key.js +2 -8
- package/build/cjs/common/index.js +0 -6
- package/build/cjs/common/is-option.js +0 -2
- package/build/cjs/common/modes.js +6 -9
- package/build/cjs/common/remove-option.js +0 -6
- package/build/cjs/common/styles.js +3 -8
- package/build/cjs/common/toggle-value.js +0 -4
- package/build/cjs/container.js +2 -8
- package/build/cjs/end-intersection-detector.js +1 -8
- package/build/cjs/features/add_remove-highlighted-options/index.js +0 -1
- package/build/cjs/features/common/index.js +0 -2
- package/build/cjs/features/disabled-transfer-buttons/index.js +0 -1
- package/build/cjs/features/disabled-transfer-options/index.js +0 -2
- package/build/cjs/features/display-order/index.js +6 -5
- package/build/cjs/features/filter-options-list/index.js +6 -8
- package/build/cjs/features/highlight-range-of-options/index.js +8 -5
- package/build/cjs/features/loading_lists/index.js +2 -3
- package/build/cjs/features/notify_at_end_of_list/index.js +1 -2
- package/build/cjs/features/reorder-with-buttons/index.js +3 -3
- package/build/cjs/features/set_unset-highlighted-option/index.js +0 -2
- package/build/cjs/features/transferring-items/index.js +6 -6
- package/build/cjs/filter.js +5 -14
- package/build/cjs/icons.js +17 -35
- package/build/cjs/index.js +0 -2
- package/build/cjs/left-footer.js +2 -10
- package/build/cjs/left-header.js +2 -10
- package/build/cjs/left-side.js +2 -9
- package/build/cjs/options-container.js +9 -20
- package/build/cjs/picked-options.js +2 -10
- package/build/cjs/remove-all.js +2 -9
- package/build/cjs/remove-individual.js +2 -9
- package/build/cjs/reordering-actions.js +7 -16
- package/build/cjs/right-footer.js +2 -10
- package/build/cjs/right-header.js +2 -10
- package/build/cjs/right-side.js +2 -9
- package/build/cjs/source-options.js +2 -10
- package/build/cjs/transfer/add-all-selectable-source-options.js +3 -4
- package/build/cjs/transfer/add-individual-source-options.js +1 -4
- package/build/cjs/transfer/create-double-click-handlers.js +0 -5
- package/build/cjs/transfer/default-filter-callback.js +0 -2
- package/build/cjs/transfer/get-option-click-handlers.js +0 -3
- package/build/cjs/transfer/index.js +0 -26
- package/build/cjs/transfer/is-reorder-down-disabled.js +4 -4
- package/build/cjs/transfer/is-reorder-up-disabled.js +4 -4
- package/build/cjs/transfer/move-highlighted-picked-option-down.js +4 -5
- package/build/cjs/transfer/move-highlighted-picked-option-up.js +4 -5
- package/build/cjs/transfer/remove-all-picked-options.js +0 -2
- package/build/cjs/transfer/remove-individual-picked-options.js +1 -4
- package/build/cjs/transfer/use-filter.js +0 -4
- package/build/cjs/transfer/use-highlighted-options/create-toggle-highlighted-option.js +2 -12
- package/build/cjs/transfer/use-highlighted-options/toggle-add.js +0 -3
- package/build/cjs/transfer/use-highlighted-options/toggle-range.js +3 -8
- package/build/cjs/transfer/use-highlighted-options/toggle-replace.js +0 -4
- package/build/cjs/transfer/use-highlighted-options.js +0 -5
- package/build/cjs/transfer-option.js +4 -16
- package/build/cjs/transfer.js +29 -54
- package/build/cjs/{transfer.stories.js → transfer.prod.stories.js} +83 -103
- package/build/cjs/use-resize-counter.js +0 -4
- package/build/es/__e2e__/common/stateful-decorator.js +1 -2
- package/build/es/__e2e__/{disabled-transfer-buttons.stories.e2e.js → disabled-transfer-buttons.e2e.stories.js} +2 -1
- package/build/es/__e2e__/{disabled-transfer-options.stories.e2e.js → disabled-transfer-options.e2e.stories.js} +2 -1
- package/build/es/__e2e__/{filter-options-list.stories.e2e.js → filter-options-list.e2e.stories.js} +1 -3
- package/build/es/__tests__/helper/use-highlighted-option/create-toggle-highlighted-option.test.js +2 -1
- package/build/es/__tests__/helper/use-highlighted-option/toggle-range.test.js +2 -2
- package/build/es/__tests__/helper/use-highlighted-option.test.js +1 -1
- package/build/es/actions.js +1 -1
- package/build/es/add-all.js +1 -1
- package/build/es/add-individual.js +1 -1
- package/build/es/common/find-option-index.js +1 -1
- package/build/es/common/get-mode-by-modifier-key.js +3 -6
- package/build/es/common/modes.js +5 -4
- package/build/es/common/remove-option.js +1 -4
- package/build/es/common/toggle-value.js +0 -2
- package/build/es/container.js +1 -1
- package/build/es/features/display-order/index.js +6 -3
- package/build/es/features/filter-options-list/index.js +6 -6
- package/build/es/features/highlight-range-of-options/index.js +8 -3
- package/build/es/features/loading_lists/index.js +2 -2
- package/build/es/features/notify_at_end_of_list/index.js +1 -1
- package/build/es/features/reorder-with-buttons/index.js +3 -2
- package/build/es/features/transferring-items/index.js +6 -3
- package/build/es/filter.js +4 -4
- package/build/es/icons.js +16 -16
- package/build/es/left-footer.js +1 -1
- package/build/es/left-header.js +1 -1
- package/build/es/left-side.js +1 -1
- package/build/es/options-container.js +6 -5
- package/build/es/picked-options.js +1 -1
- package/build/es/remove-all.js +1 -1
- package/build/es/remove-individual.js +1 -1
- package/build/es/reordering-actions.js +6 -6
- package/build/es/right-footer.js +1 -1
- package/build/es/right-header.js +1 -1
- package/build/es/right-side.js +1 -1
- package/build/es/source-options.js +1 -1
- package/build/es/transfer/add-all-selectable-source-options.js +3 -2
- package/build/es/transfer/add-individual-source-options.js +1 -2
- package/build/es/transfer/create-double-click-handlers.js +0 -3
- package/build/es/transfer/get-option-click-handlers.js +1 -1
- package/build/es/transfer/is-reorder-down-disabled.js +4 -2
- package/build/es/transfer/is-reorder-up-disabled.js +4 -2
- package/build/es/transfer/move-highlighted-picked-option-down.js +4 -3
- package/build/es/transfer/move-highlighted-picked-option-up.js +4 -3
- package/build/es/transfer/remove-individual-picked-options.js +1 -2
- package/build/es/transfer/use-filter.js +0 -2
- package/build/es/transfer/use-highlighted-options/create-toggle-highlighted-option.js +3 -7
- package/build/es/transfer/use-highlighted-options/toggle-add.js +1 -1
- package/build/es/transfer/use-highlighted-options/toggle-range.js +4 -6
- package/build/es/transfer/use-highlighted-options/toggle-replace.js +0 -2
- package/build/es/transfer/use-highlighted-options.js +1 -2
- package/build/es/transfer-option.js +1 -2
- package/build/es/transfer.js +28 -32
- package/build/es/{transfer.stories.js → transfer.prod.stories.js} +65 -50
- package/build/es/use-resize-counter.js +1 -2
- package/package.json +10 -10
- /package/build/es/__e2e__/{add_remove-highlighted-options.stories.e2e.js → add_remove-highlighted-options.e2e.stories.js} +0 -0
- /package/build/es/__e2e__/{display-order.stories.e2e.js → display-order.e2e.stories.js} +0 -0
- /package/build/es/__e2e__/{highlight-range-of-options.stories.e2e.js → highlight-range-of-options.e2e.stories.js} +0 -0
- /package/build/es/__e2e__/{loading_lists.stories.e2e.js → loading_lists.e2e.stories.js} +0 -0
- /package/build/es/__e2e__/{notify_at_end_of_list.stories.e2e.js → notify_at_end_of_list.e2e.stories.js} +0 -0
- /package/build/es/__e2e__/{reorder-with-buttons.stories.e2e.js → reorder-with-buttons.e2e.stories.js} +0 -0
- /package/build/es/__e2e__/{set_unset-highlighted-option.stories.e2e.js → set_unset-highlighted-option.e2e.stories.js} +0 -0
- /package/build/es/__e2e__/{transferring-items.stories.e2e.js → transferring-items.e2e.stories.js} +0 -0
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useFilter = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
const identity = value => value;
|
|
11
|
-
|
|
12
9
|
const useFilter = _ref => {
|
|
13
10
|
let {
|
|
14
11
|
initialSearchTerm,
|
|
@@ -26,5 +23,4 @@ const useFilter = _ref => {
|
|
|
26
23
|
setInternalFilter
|
|
27
24
|
};
|
|
28
25
|
};
|
|
29
|
-
|
|
30
26
|
exports.useFilter = useFilter;
|
|
@@ -4,15 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createToggleHighlightedOption = void 0;
|
|
7
|
-
|
|
8
7
|
var _index = require("../../common/index.js");
|
|
9
|
-
|
|
10
8
|
var _toggleAdd = require("./toggle-add.js");
|
|
11
|
-
|
|
12
9
|
var _toggleRange = require("./toggle-range.js");
|
|
13
|
-
|
|
14
10
|
var _toggleReplace = require("./toggle-replace.js");
|
|
15
|
-
|
|
16
11
|
/**
|
|
17
12
|
* @param {Object} args
|
|
18
13
|
* @param {bool} args.disabled
|
|
@@ -39,13 +34,10 @@ const createToggleHighlightedOption = _ref => {
|
|
|
39
34
|
option,
|
|
40
35
|
mode
|
|
41
36
|
} = _ref2;
|
|
42
|
-
|
|
43
37
|
if (disabled) {
|
|
44
38
|
return;
|
|
45
39
|
}
|
|
46
|
-
|
|
47
40
|
setHighlightedOptions([]);
|
|
48
|
-
|
|
49
41
|
if (mode === _index.ADD_MODE) {
|
|
50
42
|
setLastClicked(option.value);
|
|
51
43
|
return (0, _toggleAdd.toggleAdd)({
|
|
@@ -55,7 +47,6 @@ const createToggleHighlightedOption = _ref => {
|
|
|
55
47
|
setHighlightedOptions
|
|
56
48
|
});
|
|
57
49
|
}
|
|
58
|
-
|
|
59
50
|
if (mode === _index.RANGE_MODE) {
|
|
60
51
|
return (0, _toggleRange.toggleRange)({
|
|
61
52
|
highlightedOptions,
|
|
@@ -65,9 +56,9 @@ const createToggleHighlightedOption = _ref => {
|
|
|
65
56
|
lastClicked,
|
|
66
57
|
maxSelections
|
|
67
58
|
});
|
|
68
|
-
}
|
|
69
|
-
|
|
59
|
+
}
|
|
70
60
|
|
|
61
|
+
// REPLACE_MODE
|
|
71
62
|
setLastClicked(option.value);
|
|
72
63
|
return (0, _toggleReplace.toggleReplace)({
|
|
73
64
|
option,
|
|
@@ -76,5 +67,4 @@ const createToggleHighlightedOption = _ref => {
|
|
|
76
67
|
});
|
|
77
68
|
};
|
|
78
69
|
};
|
|
79
|
-
|
|
80
70
|
exports.createToggleHighlightedOption = createToggleHighlightedOption;
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.toggleAdd = void 0;
|
|
7
|
-
|
|
8
7
|
var _index = require("../../common/index.js");
|
|
9
|
-
|
|
10
8
|
/**
|
|
11
9
|
* @param {Object} args
|
|
12
10
|
* @param {number} args.maxSelections
|
|
@@ -26,5 +24,4 @@ const toggleAdd = _ref => {
|
|
|
26
24
|
const capped = afterToggled.slice(-1 * maxSelections);
|
|
27
25
|
setHighlightedOptions(capped);
|
|
28
26
|
};
|
|
29
|
-
|
|
30
27
|
exports.toggleAdd = toggleAdd;
|
|
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.toggleRange = void 0;
|
|
7
|
-
|
|
8
7
|
var _index = require("../../common/index.js");
|
|
9
|
-
|
|
10
8
|
/**
|
|
11
9
|
* @param {Object} args
|
|
12
10
|
* @param {number} args.maxSelections
|
|
@@ -26,14 +24,12 @@ const toggleRange = _ref => {
|
|
|
26
24
|
lastClicked,
|
|
27
25
|
maxSelections
|
|
28
26
|
} = _ref;
|
|
29
|
-
|
|
30
27
|
if (highlightedOptions.length === 0) {
|
|
31
28
|
setHighlightedOptions([option.value]);
|
|
32
29
|
} else {
|
|
33
30
|
let from, to;
|
|
34
31
|
const clickedOptionIndex = (0, _index.findOptionIndex)(options, option);
|
|
35
32
|
const lastClickedSourceOptionWithoutRangeModeIndex = lastClicked ? options.findIndex(curOption => curOption.value === lastClicked) : -1;
|
|
36
|
-
|
|
37
33
|
if (lastClickedSourceOptionWithoutRangeModeIndex !== -1) {
|
|
38
34
|
from = lastClickedSourceOptionWithoutRangeModeIndex;
|
|
39
35
|
to = clickedOptionIndex;
|
|
@@ -44,11 +40,11 @@ const toggleRange = _ref => {
|
|
|
44
40
|
const firstHighlightedInList = options.findIndex(option => highlightedOptions.find(highlightedOption => highlightedOption === option.value));
|
|
45
41
|
from = firstHighlightedInList;
|
|
46
42
|
to = clickedOptionIndex;
|
|
47
|
-
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// this is so we can also selected
|
|
48
46
|
// a range of options above "from" option.
|
|
49
47
|
// -> Just how slice works ;)
|
|
50
|
-
|
|
51
|
-
|
|
52
48
|
const lower = Math.min(from, to);
|
|
53
49
|
const higher = Math.max(from, to);
|
|
54
50
|
const newHighlightedSourceOptions = options.slice(lower, higher + 1).filter(option => !option.disabled).slice(maxSelections * -1).map(_ref2 => {
|
|
@@ -60,5 +56,4 @@ const toggleRange = _ref => {
|
|
|
60
56
|
setHighlightedOptions(newHighlightedSourceOptions);
|
|
61
57
|
}
|
|
62
58
|
};
|
|
63
|
-
|
|
64
59
|
exports.toggleRange = toggleRange;
|
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.toggleReplace = void 0;
|
|
7
|
-
|
|
8
7
|
/**
|
|
9
8
|
* @param {Object} args
|
|
10
9
|
* @param {string[]} args.highlightedOptions
|
|
@@ -18,12 +17,10 @@ const toggleReplace = _ref => {
|
|
|
18
17
|
highlightedOptions,
|
|
19
18
|
setHighlightedOptions
|
|
20
19
|
} = _ref;
|
|
21
|
-
|
|
22
20
|
if (highlightedOptions.length > 1) {
|
|
23
21
|
setHighlightedOptions([option.value]);
|
|
24
22
|
} else {
|
|
25
23
|
const optionIndex = highlightedOptions.findIndex(highlightedOption => highlightedOption === option.value);
|
|
26
|
-
|
|
27
24
|
if (optionIndex === -1) {
|
|
28
25
|
setHighlightedOptions([option.value]);
|
|
29
26
|
} else {
|
|
@@ -31,5 +28,4 @@ const toggleReplace = _ref => {
|
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
30
|
};
|
|
34
|
-
|
|
35
31
|
exports.toggleReplace = toggleReplace;
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.useHighlightedOptions = void 0;
|
|
7
|
-
|
|
8
7
|
var _react = require("react");
|
|
9
|
-
|
|
10
8
|
var _createToggleHighlightedOption = require("./use-highlighted-options/create-toggle-highlighted-option.js");
|
|
11
|
-
|
|
12
9
|
/**
|
|
13
10
|
* @param {Object} args
|
|
14
11
|
* @param {bool} args.disabled
|
|
@@ -22,7 +19,6 @@ const useHighlightedOptions = _ref => {
|
|
|
22
19
|
maxSelections,
|
|
23
20
|
options
|
|
24
21
|
} = _ref;
|
|
25
|
-
|
|
26
22
|
/**
|
|
27
23
|
* These are important so the stored element can be used
|
|
28
24
|
* as range-start when using shift multiple times consecutively
|
|
@@ -44,5 +40,4 @@ const useHighlightedOptions = _ref => {
|
|
|
44
40
|
toggleHighlightedOption
|
|
45
41
|
};
|
|
46
42
|
};
|
|
47
|
-
|
|
48
43
|
exports.useHighlightedOptions = useHighlightedOptions;
|
|
@@ -4,25 +4,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.TransferOption = void 0;
|
|
7
|
-
|
|
8
7
|
var _style = _interopRequireDefault(require("styled-jsx/style"));
|
|
9
|
-
|
|
10
8
|
var _uiConstants = require("@dhis2/ui-constants");
|
|
11
|
-
|
|
12
9
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
-
|
|
14
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
15
|
-
|
|
16
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
|
-
function
|
|
19
|
-
|
|
20
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
21
|
-
|
|
22
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
|
-
|
|
12
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
14
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
24
15
|
const DOUBLE_CLICK_MAX_DELAY = 500;
|
|
25
|
-
|
|
26
16
|
const TransferOption = _ref => {
|
|
27
17
|
let {
|
|
28
18
|
className,
|
|
@@ -41,7 +31,6 @@ const TransferOption = _ref => {
|
|
|
41
31
|
if (disabled) {
|
|
42
32
|
return;
|
|
43
33
|
}
|
|
44
|
-
|
|
45
34
|
if (doubleClickTimeout.current) {
|
|
46
35
|
clearTimeout(doubleClickTimeout.current);
|
|
47
36
|
doubleClickTimeout.current = null;
|
|
@@ -66,9 +55,8 @@ const TransferOption = _ref => {
|
|
|
66
55
|
}, label, /*#__PURE__*/_react.default.createElement(_style.default, {
|
|
67
56
|
id: "4216903932",
|
|
68
57
|
dynamic: [_uiConstants.colors.grey900, _uiConstants.colors.grey200, _uiConstants.colors.teal700, _uiConstants.colors.white, _uiConstants.colors.grey600]
|
|
69
|
-
}, [
|
|
58
|
+
}, [`div.__jsx-style-dynamic-selector{font-size:14px;line-height:16px;padding:4px 8px;color:${_uiConstants.colors.grey900};-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}`, `div.__jsx-style-dynamic-selector:hover{background:${_uiConstants.colors.grey200};}`, `div.highlighted.__jsx-style-dynamic-selector{background:${_uiConstants.colors.teal700};color:${_uiConstants.colors.white};}`, `div.disabled.__jsx-style-dynamic-selector{color:${_uiConstants.colors.grey600};cursor:not-allowed;}`]));
|
|
70
59
|
};
|
|
71
|
-
|
|
72
60
|
exports.TransferOption = TransferOption;
|
|
73
61
|
TransferOption.defaultProps = {
|
|
74
62
|
dataTest: 'dhis2-uicore-transferoption'
|
package/build/cjs/transfer.js
CHANGED
|
@@ -4,49 +4,27 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.Transfer = void 0;
|
|
7
|
-
|
|
8
7
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
9
|
-
|
|
10
8
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
9
|
var _actions = require("./actions.js");
|
|
13
|
-
|
|
14
10
|
var _addAll = require("./add-all.js");
|
|
15
|
-
|
|
16
11
|
var _addIndividual = require("./add-individual.js");
|
|
17
|
-
|
|
18
12
|
var _container = require("./container.js");
|
|
19
|
-
|
|
20
13
|
var _filter = require("./filter.js");
|
|
21
|
-
|
|
22
14
|
var _leftFooter = require("./left-footer.js");
|
|
23
|
-
|
|
24
15
|
var _leftHeader = require("./left-header.js");
|
|
25
|
-
|
|
26
16
|
var _leftSide = require("./left-side.js");
|
|
27
|
-
|
|
28
17
|
var _optionsContainer = require("./options-container.js");
|
|
29
|
-
|
|
30
18
|
var _removeAll = require("./remove-all.js");
|
|
31
|
-
|
|
32
19
|
var _removeIndividual = require("./remove-individual.js");
|
|
33
|
-
|
|
34
20
|
var _reorderingActions = require("./reordering-actions.js");
|
|
35
|
-
|
|
36
21
|
var _rightFooter = require("./right-footer.js");
|
|
37
|
-
|
|
38
22
|
var _rightHeader = require("./right-header.js");
|
|
39
|
-
|
|
40
23
|
var _rightSide = require("./right-side.js");
|
|
41
|
-
|
|
42
|
-
var _transferOption = require("./transfer-option.js");
|
|
43
|
-
|
|
44
24
|
var _index = require("./transfer/index.js");
|
|
45
|
-
|
|
46
|
-
function _interopRequireDefault(
|
|
47
|
-
|
|
25
|
+
var _transferOption = require("./transfer-option.js");
|
|
26
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
48
27
|
const identity = value => value;
|
|
49
|
-
|
|
50
28
|
const Transfer = _ref => {
|
|
51
29
|
let {
|
|
52
30
|
options,
|
|
@@ -92,7 +70,6 @@ const Transfer = _ref => {
|
|
|
92
70
|
onEndReached,
|
|
93
71
|
onEndReachedPicked
|
|
94
72
|
} = _ref;
|
|
95
|
-
|
|
96
73
|
/* Source options search value:
|
|
97
74
|
* Depending on whether the onFilterChange callback has been provided
|
|
98
75
|
* either the internal or external search value is used */
|
|
@@ -107,23 +84,23 @@ const Transfer = _ref => {
|
|
|
107
84
|
filterable,
|
|
108
85
|
filterCallback
|
|
109
86
|
});
|
|
87
|
+
|
|
110
88
|
/*
|
|
111
89
|
* Actual source options:
|
|
112
90
|
* Extract the not-selected options.
|
|
113
91
|
* Filters options if filterable is true.
|
|
114
92
|
*/
|
|
115
|
-
|
|
116
93
|
const sourceOptions = actualFilterCallback(options.filter(_ref2 => {
|
|
117
94
|
let {
|
|
118
95
|
value
|
|
119
96
|
} = _ref2;
|
|
120
97
|
return !selected.includes(value);
|
|
121
98
|
}), actualFilter);
|
|
99
|
+
|
|
122
100
|
/*
|
|
123
101
|
* Picked options highlighting:
|
|
124
102
|
* These are all the highlighted options on the options side.
|
|
125
103
|
*/
|
|
126
|
-
|
|
127
104
|
const {
|
|
128
105
|
highlightedOptions: highlightedSourceOptions,
|
|
129
106
|
setHighlightedOptions: setHighlightedSourceOptions,
|
|
@@ -133,10 +110,10 @@ const Transfer = _ref => {
|
|
|
133
110
|
disabled,
|
|
134
111
|
maxSelections
|
|
135
112
|
});
|
|
113
|
+
|
|
136
114
|
/* Picked options search value:
|
|
137
115
|
* Depending on whether the onFilterChangePicked callback has been provided
|
|
138
116
|
* either the internal or external search value is used */
|
|
139
|
-
|
|
140
117
|
const {
|
|
141
118
|
filterValue: actualFilterPicked,
|
|
142
119
|
filter: actualFilterPickedCallback,
|
|
@@ -148,25 +125,26 @@ const Transfer = _ref => {
|
|
|
148
125
|
externalSearchTerm: searchTermPicked,
|
|
149
126
|
filterCallback: filterCallbackPicked
|
|
150
127
|
});
|
|
128
|
+
|
|
151
129
|
/*
|
|
152
130
|
* Actual picked options:
|
|
153
131
|
* Extract the selected options. Can't use `options.filter`
|
|
154
132
|
* because we need to keep the order of `selected`
|
|
155
133
|
*/
|
|
134
|
+
let pickedOptions = [];
|
|
156
135
|
|
|
157
|
-
|
|
158
|
-
|
|
136
|
+
// Only map if selected is an array
|
|
159
137
|
if (Array.isArray(selected)) {
|
|
160
|
-
pickedOptions = actualFilterPickedCallback(selected.map(value => options.find(option => value === option.value))
|
|
138
|
+
pickedOptions = actualFilterPickedCallback(selected.map(value => options.find(option => value === option.value))
|
|
139
|
+
// filter -> in case a selected value has been provided
|
|
161
140
|
// that does not exist as option
|
|
162
141
|
.filter(identity), actualFilterPicked);
|
|
163
142
|
}
|
|
143
|
+
|
|
164
144
|
/*
|
|
165
145
|
* Source options highlighting:
|
|
166
146
|
* These are all the highlighted options on the selected side.
|
|
167
147
|
*/
|
|
168
|
-
|
|
169
|
-
|
|
170
148
|
const {
|
|
171
149
|
highlightedOptions: highlightedPickedOptions,
|
|
172
150
|
setHighlightedOptions: setHighlightedPickedOptions,
|
|
@@ -176,11 +154,11 @@ const Transfer = _ref => {
|
|
|
176
154
|
disabled,
|
|
177
155
|
maxSelections
|
|
178
156
|
});
|
|
157
|
+
|
|
179
158
|
/*
|
|
180
159
|
* Source & Picked options:
|
|
181
160
|
* These are the double click handlers for (de-)selection
|
|
182
161
|
*/
|
|
183
|
-
|
|
184
162
|
const {
|
|
185
163
|
selectSingleOption,
|
|
186
164
|
deselectSingleOption
|
|
@@ -191,10 +169,10 @@ const Transfer = _ref => {
|
|
|
191
169
|
onChange,
|
|
192
170
|
maxSelections
|
|
193
171
|
});
|
|
172
|
+
|
|
194
173
|
/**
|
|
195
174
|
* Disabled button states
|
|
196
175
|
*/
|
|
197
|
-
|
|
198
176
|
const isAddAllDisabled = disabled || sourceOptions.filter(_ref3 => {
|
|
199
177
|
let {
|
|
200
178
|
disabled
|
|
@@ -209,14 +187,14 @@ const Transfer = _ref => {
|
|
|
209
187
|
className: className,
|
|
210
188
|
height: height
|
|
211
189
|
}, /*#__PURE__*/_react.default.createElement(_leftSide.LeftSide, {
|
|
212
|
-
dataTest:
|
|
190
|
+
dataTest: `${dataTest}-leftside`,
|
|
213
191
|
width: optionsWidth
|
|
214
192
|
}, (leftHeader || filterable) && /*#__PURE__*/_react.default.createElement(_leftHeader.LeftHeader, {
|
|
215
|
-
dataTest:
|
|
193
|
+
dataTest: `${dataTest}-leftheader`
|
|
216
194
|
}, leftHeader, filterable && !hideFilterInput && /*#__PURE__*/_react.default.createElement(_filter.Filter, {
|
|
217
195
|
label: filterLabel,
|
|
218
196
|
placeholder: filterPlaceholder,
|
|
219
|
-
dataTest:
|
|
197
|
+
dataTest: `${dataTest}-filter`,
|
|
220
198
|
filter: actualFilter,
|
|
221
199
|
onChange: onFilterChange ? onFilterChange : _ref4 => {
|
|
222
200
|
let {
|
|
@@ -225,7 +203,7 @@ const Transfer = _ref => {
|
|
|
225
203
|
return setInternalFilter(value);
|
|
226
204
|
}
|
|
227
205
|
})), /*#__PURE__*/_react.default.createElement(_optionsContainer.OptionsContainer, {
|
|
228
|
-
dataTest:
|
|
206
|
+
dataTest: `${dataTest}-sourceoptions`,
|
|
229
207
|
emptyComponent: sourceEmptyPlaceholder,
|
|
230
208
|
getOptionClickHandlers: _index.getOptionClickHandlers,
|
|
231
209
|
highlightedOptions: highlightedSourceOptions,
|
|
@@ -236,12 +214,12 @@ const Transfer = _ref => {
|
|
|
236
214
|
toggleHighlightedOption: toggleHighlightedSourceOption,
|
|
237
215
|
onEndReached: onEndReached
|
|
238
216
|
}), leftFooter && /*#__PURE__*/_react.default.createElement(_leftFooter.LeftFooter, {
|
|
239
|
-
dataTest:
|
|
217
|
+
dataTest: `${dataTest}-leftfooter`
|
|
240
218
|
}, leftFooter)), /*#__PURE__*/_react.default.createElement(_actions.Actions, {
|
|
241
|
-
dataTest:
|
|
219
|
+
dataTest: `${dataTest}-actions`
|
|
242
220
|
}, maxSelections === Infinity && /*#__PURE__*/_react.default.createElement(_addAll.AddAll, {
|
|
243
221
|
label: addAllText,
|
|
244
|
-
dataTest:
|
|
222
|
+
dataTest: `${dataTest}-actions-addall`,
|
|
245
223
|
disabled: isAddAllDisabled,
|
|
246
224
|
onClick: () => (0, _index.addAllSelectableSourceOptions)({
|
|
247
225
|
sourceOptions,
|
|
@@ -251,7 +229,7 @@ const Transfer = _ref => {
|
|
|
251
229
|
})
|
|
252
230
|
}), /*#__PURE__*/_react.default.createElement(_addIndividual.AddIndividual, {
|
|
253
231
|
label: addIndividualText,
|
|
254
|
-
dataTest:
|
|
232
|
+
dataTest: `${dataTest}-actions-addindividual`,
|
|
255
233
|
disabled: isAddIndividualDisabled,
|
|
256
234
|
onClick: () => (0, _index.addIndividualSourceOptions)({
|
|
257
235
|
filterable,
|
|
@@ -264,7 +242,7 @@ const Transfer = _ref => {
|
|
|
264
242
|
})
|
|
265
243
|
}), maxSelections === Infinity && /*#__PURE__*/_react.default.createElement(_removeAll.RemoveAll, {
|
|
266
244
|
label: removeAllText,
|
|
267
|
-
dataTest:
|
|
245
|
+
dataTest: `${dataTest}-actions-removeall`,
|
|
268
246
|
disabled: isRemoveAllDisabled,
|
|
269
247
|
onClick: () => (0, _index.removeAllPickedOptions)({
|
|
270
248
|
setHighlightedPickedOptions,
|
|
@@ -272,7 +250,7 @@ const Transfer = _ref => {
|
|
|
272
250
|
})
|
|
273
251
|
}), /*#__PURE__*/_react.default.createElement(_removeIndividual.RemoveIndividual, {
|
|
274
252
|
label: removeIndividualText,
|
|
275
|
-
dataTest:
|
|
253
|
+
dataTest: `${dataTest}-actions-removeindividual`,
|
|
276
254
|
disabled: isRemoveIndividualDisabled,
|
|
277
255
|
onClick: () => (0, _index.removeIndividualPickedOptions)({
|
|
278
256
|
filterablePicked,
|
|
@@ -283,14 +261,14 @@ const Transfer = _ref => {
|
|
|
283
261
|
setHighlightedPickedOptions
|
|
284
262
|
})
|
|
285
263
|
})), /*#__PURE__*/_react.default.createElement(_rightSide.RightSide, {
|
|
286
|
-
dataTest:
|
|
264
|
+
dataTest: `${dataTest}-rightside`,
|
|
287
265
|
width: selectedWidth
|
|
288
266
|
}, (rightHeader || filterablePicked) && /*#__PURE__*/_react.default.createElement(_rightHeader.RightHeader, {
|
|
289
|
-
dataTest:
|
|
267
|
+
dataTest: `${dataTest}-rightheader`
|
|
290
268
|
}, rightHeader, filterablePicked && !hideFilterInputPicked && /*#__PURE__*/_react.default.createElement(_filter.Filter, {
|
|
291
269
|
label: filterLabelPicked,
|
|
292
270
|
placeholder: filterPlaceholderPicked,
|
|
293
|
-
dataTest:
|
|
271
|
+
dataTest: `${dataTest}-filter`,
|
|
294
272
|
filter: actualFilterPicked,
|
|
295
273
|
onChange: onFilterChangePicked ? onFilterChangePicked : _ref5 => {
|
|
296
274
|
let {
|
|
@@ -300,7 +278,7 @@ const Transfer = _ref => {
|
|
|
300
278
|
}
|
|
301
279
|
})), /*#__PURE__*/_react.default.createElement(_optionsContainer.OptionsContainer, {
|
|
302
280
|
selected: true,
|
|
303
|
-
dataTest:
|
|
281
|
+
dataTest: `${dataTest}-pickedoptions`,
|
|
304
282
|
emptyComponent: selectedEmptyComponent,
|
|
305
283
|
getOptionClickHandlers: _index.getOptionClickHandlers,
|
|
306
284
|
highlightedOptions: highlightedPickedOptions,
|
|
@@ -311,9 +289,9 @@ const Transfer = _ref => {
|
|
|
311
289
|
toggleHighlightedOption: toggleHighlightedPickedOption,
|
|
312
290
|
onEndReached: onEndReachedPicked
|
|
313
291
|
}), (rightFooter || enableOrderChange) && /*#__PURE__*/_react.default.createElement(_rightFooter.RightFooter, {
|
|
314
|
-
dataTest:
|
|
292
|
+
dataTest: `${dataTest}-rightfooter`
|
|
315
293
|
}, enableOrderChange && /*#__PURE__*/_react.default.createElement(_reorderingActions.ReorderingActions, {
|
|
316
|
-
dataTest:
|
|
294
|
+
dataTest: `${dataTest}-reorderingactions`,
|
|
317
295
|
disabledDown: (0, _index.isReorderDownDisabled)({
|
|
318
296
|
highlightedPickedOptions,
|
|
319
297
|
selected
|
|
@@ -336,11 +314,8 @@ const Transfer = _ref => {
|
|
|
336
314
|
}
|
|
337
315
|
}), rightFooter)));
|
|
338
316
|
};
|
|
339
|
-
|
|
340
317
|
exports.Transfer = Transfer;
|
|
341
|
-
|
|
342
318
|
const defaultRenderOption = option => /*#__PURE__*/_react.default.createElement(_transferOption.TransferOption, option);
|
|
343
|
-
|
|
344
319
|
Transfer.defaultProps = {
|
|
345
320
|
dataTest: 'dhis2-uicore-transfer',
|
|
346
321
|
height: '240px',
|