@zohodesk/components 1.0.0-temp-230.1 → 1.0.0-temp-234
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/.cli/propValidation_report.html +1 -1
- package/README.md +41 -11
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +0 -8
- package/assets/Appearance/light/mode/Component_LightMode.module.css +0 -8
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +0 -8
- package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +18 -9
- package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +6 -3
- package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +18 -9
- package/es/ListItem/ListItem.js +7 -8
- package/es/ListItem/ListItem.module.css +0 -6
- package/es/ListItem/ListItemWithAvatar.js +12 -6
- package/es/ListItem/ListItemWithCheckBox.js +12 -6
- package/es/ListItem/ListItemWithIcon.js +11 -5
- package/es/ListItem/ListItemWithRadio.js +12 -6
- package/es/ListItem/__tests__/ListItem.spec.js +14 -3
- package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +19 -0
- package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +19 -0
- package/es/ListItem/__tests__/ListItemWithIcon.spec.js +17 -0
- package/es/ListItem/__tests__/ListItemWithRadio.spec.js +19 -0
- package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +38 -7
- package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +140 -46
- package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +251 -49
- package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +144 -50
- package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +252 -52
- package/es/ListItem/props/propTypes.js +14 -5
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +16 -8
- package/es/MultiSelect/AdvancedMultiSelect.js +13 -6
- package/es/MultiSelect/EmptyState.js +2 -1
- package/es/MultiSelect/MultiSelect.js +67 -35
- package/es/MultiSelect/MultiSelectWithAvatar.js +9 -2
- package/es/MultiSelect/SelectedOptions.js +3 -24
- package/es/MultiSelect/Suggestions.js +175 -98
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +19 -32
- package/es/MultiSelect/__tests__/SelectedOptions.spec.js +0 -13
- package/es/MultiSelect/__tests__/Suggestions.spec.js +52 -6
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +3 -3
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +9 -9
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +178 -10
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +3 -3
- package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +0 -15
- package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +308 -31
- package/es/MultiSelect/constants.js +6 -0
- package/es/MultiSelect/props/defaultProps.js +2 -0
- package/es/MultiSelect/props/propTypes.js +16 -58
- package/es/Select/GroupSelect.js +4 -2
- package/es/Select/Select.js +50 -44
- package/es/Select/SelectWithAvatar.js +14 -3
- package/es/Select/SelectWithIcon.js +7 -3
- package/es/Select/__tests__/Select.spec.js +0 -10
- package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +6 -3
- package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +429 -245
- package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +6 -3
- package/es/Select/props/defaultProps.js +2 -0
- package/es/Select/props/propTypes.js +7 -2
- package/es/TextBoxIcon/TextBoxIcon.js +12 -17
- package/es/TextBoxIcon/TextBoxIcon.module.css +38 -3
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -1
- package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +225 -116
- package/es/TextBoxIcon/props/propTypes.js +2 -1
- package/es/utils/Common.js +3 -4
- package/es/utils/dropDownUtils.js +40 -16
- package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +18 -9
- package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +6 -3
- package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +18 -9
- package/lib/ListItem/ListItem.js +8 -8
- package/lib/ListItem/ListItem.module.css +0 -6
- package/lib/ListItem/ListItemWithAvatar.js +13 -6
- package/lib/ListItem/ListItemWithCheckBox.js +13 -6
- package/lib/ListItem/ListItemWithIcon.js +11 -5
- package/lib/ListItem/ListItemWithRadio.js +13 -6
- package/lib/ListItem/__tests__/ListItem.spec.js +18 -3
- package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +23 -0
- package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +23 -0
- package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +21 -0
- package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +23 -0
- package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +38 -7
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +140 -46
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +251 -49
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +144 -50
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +252 -52
- package/lib/ListItem/props/propTypes.js +14 -6
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +94 -83
- package/lib/MultiSelect/AdvancedMultiSelect.js +16 -7
- package/lib/MultiSelect/EmptyState.js +3 -1
- package/lib/MultiSelect/MultiSelect.js +68 -33
- package/lib/MultiSelect/MultiSelectWithAvatar.js +11 -3
- package/lib/MultiSelect/SelectedOptions.js +3 -24
- package/lib/MultiSelect/Suggestions.js +177 -101
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +19 -34
- package/lib/MultiSelect/__tests__/SelectedOptions.spec.js +0 -15
- package/lib/MultiSelect/__tests__/Suggestions.spec.js +52 -8
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +3 -3
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +9 -9
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +178 -10
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +3 -3
- package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +0 -15
- package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +308 -31
- package/lib/MultiSelect/constants.js +13 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +15 -58
- package/lib/Select/GroupSelect.js +4 -3
- package/lib/Select/Select.js +48 -41
- package/lib/Select/SelectWithAvatar.js +14 -6
- package/lib/Select/SelectWithIcon.js +7 -4
- package/lib/Select/__tests__/Select.spec.js +0 -12
- package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +6 -3
- package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +429 -245
- package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +6 -3
- package/lib/Select/props/defaultProps.js +2 -0
- package/lib/Select/props/propTypes.js +7 -2
- package/lib/TextBoxIcon/TextBoxIcon.js +13 -18
- package/lib/TextBoxIcon/TextBoxIcon.module.css +38 -3
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -1
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +225 -116
- package/lib/TextBoxIcon/props/propTypes.js +2 -1
- package/lib/utils/Common.js +5 -9
- package/lib/utils/dropDownUtils.js +40 -15
- package/package.json +10 -10
- package/es/ColorSelect/ColorMultiSelect.js +0 -36
- package/es/ColorSelect/ColorSingleSelect.js +0 -50
- package/es/ColorSelect/__tests__/ColorMultiSelect.spec.js +0 -59
- package/es/ColorSelect/__tests__/ColorSingleSelect.spec.js +0 -59
- package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +0 -547
- package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -178
- package/es/ColorSelect/common/ColorIndicator/ColorIndicator.js +0 -27
- package/es/ColorSelect/common/ColorIndicator/ColorIndicator.module.css +0 -18
- package/es/ColorSelect/common/ColorIndicator/__tests__/ColorSingleSelect.spec.js +0 -60
- package/es/ColorSelect/common/ColorIndicator/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -95
- package/es/ColorSelect/common/ColorIndicator/props/defaultProps.js +0 -7
- package/es/ColorSelect/common/ColorIndicator/props/propTypes.js +0 -9
- package/es/ColorSelect/common/ColoredTag/ColoredTag.js +0 -33
- package/es/ColorSelect/common/ColoredTag/__tests__/ColoredTag.spec.js +0 -50
- package/es/ColorSelect/common/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +0 -101
- package/es/ColorSelect/common/ColoredTag/props/propTypes.js +0 -9
- package/es/ColorSelect/common/helpers.js +0 -35
- package/es/ColorSelect/props/defaultProps.js +0 -13
- package/es/ColorSelect/props/propTypes.js +0 -14
- package/es/shared/ArrowIcon/ArrowIcon.js +0 -36
- package/es/shared/ArrowIcon/ArrowIcon.module.css +0 -22
- package/es/shared/ArrowIcon/props/defaultProps.js +0 -6
- package/es/shared/ArrowIcon/props/propTypes.js +0 -10
- package/es/shared/InputFieldLine/InputFieldLine.js +0 -39
- package/es/shared/InputFieldLine/InputFieldLine.module.css +0 -90
- package/es/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +0 -114
- package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +0 -194
- package/es/shared/InputFieldLine/props/defaultProps.js +0 -14
- package/es/shared/InputFieldLine/props/propTypes.js +0 -19
- package/lib/ColorSelect/ColorMultiSelect.js +0 -65
- package/lib/ColorSelect/ColorSingleSelect.js +0 -78
- package/lib/ColorSelect/__tests__/ColorMultiSelect.spec.js +0 -70
- package/lib/ColorSelect/__tests__/ColorSingleSelect.spec.js +0 -70
- package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +0 -547
- package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -178
- package/lib/ColorSelect/common/ColorIndicator/ColorIndicator.js +0 -40
- package/lib/ColorSelect/common/ColorIndicator/ColorIndicator.module.css +0 -18
- package/lib/ColorSelect/common/ColorIndicator/__tests__/ColorSingleSelect.spec.js +0 -67
- package/lib/ColorSelect/common/ColorIndicator/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +0 -95
- package/lib/ColorSelect/common/ColorIndicator/props/defaultProps.js +0 -14
- package/lib/ColorSelect/common/ColorIndicator/props/propTypes.js +0 -20
- package/lib/ColorSelect/common/ColoredTag/ColoredTag.js +0 -61
- package/lib/ColorSelect/common/ColoredTag/__tests__/ColoredTag.spec.js +0 -58
- package/lib/ColorSelect/common/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +0 -101
- package/lib/ColorSelect/common/ColoredTag/props/propTypes.js +0 -28
- package/lib/ColorSelect/common/helpers.js +0 -53
- package/lib/ColorSelect/props/defaultProps.js +0 -31
- package/lib/ColorSelect/props/propTypes.js +0 -35
- package/lib/shared/ArrowIcon/ArrowIcon.js +0 -51
- package/lib/shared/ArrowIcon/ArrowIcon.module.css +0 -22
- package/lib/shared/ArrowIcon/props/defaultProps.js +0 -13
- package/lib/shared/ArrowIcon/props/propTypes.js +0 -21
- package/lib/shared/InputFieldLine/InputFieldLine.js +0 -53
- package/lib/shared/InputFieldLine/InputFieldLine.module.css +0 -90
- package/lib/shared/InputFieldLine/__tests__/InputFieldLine.spec.js +0 -122
- package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +0 -194
- package/lib/shared/InputFieldLine/props/defaultProps.js +0 -21
- package/lib/shared/InputFieldLine/props/propTypes.js +0 -36
|
@@ -13,6 +13,8 @@ var _propTypes = require("./props/propTypes");
|
|
|
13
13
|
|
|
14
14
|
var _defaultProps = require("./props/defaultProps");
|
|
15
15
|
|
|
16
|
+
var _constants = require("./constants");
|
|
17
|
+
|
|
16
18
|
var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
|
|
17
19
|
|
|
18
20
|
var _Popup = _interopRequireDefault(require("../Popup/Popup"));
|
|
@@ -266,7 +268,9 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
266
268
|
}, {
|
|
267
269
|
key: "handleSelectedOptionIdChange",
|
|
268
270
|
value: function handleSelectedOptionIdChange(selectedGroupOptions, normalizedFormatOptions, normalizedSelectedOptions) {
|
|
269
|
-
var
|
|
271
|
+
var _this$props = this.props,
|
|
272
|
+
allowValueFallback = _this$props.allowValueFallback,
|
|
273
|
+
limit = _this$props.limit;
|
|
270
274
|
var newSelectedOptions = selectedGroupOptions.map(function (option) {
|
|
271
275
|
return (0, _dropDownUtils.optionIdGrouping)(option.id, option.groupId);
|
|
272
276
|
});
|
|
@@ -279,16 +283,17 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
279
283
|
selectedOptions: newSelectedOptions,
|
|
280
284
|
normalizedFormatOptions: formatOptions,
|
|
281
285
|
selectedOptionsLength: selectedOptionsLength,
|
|
282
|
-
allowValueFallback: allowValueFallback
|
|
286
|
+
allowValueFallback: allowValueFallback,
|
|
287
|
+
limit: limit
|
|
283
288
|
});
|
|
284
289
|
}
|
|
285
290
|
}, {
|
|
286
291
|
key: "togglePopup",
|
|
287
292
|
value: function togglePopup(e) {
|
|
288
|
-
var _this$
|
|
289
|
-
togglePopup = _this$
|
|
290
|
-
defaultDropBoxPosition = _this$
|
|
291
|
-
isReadOnly = _this$
|
|
293
|
+
var _this$props2 = this.props,
|
|
294
|
+
togglePopup = _this$props2.togglePopup,
|
|
295
|
+
defaultDropBoxPosition = _this$props2.defaultDropBoxPosition,
|
|
296
|
+
isReadOnly = _this$props2.isReadOnly;
|
|
292
297
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? "".concat(defaultDropBoxPosition, "Center") : null);
|
|
293
298
|
}
|
|
294
299
|
}, {
|
|
@@ -463,12 +468,13 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
463
468
|
lastHighLightedSelectOption = _this$state5.lastHighLightedSelectOption,
|
|
464
469
|
shiftKeyPressHighLighted = _this$state5.shiftKeyPressHighLighted,
|
|
465
470
|
selectedOptions = _this$state5.selectedOptionIds;
|
|
466
|
-
var _this$
|
|
467
|
-
isNextOptions = _this$
|
|
468
|
-
getNextOptions = _this$
|
|
469
|
-
isPopupOpen = _this$
|
|
470
|
-
isPopupOpenOnEnter = _this$
|
|
471
|
-
onKeyDown = _this$
|
|
471
|
+
var _this$props3 = this.props,
|
|
472
|
+
isNextOptions = _this$props3.isNextOptions,
|
|
473
|
+
getNextOptions = _this$props3.getNextOptions,
|
|
474
|
+
isPopupOpen = _this$props3.isPopupOpen,
|
|
475
|
+
isPopupOpenOnEnter = _this$props3.isPopupOpenOnEnter,
|
|
476
|
+
onKeyDown = _this$props3.onKeyDown,
|
|
477
|
+
limit = _this$props3.limit;
|
|
472
478
|
var highLightedSelectOptionsLen = highLightedSelectOptions.length;
|
|
473
479
|
|
|
474
480
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27)) {
|
|
@@ -519,7 +525,7 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
519
525
|
hoverIndex: hoverIndex + 1
|
|
520
526
|
});
|
|
521
527
|
}
|
|
522
|
-
} else if (keyCode === 13) {
|
|
528
|
+
} else if (keyCode === 13 && selectedOptions.length < limit) {
|
|
523
529
|
//enter key
|
|
524
530
|
var id = suggestions[hoverIndex] || {};
|
|
525
531
|
isPopupOpen && !(0, _Common.getIsEmptyValue)(id) && this.handleSelectOption(id, null, null, e);
|
|
@@ -678,9 +684,9 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
678
684
|
value: function handleSearch(value, e) {
|
|
679
685
|
var _this4 = this;
|
|
680
686
|
|
|
681
|
-
var _this$
|
|
682
|
-
onSearch = _this$
|
|
683
|
-
isPopupOpen = _this$
|
|
687
|
+
var _this$props4 = this.props,
|
|
688
|
+
onSearch = _this$props4.onSearch,
|
|
689
|
+
isPopupOpen = _this$props4.isPopupOpen;
|
|
684
690
|
!isPopupOpen && e && this.togglePopup(e);
|
|
685
691
|
var _this$state$searchStr = this.state.searchStr,
|
|
686
692
|
searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
|
|
@@ -747,11 +753,11 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
747
753
|
value: function handleChange() {
|
|
748
754
|
var selectedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
749
755
|
var e = arguments.length > 1 ? arguments[1] : undefined;
|
|
750
|
-
var _this$
|
|
751
|
-
onChange = _this$
|
|
752
|
-
needToCloseOnSelect = _this$
|
|
753
|
-
togglePopup = _this$
|
|
754
|
-
isSearchClearOnSelect = _this$
|
|
756
|
+
var _this$props5 = this.props,
|
|
757
|
+
onChange = _this$props5.onChange,
|
|
758
|
+
needToCloseOnSelect = _this$props5.needToCloseOnSelect,
|
|
759
|
+
togglePopup = _this$props5.togglePopup,
|
|
760
|
+
isSearchClearOnSelect = _this$props5.isSearchClearOnSelect;
|
|
755
761
|
var searchStr = this.state.searchStr;
|
|
756
762
|
var newSelectedOptions = selectedOptions.map(function (option) {
|
|
757
763
|
return (0, _dropDownUtils.extractOptionId)(option);
|
|
@@ -816,9 +822,9 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
816
822
|
}, {
|
|
817
823
|
key: "handleInputFocus",
|
|
818
824
|
value: function handleInputFocus() {
|
|
819
|
-
var _this$
|
|
820
|
-
isDisabled = _this$
|
|
821
|
-
isReadOnly = _this$
|
|
825
|
+
var _this$props6 = this.props,
|
|
826
|
+
isDisabled = _this$props6.isDisabled,
|
|
827
|
+
isReadOnly = _this$props6.isReadOnly;
|
|
822
828
|
this.searchInput && !isDisabled && !isReadOnly && this.searchInput.focus({
|
|
823
829
|
preventScroll: true
|
|
824
830
|
});
|
|
@@ -836,13 +842,13 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
836
842
|
}, {
|
|
837
843
|
key: "componentDidUpdate",
|
|
838
844
|
value: function componentDidUpdate(prevProps) {
|
|
839
|
-
var _this$
|
|
840
|
-
groupedOptions = _this$
|
|
841
|
-
selectedGroupOptions = _this$
|
|
842
|
-
isPopupOpen = _this$
|
|
843
|
-
selectedOptionDetails = _this$
|
|
844
|
-
searchStr = _this$
|
|
845
|
-
notifyPopupToggle = _this$
|
|
845
|
+
var _this$props7 = this.props,
|
|
846
|
+
groupedOptions = _this$props7.groupedOptions,
|
|
847
|
+
selectedGroupOptions = _this$props7.selectedGroupOptions,
|
|
848
|
+
isPopupOpen = _this$props7.isPopupOpen,
|
|
849
|
+
selectedOptionDetails = _this$props7.selectedOptionDetails,
|
|
850
|
+
searchStr = _this$props7.searchStr,
|
|
851
|
+
notifyPopupToggle = _this$props7.notifyPopupToggle;
|
|
846
852
|
var _this$state8 = this.state,
|
|
847
853
|
normalizedFormatOptions = _this$state8.normalizedFormatOptions,
|
|
848
854
|
hoverIndex = _this$state8.hoverIndex;
|
|
@@ -895,10 +901,10 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
895
901
|
var selSuggestion = this["suggestion_".concat(hoverId)];
|
|
896
902
|
isPopupOpen && (0, _Common.scrollTo)(this.suggestionContainer, selSuggestion); //When suggestions length less than 5, getNextOptions function call
|
|
897
903
|
|
|
898
|
-
var _this$
|
|
899
|
-
isNextOptions = _this$
|
|
900
|
-
getNextOptions = _this$
|
|
901
|
-
needLocalSearch = _this$
|
|
904
|
+
var _this$props8 = this.props,
|
|
905
|
+
isNextOptions = _this$props8.isNextOptions,
|
|
906
|
+
getNextOptions = _this$props8.getNextOptions,
|
|
907
|
+
needLocalSearch = _this$props8.needLocalSearch;
|
|
902
908
|
|
|
903
909
|
var _this$handleFilterSug3 = this.handleFilterSuggestions(),
|
|
904
910
|
suggestions = _this$handleFilterSug3.suggestionOptionIds;
|
|
@@ -928,56 +934,59 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
928
934
|
value: function render() {
|
|
929
935
|
var _this5 = this;
|
|
930
936
|
|
|
931
|
-
var _this$
|
|
932
|
-
size = _this$
|
|
933
|
-
textBoxSize = _this$
|
|
934
|
-
selectedGroupOptions = _this$
|
|
935
|
-
placeHolder = _this$
|
|
936
|
-
dataId = _this$
|
|
937
|
-
dataSelectorId = _this$
|
|
938
|
-
isReadOnly = _this$
|
|
939
|
-
isDisabled = _this$
|
|
940
|
-
isPopupOpen = _this$
|
|
941
|
-
isPopupReady = _this$
|
|
942
|
-
defaultDropBoxPosition = _this$
|
|
943
|
-
removeClose = _this$
|
|
944
|
-
needResponsive = _this$
|
|
945
|
-
animationStyle = _this$
|
|
946
|
-
needSelectAll = _this$
|
|
947
|
-
selectAllText = _this$
|
|
948
|
-
dropBoxSize = _this$
|
|
949
|
-
position = _this$
|
|
950
|
-
getContainerRef = _this$
|
|
951
|
-
isAbsolutePositioningNeeded = _this$
|
|
952
|
-
positionsOffset = _this$
|
|
953
|
-
targetOffset = _this$
|
|
954
|
-
isRestrictScroll = _this$
|
|
955
|
-
emptyMessage = _this$
|
|
956
|
-
searchEmptyMessage = _this$
|
|
957
|
-
title = _this$
|
|
958
|
-
variant = _this$
|
|
959
|
-
children = _this$
|
|
960
|
-
listItemSize = _this$
|
|
961
|
-
isDataLoaded = _this$
|
|
962
|
-
needBorder = _this$
|
|
963
|
-
isNextOptions = _this$
|
|
964
|
-
getFooter = _this$
|
|
965
|
-
customClass = _this$
|
|
966
|
-
borderColor = _this$
|
|
967
|
-
isPadding = _this$
|
|
968
|
-
htmlId = _this$
|
|
969
|
-
i18nKeys = _this$
|
|
970
|
-
a11y = _this$
|
|
971
|
-
palette = _this$
|
|
972
|
-
needEffect = _this$
|
|
973
|
-
autoComplete = _this$
|
|
974
|
-
getTargetRef = _this$
|
|
975
|
-
isFocus = _this$
|
|
937
|
+
var _this$props9 = this.props,
|
|
938
|
+
size = _this$props9.size,
|
|
939
|
+
textBoxSize = _this$props9.textBoxSize,
|
|
940
|
+
selectedGroupOptions = _this$props9.selectedGroupOptions,
|
|
941
|
+
placeHolder = _this$props9.placeHolder,
|
|
942
|
+
dataId = _this$props9.dataId,
|
|
943
|
+
dataSelectorId = _this$props9.dataSelectorId,
|
|
944
|
+
isReadOnly = _this$props9.isReadOnly,
|
|
945
|
+
isDisabled = _this$props9.isDisabled,
|
|
946
|
+
isPopupOpen = _this$props9.isPopupOpen,
|
|
947
|
+
isPopupReady = _this$props9.isPopupReady,
|
|
948
|
+
defaultDropBoxPosition = _this$props9.defaultDropBoxPosition,
|
|
949
|
+
removeClose = _this$props9.removeClose,
|
|
950
|
+
needResponsive = _this$props9.needResponsive,
|
|
951
|
+
animationStyle = _this$props9.animationStyle,
|
|
952
|
+
needSelectAll = _this$props9.needSelectAll,
|
|
953
|
+
selectAllText = _this$props9.selectAllText,
|
|
954
|
+
dropBoxSize = _this$props9.dropBoxSize,
|
|
955
|
+
position = _this$props9.position,
|
|
956
|
+
getContainerRef = _this$props9.getContainerRef,
|
|
957
|
+
isAbsolutePositioningNeeded = _this$props9.isAbsolutePositioningNeeded,
|
|
958
|
+
positionsOffset = _this$props9.positionsOffset,
|
|
959
|
+
targetOffset = _this$props9.targetOffset,
|
|
960
|
+
isRestrictScroll = _this$props9.isRestrictScroll,
|
|
961
|
+
emptyMessage = _this$props9.emptyMessage,
|
|
962
|
+
searchEmptyMessage = _this$props9.searchEmptyMessage,
|
|
963
|
+
title = _this$props9.title,
|
|
964
|
+
variant = _this$props9.variant,
|
|
965
|
+
children = _this$props9.children,
|
|
966
|
+
listItemSize = _this$props9.listItemSize,
|
|
967
|
+
isDataLoaded = _this$props9.isDataLoaded,
|
|
968
|
+
needBorder = _this$props9.needBorder,
|
|
969
|
+
isNextOptions = _this$props9.isNextOptions,
|
|
970
|
+
getFooter = _this$props9.getFooter,
|
|
971
|
+
customClass = _this$props9.customClass,
|
|
972
|
+
borderColor = _this$props9.borderColor,
|
|
973
|
+
isPadding = _this$props9.isPadding,
|
|
974
|
+
htmlId = _this$props9.htmlId,
|
|
975
|
+
i18nKeys = _this$props9.i18nKeys,
|
|
976
|
+
a11y = _this$props9.a11y,
|
|
977
|
+
palette = _this$props9.palette,
|
|
978
|
+
needEffect = _this$props9.needEffect,
|
|
979
|
+
autoComplete = _this$props9.autoComplete,
|
|
980
|
+
getTargetRef = _this$props9.getTargetRef,
|
|
981
|
+
isFocus = _this$props9.isFocus,
|
|
982
|
+
limit = _this$props9.limit;
|
|
976
983
|
var _i18nKeys = i18nKeys,
|
|
977
984
|
_i18nKeys$clearText = _i18nKeys.clearText,
|
|
978
|
-
clearText = _i18nKeys$clearText === void 0 ?
|
|
985
|
+
clearText = _i18nKeys$clearText === void 0 ? _constants.MULTISELECT_I18N_KEYS.clearText : _i18nKeys$clearText,
|
|
986
|
+
_i18nKeys$limitReache = _i18nKeys.limitReachedMessage,
|
|
987
|
+
limitReachedMessage = _i18nKeys$limitReache === void 0 ? _constants.MULTISELECT_I18N_KEYS.limitReachedMessage : _i18nKeys$limitReache;
|
|
979
988
|
var _a11y$clearLabel = a11y.clearLabel,
|
|
980
|
-
clearLabel = _a11y$clearLabel === void 0 ?
|
|
989
|
+
clearLabel = _a11y$clearLabel === void 0 ? _constants.MULTISELECT_I18N_KEYS.clearText : _a11y$clearLabel;
|
|
981
990
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
982
991
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
983
992
|
searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage
|
|
@@ -1110,7 +1119,7 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
1110
1119
|
}, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
1111
1120
|
customClass: "".concat(_MultiSelectModule["default"].box, " ").concat(_MultiSelectModule["default"]["".concat(palette, "Box")]),
|
|
1112
1121
|
onScroll: _this5.handleScroll
|
|
1113
|
-
}, needSelectAll ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
|
|
1122
|
+
}, needSelectAll && !(limit >= 0) ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
|
|
1114
1123
|
onSelect: _this5.handleSelectAll,
|
|
1115
1124
|
selectAllText: selectAllText,
|
|
1116
1125
|
suggestions: suggestionOptionIds,
|
|
@@ -1148,6 +1157,8 @@ var AdvancedGroupMultiSelect = /*#__PURE__*/function (_React$Component) {
|
|
|
1148
1157
|
a11y: {
|
|
1149
1158
|
role: 'option'
|
|
1150
1159
|
},
|
|
1160
|
+
limit: limit,
|
|
1161
|
+
limitReachedMessage: limitReachedMessage,
|
|
1151
1162
|
dataId: "".concat(dataId, "_Options")
|
|
1152
1163
|
}));
|
|
1153
1164
|
}) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
|
|
@@ -13,6 +13,8 @@ var _propTypes = require("./props/propTypes");
|
|
|
13
13
|
|
|
14
14
|
var _defaultProps = require("./props/defaultProps");
|
|
15
15
|
|
|
16
|
+
var _constants = require("./constants");
|
|
17
|
+
|
|
16
18
|
var _MultiSelect = require("./MultiSelect");
|
|
17
19
|
|
|
18
20
|
var _SelectedOptions = _interopRequireDefault(require("./SelectedOptions"));
|
|
@@ -249,7 +251,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
249
251
|
|
|
250
252
|
var selectedOptionsLimit = props.selectedOptionsLimit,
|
|
251
253
|
selectedOptionDetails = props.selectedOptionDetails,
|
|
252
|
-
allowValueFallback = props.allowValueFallback
|
|
254
|
+
allowValueFallback = props.allowValueFallback,
|
|
255
|
+
limit = props.limit;
|
|
253
256
|
showedSelectedOptionsCount = (0, _Common.getIsEmptyValue)(showedSelectedOptionsCount) ? selectedOptionsLimit : showedSelectedOptionsCount;
|
|
254
257
|
|
|
255
258
|
var _this$handleFormatSel = this.handleFormatSelectedOptions(selectedOptionDetails, props),
|
|
@@ -263,7 +266,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
263
266
|
selectedOptions: selectedOptions,
|
|
264
267
|
normalizedFormatOptions: formatOptions,
|
|
265
268
|
selectedOptionsLength: showedSelectedOptionsCount,
|
|
266
|
-
allowValueFallback: allowValueFallback
|
|
269
|
+
allowValueFallback: allowValueFallback,
|
|
270
|
+
limit: limit
|
|
267
271
|
});
|
|
268
272
|
}
|
|
269
273
|
}, {
|
|
@@ -454,7 +458,8 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
454
458
|
positionsOffset = _this$props6.positionsOffset,
|
|
455
459
|
targetOffset = _this$props6.targetOffset,
|
|
456
460
|
isRestrictScroll = _this$props6.isRestrictScroll,
|
|
457
|
-
isFocus = _this$props6.isFocus
|
|
461
|
+
isFocus = _this$props6.isFocus,
|
|
462
|
+
limit = _this$props6.limit;
|
|
458
463
|
var _customProps$Suggesti = customProps.SuggestionsProps,
|
|
459
464
|
SuggestionsProps = _customProps$Suggesti === void 0 ? {} : _customProps$Suggesti,
|
|
460
465
|
_customProps$DropBoxP = customProps.DropBoxProps,
|
|
@@ -463,9 +468,11 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
463
468
|
containerClass = _customClass$containe === void 0 ? '' : _customClass$containe;
|
|
464
469
|
var _i18nKeys = i18nKeys,
|
|
465
470
|
_i18nKeys$clearText = _i18nKeys.clearText,
|
|
466
|
-
clearText = _i18nKeys$clearText === void 0 ?
|
|
471
|
+
clearText = _i18nKeys$clearText === void 0 ? _constants.MULTISELECT_I18N_KEYS.clearText : _i18nKeys$clearText,
|
|
472
|
+
_i18nKeys$limitReache = _i18nKeys.limitReachedMessage,
|
|
473
|
+
limitReachedMessage = _i18nKeys$limitReache === void 0 ? _constants.MULTISELECT_I18N_KEYS.limitReachedMessage : _i18nKeys$limitReache;
|
|
467
474
|
var _a11y$clearLabel = a11y.clearLabel,
|
|
468
|
-
clearLabel = _a11y$clearLabel === void 0 ?
|
|
475
|
+
clearLabel = _a11y$clearLabel === void 0 ? _constants.MULTISELECT_I18N_KEYS.clearText : _a11y$clearLabel;
|
|
469
476
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
470
477
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
471
478
|
noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage,
|
|
@@ -604,7 +611,7 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
604
611
|
}, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
|
|
605
612
|
customClass: _MultiSelectModule["default"].box,
|
|
606
613
|
onScroll: _this4.handleScroll
|
|
607
|
-
}, needSelectAll ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
|
|
614
|
+
}, needSelectAll && !(limit >= 0) ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
|
|
608
615
|
onSelect: _this4.handleSelectAll,
|
|
609
616
|
selectAllText: selectAllText,
|
|
610
617
|
suggestions: suggestions,
|
|
@@ -625,7 +632,9 @@ var AdvancedMultiSelectComponent = /*#__PURE__*/function (_MultiSelectComponent)
|
|
|
625
632
|
a11y: {
|
|
626
633
|
role: 'option'
|
|
627
634
|
},
|
|
628
|
-
dataId: "".concat(dataIdMultiSelectComp, "_Options")
|
|
635
|
+
dataId: "".concat(dataIdMultiSelectComp, "_Options"),
|
|
636
|
+
limit: limit,
|
|
637
|
+
limitReachedMessage: limitReachedMessage
|
|
629
638
|
}, SuggestionsProps)) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
|
|
630
639
|
isLoading: isFetchingOptions,
|
|
631
640
|
options: options,
|
|
@@ -13,6 +13,8 @@ var _propTypes = require("./props/propTypes");
|
|
|
13
13
|
|
|
14
14
|
var _defaultProps = require("./props/defaultProps");
|
|
15
15
|
|
|
16
|
+
var _constants = require("./constants");
|
|
17
|
+
|
|
16
18
|
var _MultiSelectModule = _interopRequireDefault(require("./MultiSelect.module.css"));
|
|
17
19
|
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -66,7 +68,7 @@ var EmptyState = /*#__PURE__*/function (_React$PureComponent) {
|
|
|
66
68
|
htmlId = _this$props.htmlId,
|
|
67
69
|
a11y = _this$props.a11y;
|
|
68
70
|
var _i18nKeys$loadingText = i18nKeys.loadingText,
|
|
69
|
-
loadingText = _i18nKeys$loadingText === void 0 ?
|
|
71
|
+
loadingText = _i18nKeys$loadingText === void 0 ? _constants.MULTISELECT_I18N_KEYS.loadingText : _i18nKeys$loadingText,
|
|
70
72
|
_i18nKeys$emptyText = i18nKeys.emptyText,
|
|
71
73
|
emptyText = _i18nKeys$emptyText === void 0 ? emptyMessage : _i18nKeys$emptyText,
|
|
72
74
|
_i18nKeys$noMoreText = i18nKeys.noMoreText,
|
|
@@ -15,6 +15,8 @@ var _defaultProps = require("./props/defaultProps");
|
|
|
15
15
|
|
|
16
16
|
var _defaultProps2 = require("./MobileHeader/props/defaultProps");
|
|
17
17
|
|
|
18
|
+
var _constants = require("./constants");
|
|
19
|
+
|
|
18
20
|
var _Popup = _interopRequireDefault(require("../Popup/Popup"));
|
|
19
21
|
|
|
20
22
|
var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
|
|
@@ -160,6 +162,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
160
162
|
_this.handleSearchOptions = (0, _Common.debounce)(_this.handleSearchOptions.bind(_assertThisInitialized(_this)), searchDebounceTime);
|
|
161
163
|
_this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));
|
|
162
164
|
_this.handleScrollFuncCall = (0, _Common.debounce)(_this.handleScrollFuncCall.bind(_assertThisInitialized(_this)), 500);
|
|
165
|
+
_this.getVirtualizerPublicMethods = _this.getVirtualizerPublicMethods.bind(_assertThisInitialized(_this));
|
|
166
|
+
_this.setSuggestionsVirtualizerContainerRefFunction = _this.setSuggestionsVirtualizerContainerRefFunction.bind(_assertThisInitialized(_this));
|
|
163
167
|
return _this;
|
|
164
168
|
}
|
|
165
169
|
|
|
@@ -225,9 +229,6 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
225
229
|
}, {
|
|
226
230
|
key: "componentDidUpdate",
|
|
227
231
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
228
|
-
var suggestionContainer = this.suggestionContainer,
|
|
229
|
-
selectedOptionContainer = this.selectedOptionContainer,
|
|
230
|
-
suggestionsOrder = this.suggestionsOrder;
|
|
231
232
|
var _this$state = this.state,
|
|
232
233
|
hoverOption = _this$state.hoverOption,
|
|
233
234
|
highLightedSelectOptions = _this$state.highLightedSelectOptions,
|
|
@@ -238,7 +239,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
238
239
|
isPopupOpen = _this$props2.isPopupOpen,
|
|
239
240
|
onDropBoxClose = _this$props2.onDropBoxClose,
|
|
240
241
|
onDropBoxOpen = _this$props2.onDropBoxOpen,
|
|
241
|
-
isSearchClearOnClose = _this$props2.isSearchClearOnClose
|
|
242
|
+
isSearchClearOnClose = _this$props2.isSearchClearOnClose,
|
|
243
|
+
isVirtualizerEnabled = _this$props2.isVirtualizerEnabled; //handle dropbox open & close
|
|
242
244
|
|
|
243
245
|
if (prevProps.isPopupOpen !== isPopupOpen) {
|
|
244
246
|
isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
|
|
@@ -253,12 +255,21 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
253
255
|
} //scrollTo handling
|
|
254
256
|
|
|
255
257
|
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
258
|
+
if (isVirtualizerEnabled && !!this.virtualizerMethods) {
|
|
259
|
+
var position = prevState.hoverOption > hoverOption ? 'top' : 'bottom';
|
|
260
|
+
this.virtualizerMethods.getElementVisiblePercentage(hoverOption) < 50 && this.virtualizerMethods.scrollToIndex(hoverOption, position);
|
|
261
|
+
} else {
|
|
262
|
+
var suggestionContainer = this.suggestionContainer,
|
|
263
|
+
selectedOptionContainer = this.selectedOptionContainer,
|
|
264
|
+
suggestionsOrder = this.suggestionsOrder;
|
|
265
|
+
var hoverId = suggestionsOrder[hoverOption] || '';
|
|
266
|
+
var selectedSuggestion = this["suggestion_".concat(hoverId)];
|
|
267
|
+
var lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : null;
|
|
268
|
+
var selectedOption = this["selectedOption_".concat(lastHighLightedSelectOption)];
|
|
269
|
+
isPopupOpen && (0, _Common.scrollTo)(suggestionContainer, selectedSuggestion);
|
|
270
|
+
selectedOptions.length && selectedOption && (0, _Common.scrollTo)(selectedOptionContainer, selectedOption);
|
|
271
|
+
} //When suggestions length less than 5, getNextOptions function call
|
|
272
|
+
|
|
262
273
|
|
|
263
274
|
var _this$props3 = this.props,
|
|
264
275
|
isNextOptions = _this$props3.isNextOptions,
|
|
@@ -298,6 +309,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
298
309
|
var options = props.options,
|
|
299
310
|
valueField = props.valueField,
|
|
300
311
|
textField = props.textField,
|
|
312
|
+
secondaryField = props.secondaryField,
|
|
301
313
|
prefixText = props.prefixText,
|
|
302
314
|
disabledOptions = props.disabledOptions,
|
|
303
315
|
allowValueFallback = props.allowValueFallback,
|
|
@@ -310,17 +322,20 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
310
322
|
optionType: 'default',
|
|
311
323
|
disabledOptions: disabledOptions,
|
|
312
324
|
allowValueFallback: allowValueFallback,
|
|
325
|
+
secondaryField: secondaryField,
|
|
313
326
|
searchFields: searchFields
|
|
314
327
|
});
|
|
315
328
|
}
|
|
316
329
|
}, {
|
|
317
330
|
key: "handleGetSelectedOptions",
|
|
318
331
|
value: function handleGetSelectedOptions(selectedOptions, normalizedFormatOptions, props) {
|
|
319
|
-
var allowValueFallback = props.allowValueFallback
|
|
332
|
+
var allowValueFallback = props.allowValueFallback,
|
|
333
|
+
limit = props.limit;
|
|
320
334
|
return this.getSelectedOptions({
|
|
321
335
|
selectedOptions: selectedOptions,
|
|
322
336
|
normalizedFormatOptions: normalizedFormatOptions,
|
|
323
|
-
allowValueFallback: allowValueFallback
|
|
337
|
+
allowValueFallback: allowValueFallback,
|
|
338
|
+
limit: limit
|
|
324
339
|
});
|
|
325
340
|
}
|
|
326
341
|
}, {
|
|
@@ -393,7 +408,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
393
408
|
getNextOptions = _this$props5.getNextOptions,
|
|
394
409
|
isPopupOpen = _this$props5.isPopupOpen,
|
|
395
410
|
isPopupOpenOnEnter = _this$props5.isPopupOpenOnEnter,
|
|
396
|
-
onKeyDown = _this$props5.onKeyDown
|
|
411
|
+
onKeyDown = _this$props5.onKeyDown,
|
|
412
|
+
limit = _this$props5.limit;
|
|
413
|
+
var allowKeyboardActions = !limit || limit && selectedOptions.length < limit;
|
|
397
414
|
var highLightedSelectOptionsLen = highLightedSelectOptions.length;
|
|
398
415
|
|
|
399
416
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27 || keyCode === 9)) {
|
|
@@ -413,7 +430,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
413
430
|
|
|
414
431
|
var suggestionsLen = suggestions.length;
|
|
415
432
|
|
|
416
|
-
if (suggestionsLen && isPopupOpen && keyCode === 38) {
|
|
433
|
+
if (suggestionsLen && isPopupOpen && keyCode === 38 && allowKeyboardActions) {
|
|
417
434
|
//up arrow
|
|
418
435
|
|
|
419
436
|
/*if (hoverOption === 0) { //disable first to last option higlight
|
|
@@ -424,7 +441,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
424
441
|
hoverOption: hoverOption - 1
|
|
425
442
|
});
|
|
426
443
|
}
|
|
427
|
-
} else if (suggestionsLen && isPopupOpen && keyCode === 40) {
|
|
444
|
+
} else if (suggestionsLen && isPopupOpen && keyCode === 40 && allowKeyboardActions) {
|
|
428
445
|
//down arrow
|
|
429
446
|
|
|
430
447
|
/*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
|
|
@@ -441,8 +458,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
441
458
|
hoverOption: hoverOption + 1
|
|
442
459
|
});
|
|
443
460
|
}
|
|
444
|
-
} else if (keyCode === 13) {
|
|
445
|
-
//enter
|
|
461
|
+
} else if (keyCode === 13 && allowKeyboardActions) {
|
|
462
|
+
//enter ke
|
|
446
463
|
var selectedOption = suggestions[hoverOption] || {};
|
|
447
464
|
var id = selectedOption.id;
|
|
448
465
|
isPopupOpen && !(0, _Common.getIsEmptyValue)(id) && this.handleSelectOption(id, e);
|
|
@@ -809,12 +826,14 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
809
826
|
togglePopup = _this$props10.togglePopup,
|
|
810
827
|
propSelectedOptions = _this$props10.selectedOptions,
|
|
811
828
|
_this$props10$disable = _this$props10.disabledOptions,
|
|
812
|
-
disabledOptions = _this$props10$disable === void 0 ? dummyArray : _this$props10$disable
|
|
829
|
+
disabledOptions = _this$props10$disable === void 0 ? dummyArray : _this$props10$disable,
|
|
830
|
+
limit = _this$props10.limit;
|
|
813
831
|
|
|
814
832
|
var _filterSelectedOption = (0, _dropDownUtils.filterSelectedOptions)({
|
|
815
833
|
selectedOptions: selectedOptions,
|
|
816
834
|
propSelectedOptions: propSelectedOptions,
|
|
817
|
-
disabledOptions: disabledOptions
|
|
835
|
+
disabledOptions: disabledOptions,
|
|
836
|
+
limit: limit
|
|
818
837
|
}),
|
|
819
838
|
newSelectedOptions = _filterSelectedOption.newSelectedOptions;
|
|
820
839
|
|
|
@@ -872,6 +891,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
872
891
|
key: "suggestionContainerRef",
|
|
873
892
|
value: function suggestionContainerRef(el) {
|
|
874
893
|
this.suggestionContainer = el;
|
|
894
|
+
typeof this.setSuggestionsVirtualizerRef === 'function' && this.setSuggestionsVirtualizerRef(el);
|
|
875
895
|
}
|
|
876
896
|
}, {
|
|
877
897
|
key: "suggestionItemRef",
|
|
@@ -934,6 +954,17 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
934
954
|
openPopupOnly: openPopupOnly
|
|
935
955
|
});
|
|
936
956
|
}
|
|
957
|
+
}, {
|
|
958
|
+
key: "getVirtualizerPublicMethods",
|
|
959
|
+
value: function getVirtualizerPublicMethods(methods) {
|
|
960
|
+
this.virtualizerMethods = methods;
|
|
961
|
+
}
|
|
962
|
+
}, {
|
|
963
|
+
key: "setSuggestionsVirtualizerContainerRefFunction",
|
|
964
|
+
value: function setSuggestionsVirtualizerContainerRefFunction(refFunc) {
|
|
965
|
+
this.setSuggestionsVirtualizerRef = refFunc;
|
|
966
|
+
this.suggestionContainer && refFunc(this.suggestionContainer);
|
|
967
|
+
}
|
|
937
968
|
}, {
|
|
938
969
|
key: "getSelectionUI",
|
|
939
970
|
value: function getSelectionUI() {
|
|
@@ -963,7 +994,6 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
963
994
|
isPopupOpen = _this$props14.isPopupOpen,
|
|
964
995
|
ariaErrorId = _this$props14.ariaErrorId,
|
|
965
996
|
customProps = _this$props14.customProps,
|
|
966
|
-
renderCustomSelectedValue = _this$props14.renderCustomSelectedValue,
|
|
967
997
|
isFocus = _this$props14.isFocus,
|
|
968
998
|
isPopupReady = _this$props14.isPopupReady,
|
|
969
999
|
renderCustomClearComponent = _this$props14.renderCustomClearComponent,
|
|
@@ -974,9 +1004,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
974
1004
|
highLightedSelectOptions = _this$state8.highLightedSelectOptions,
|
|
975
1005
|
searchStr = _this$state8.searchStr;
|
|
976
1006
|
var _i18nKeys$clearText = i18nKeys.clearText,
|
|
977
|
-
clearText = _i18nKeys$clearText === void 0 ?
|
|
1007
|
+
clearText = _i18nKeys$clearText === void 0 ? _constants.MULTISELECT_I18N_KEYS.clearText : _i18nKeys$clearText;
|
|
978
1008
|
var _a11y$clearLabel = a11y.clearLabel,
|
|
979
|
-
clearLabel = _a11y$clearLabel === void 0 ?
|
|
1009
|
+
clearLabel = _a11y$clearLabel === void 0 ? _constants.MULTISELECT_I18N_KEYS.clearLabel : _a11y$clearLabel,
|
|
980
1010
|
ariaLabelledby = a11y.ariaLabelledby;
|
|
981
1011
|
|
|
982
1012
|
var _this$getIsShowClearI = this.getIsShowClearIcon({
|
|
@@ -1004,11 +1034,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
1004
1034
|
onSelect: this.handleClickSelectedOption,
|
|
1005
1035
|
size: size,
|
|
1006
1036
|
palette: palette,
|
|
1007
|
-
dataId: "".concat(dataId, "_selectedOptions")
|
|
1008
|
-
renderCustomSelectedValue: renderCustomSelectedValue,
|
|
1009
|
-
isPopupReady: isPopupReady,
|
|
1010
|
-
isPopupOpen: isPopupOpen,
|
|
1011
|
-
isDisabled: isDisabled
|
|
1037
|
+
dataId: "".concat(dataId, "_selectedOptions")
|
|
1012
1038
|
}), /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
|
|
1013
1039
|
flexible: true,
|
|
1014
1040
|
className: _MultiSelectModule["default"].wrapper,
|
|
@@ -1116,9 +1142,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
1116
1142
|
isLoading = _this$props15.isLoading,
|
|
1117
1143
|
selectAllText = _this$props15.selectAllText,
|
|
1118
1144
|
needSelectAll = _this$props15.needSelectAll,
|
|
1119
|
-
customProps = _this$props15.customProps
|
|
1120
|
-
|
|
1121
|
-
|
|
1145
|
+
customProps = _this$props15.customProps,
|
|
1146
|
+
isVirtualizerEnabled = _this$props15.isVirtualizerEnabled,
|
|
1147
|
+
limit = _this$props15.limit;
|
|
1122
1148
|
var _this$state9 = this.state,
|
|
1123
1149
|
selectedOptions = _this$state9.selectedOptions,
|
|
1124
1150
|
searchStr = _this$state9.searchStr,
|
|
@@ -1128,7 +1154,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
1128
1154
|
selectedOptionIds = _this$state9.selectedOptionIds;
|
|
1129
1155
|
var _i18nKeys = i18nKeys,
|
|
1130
1156
|
_i18nKeys$searchText = _i18nKeys.searchText,
|
|
1131
|
-
searchText = _i18nKeys$searchText === void 0 ?
|
|
1157
|
+
searchText = _i18nKeys$searchText === void 0 ? _constants.MULTISELECT_I18N_KEYS.searchText : _i18nKeys$searchText,
|
|
1158
|
+
_i18nKeys$limitReache = _i18nKeys.limitReachedMessage,
|
|
1159
|
+
limitReachedMessage = _i18nKeys$limitReache === void 0 ? _constants.MULTISELECT_I18N_KEYS.limitReachedMessage : _i18nKeys$limitReache;
|
|
1132
1160
|
var suggestions = this.handleFilterSuggestions();
|
|
1133
1161
|
var setAriaId = this.getNextAriaId();
|
|
1134
1162
|
var ariaErrorId = this.getNextAriaId();
|
|
@@ -1138,6 +1166,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
1138
1166
|
noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
|
|
1139
1167
|
});
|
|
1140
1168
|
var isModel = (0, _isMobilePopover["default"])(needResponsive);
|
|
1169
|
+
var SuggestionsProps = customProps.SuggestionsProps;
|
|
1141
1170
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
1142
1171
|
className: "".concat(_MultiSelectModule["default"].wrapper, " ").concat(isDisabled ? _MultiSelectModule["default"].disabled : '', " ").concat(isReadOnly ? _MultiSelectModule["default"].readOnly : '', " ").concat(disableAction ? (0, _CssProvider["default"])('isBlock') : '', " ").concat(borderColor === 'transparent' ? _MultiSelectModule["default"].transparentContainer : '', " ").concat(needEffect && !(isDisabled || isReadOnly) ? _MultiSelectModule["default"].effect : ''),
|
|
1143
1172
|
"data-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
|
|
@@ -1181,7 +1210,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
1181
1210
|
onClick: this.handlePopupClose
|
|
1182
1211
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
1183
1212
|
className: _MultiSelectModule["default"].effect
|
|
1184
|
-
}, this.getSelectionUI(true))) : null, needSelectAll ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
|
|
1213
|
+
}, this.getSelectionUI(true))) : null, needSelectAll && !(limit >= 0) ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
|
|
1185
1214
|
onSelect: this.handleSelectAll,
|
|
1186
1215
|
selectAllText: selectAllText,
|
|
1187
1216
|
suggestions: suggestions,
|
|
@@ -1196,7 +1225,11 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
1196
1225
|
}, isSearching ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
1197
1226
|
className: _MultiSelectModule["default"][palette]
|
|
1198
1227
|
}, searchText) : suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], _extends({
|
|
1228
|
+
key: searchStr.trim(),
|
|
1199
1229
|
suggestions: suggestions,
|
|
1230
|
+
isVirtualizerEnabled: isVirtualizerEnabled,
|
|
1231
|
+
getVirtualizerPublicMethods: this.getVirtualizerPublicMethods,
|
|
1232
|
+
setVirtualizerContainerRefFunction: this.setSuggestionsVirtualizerContainerRefFunction,
|
|
1200
1233
|
getRef: this.suggestionItemRef,
|
|
1201
1234
|
hoverOption: hoverOption,
|
|
1202
1235
|
onClick: this.handleSelectOption,
|
|
@@ -1207,7 +1240,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
1207
1240
|
selectedOptions: selectedOptionIds,
|
|
1208
1241
|
a11y: {
|
|
1209
1242
|
role: 'option'
|
|
1210
|
-
}
|
|
1243
|
+
},
|
|
1244
|
+
limit: limit,
|
|
1245
|
+
limitReachedMessage: limitReachedMessage
|
|
1211
1246
|
}, SuggestionsProps)) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
|
|
1212
1247
|
isLoading: isFetchingOptions,
|
|
1213
1248
|
options: options,
|