@zohodesk/components 1.0.0-alpha-271 → 1.0.0-alpha-272
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/README.md +4 -0
- package/es/Accordion/Accordion.js +7 -3
- package/es/Accordion/AccordionItem.js +4 -2
- package/es/Animation/Animation.js +3 -3
- package/es/AppContainer/AppContainer.js +13 -5
- package/es/Avatar/Avatar.js +23 -11
- package/es/AvatarTeam/AvatarTeam.js +3 -3
- package/es/Button/Button.js +4 -3
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Card/Card.js +21 -10
- package/es/CheckBox/CheckBox.js +5 -3
- package/es/DateTime/CalendarView.js +32 -20
- package/es/DateTime/DateTime.js +75 -10
- package/es/DateTime/DateTimePopupFooter.js +4 -2
- package/es/DateTime/DateTimePopupHeader.js +8 -2
- package/es/DateTime/DateWidget.js +98 -35
- package/es/DateTime/DaysRow.js +4 -2
- package/es/DateTime/Time.js +10 -2
- package/es/DateTime/YearView.js +28 -4
- package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
- package/es/DateTime/__tests__/DateTime.spec.js +1 -0
- package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
- package/es/DateTime/common.js +3 -0
- package/es/DateTime/constants.js +1 -0
- package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
- package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
- package/es/DateTime/dateFormatUtils/index.js +32 -2
- package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
- package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
- package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
- package/es/DateTime/objectUtils.js +14 -20
- package/es/DateTime/props/defaultProps.js +2 -1
- package/es/DateTime/typeChecker.js +3 -0
- package/es/DateTime/validator.js +58 -6
- package/es/DropBox/DropBox.js +6 -2
- package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
- package/es/DropBox/props/defaultProps.js +1 -2
- package/es/DropBox/props/propTypes.js +1 -2
- package/es/DropDown/DropDown.js +8 -4
- package/es/DropDown/DropDownHeading.js +4 -5
- package/es/DropDown/DropDownItem.js +6 -0
- package/es/DropDown/DropDownSearch.js +4 -0
- package/es/DropDown/DropDownSeparator.js +1 -0
- package/es/DropDown/__tests__/DropDown.spec.js +1 -2
- package/es/Heading/Heading.js +2 -3
- package/es/Label/Label.js +2 -3
- package/es/Layout/Box.js +13 -0
- package/es/Layout/Container.js +12 -1
- package/es/Layout/index.js +1 -2
- package/es/ListItem/ListContainer.js +8 -3
- package/es/ListItem/ListItem.js +9 -3
- package/es/ListItem/ListItemWithAvatar.js +9 -3
- package/es/ListItem/ListItemWithCheckBox.js +7 -2
- package/es/ListItem/ListItemWithIcon.js +8 -3
- package/es/ListItem/ListItemWithRadio.js +7 -3
- package/es/Modal/Modal.js +28 -11
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
- package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
- package/es/MultiSelect/EmptyState.js +2 -0
- package/es/MultiSelect/MultiSelect.js +99 -32
- package/es/MultiSelect/MultiSelectHeader.js +3 -0
- package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
- package/es/MultiSelect/SelectedOptions.js +6 -3
- package/es/MultiSelect/Suggestions.js +7 -3
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
- package/es/MultiSelect/props/propTypes.js +2 -0
- package/es/PopOver/PopOver.js +18 -2
- package/es/PopOver/__tests__/PopOver.spec.js +2 -1
- package/es/Popup/Popup.js +77 -24
- package/es/Popup/__tests__/Popup.spec.js +17 -5
- package/es/Popup/viewPort.js +16 -4
- package/es/Provider/IdProvider.js +10 -5
- package/es/Provider/LibraryContext.js +6 -4
- package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
- package/es/Provider/ZindexProvider.js +9 -2
- package/es/Radio/Radio.js +4 -2
- package/es/Responsive/CustomResponsive.js +30 -18
- package/es/Responsive/RefWrapper.js +6 -7
- package/es/Responsive/ResizeComponent.js +35 -25
- package/es/Responsive/ResizeObserver.js +26 -6
- package/es/Responsive/Responsive.js +34 -20
- package/es/Responsive/index.js +1 -3
- package/es/Responsive/sizeObservers.js +28 -7
- package/es/Responsive/utils/index.js +7 -5
- package/es/Responsive/utils/shallowCompare.js +7 -2
- package/es/Responsive/windowResizeObserver.js +7 -0
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
- package/es/Ribbon/Ribbon.js +3 -2
- package/es/RippleEffect/RippleEffect.js +1 -3
- package/es/Select/GroupSelect.js +58 -14
- package/es/Select/Select.js +79 -33
- package/es/Select/SelectWithAvatar.js +17 -4
- package/es/Select/SelectWithIcon.js +46 -5
- package/es/Select/__tests__/Select.spec.js +6 -8
- package/es/Select/props/propTypes.js +1 -0
- package/es/Stencils/Stencils.js +3 -3
- package/es/Switch/Switch.js +5 -3
- package/es/Tab/Tab.js +4 -4
- package/es/Tab/TabContent.js +1 -0
- package/es/Tab/TabContentWrapper.js +2 -0
- package/es/Tab/TabWrapper.js +5 -2
- package/es/Tab/Tabs.js +54 -7
- package/es/Tab/__tests__/Tab.spec.js +1 -3
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
- package/es/Tag/Tag.js +6 -3
- package/es/TextBox/TextBox.js +15 -3
- package/es/TextBox/__tests__/TextBox.spec.js +1 -4
- package/es/TextBoxIcon/TextBoxIcon.js +9 -2
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
- package/es/Textarea/Textarea.js +12 -3
- package/es/Textarea/__tests__/Textarea.spec.js +2 -2
- package/es/Tooltip/Tooltip.js +58 -14
- package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
- package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
- package/es/semantic/Button/Button.js +3 -2
- package/es/utils/Common.js +54 -9
- package/es/utils/ContextOptimizer.js +4 -5
- package/es/utils/__tests__/debounce.spec.js +2 -2
- package/es/utils/constructFullName.js +2 -0
- package/es/utils/css/compileClassNames.js +5 -0
- package/es/utils/css/mergeStyle.js +7 -6
- package/es/utils/css/utils.js +1 -0
- package/es/utils/datetime/GMTZones.js +48 -0
- package/es/utils/datetime/common.js +31 -7
- package/es/utils/debounce.js +5 -1
- package/es/utils/dropDownUtils.js +68 -11
- package/es/utils/getInitial.js +4 -0
- package/es/utils/shallowEqual.js +6 -0
- package/lib/Accordion/Accordion.js +42 -18
- package/lib/Accordion/AccordionItem.js +40 -18
- package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
- package/lib/Accordion/index.js +3 -0
- package/lib/Accordion/props/propTypes.js +3 -0
- package/lib/Animation/Animation.js +38 -18
- package/lib/Animation/__tests__/Animation.spec.js +11 -7
- package/lib/Animation/props/propTypes.js +3 -0
- package/lib/AppContainer/AppContainer.js +56 -21
- package/lib/AppContainer/props/propTypes.js +3 -0
- package/lib/Avatar/Avatar.js +78 -38
- package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
- package/lib/Avatar/props/propTypes.js +3 -0
- package/lib/AvatarTeam/AvatarTeam.js +52 -30
- package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
- package/lib/AvatarTeam/props/propTypes.js +3 -0
- package/lib/Button/Button.js +31 -20
- package/lib/Button/css/cssJSLogic.js +18 -17
- package/lib/Button/index.js +3 -0
- package/lib/Button/props/defaultProps.js +2 -0
- package/lib/Button/props/propTypes.js +3 -0
- package/lib/Buttongroup/Buttongroup.js +32 -12
- package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
- package/lib/Buttongroup/props/propTypes.js +3 -0
- package/lib/Card/Card.js +102 -46
- package/lib/Card/__tests__/Card.spec.js +10 -1
- package/lib/Card/index.js +4 -0
- package/lib/Card/props/propTypes.js +3 -0
- package/lib/CheckBox/CheckBox.js +71 -47
- package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
- package/lib/CheckBox/props/propTypes.js +3 -0
- package/lib/DateTime/CalendarView.js +82 -42
- package/lib/DateTime/DateTime.js +246 -158
- package/lib/DateTime/DateTimePopupFooter.js +31 -8
- package/lib/DateTime/DateTimePopupHeader.js +48 -17
- package/lib/DateTime/DateWidget.js +352 -250
- package/lib/DateTime/DaysRow.js +27 -5
- package/lib/DateTime/Time.js +73 -32
- package/lib/DateTime/YearView.js +77 -28
- package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
- package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
- package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
- package/lib/DateTime/common.js +6 -0
- package/lib/DateTime/constants.js +1 -0
- package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
- package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
- package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
- package/lib/DateTime/dateFormatUtils/index.js +74 -16
- package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
- package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
- package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
- package/lib/DateTime/index.js +2 -0
- package/lib/DateTime/objectUtils.js +24 -20
- package/lib/DateTime/props/defaultProps.js +2 -1
- package/lib/DateTime/props/propTypes.js +11 -1
- package/lib/DateTime/typeChecker.js +4 -0
- package/lib/DateTime/validator.js +73 -10
- package/lib/DropBox/DropBox.js +34 -10
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
- package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
- package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
- package/lib/DropBox/css/cssJSLogic.js +3 -1
- package/lib/DropBox/props/defaultProps.js +8 -4
- package/lib/DropBox/props/propTypes.js +10 -4
- package/lib/DropDown/DropDown.js +52 -8
- package/lib/DropDown/DropDownHeading.js +39 -20
- package/lib/DropDown/DropDownItem.js +42 -20
- package/lib/DropDown/DropDownSearch.js +40 -17
- package/lib/DropDown/DropDownSeparator.js +24 -4
- package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
- package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
- package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
- package/lib/DropDown/index.js +9 -0
- package/lib/DropDown/props/propTypes.js +6 -4
- package/lib/Heading/Heading.js +37 -15
- package/lib/Heading/props/propTypes.js +3 -0
- package/lib/Label/Label.js +39 -19
- package/lib/Label/__tests__/Label.spec.js +14 -1
- package/lib/Label/props/propTypes.js +3 -0
- package/lib/Layout/Box.js +31 -11
- package/lib/Layout/Container.js +29 -10
- package/lib/Layout/__tests__/Box.spec.js +65 -49
- package/lib/Layout/__tests__/Container.spec.js +67 -50
- package/lib/Layout/index.js +3 -0
- package/lib/Layout/props/propTypes.js +3 -0
- package/lib/Layout/utils.js +10 -0
- package/lib/ListItem/ListContainer.js +48 -27
- package/lib/ListItem/ListItem.js +69 -45
- package/lib/ListItem/ListItemWithAvatar.js +75 -48
- package/lib/ListItem/ListItemWithCheckBox.js +64 -39
- package/lib/ListItem/ListItemWithIcon.js +68 -44
- package/lib/ListItem/ListItemWithRadio.js +65 -41
- package/lib/ListItem/index.js +7 -0
- package/lib/ListItem/props/propTypes.js +6 -4
- package/lib/Modal/Modal.js +45 -10
- package/lib/Modal/props/propTypes.js +3 -0
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
- package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
- package/lib/MultiSelect/EmptyState.js +45 -24
- package/lib/MultiSelect/MultiSelect.js +323 -206
- package/lib/MultiSelect/MultiSelectHeader.js +30 -8
- package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
- package/lib/MultiSelect/SelectedOptions.js +43 -17
- package/lib/MultiSelect/Suggestions.js +64 -32
- package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
- package/lib/MultiSelect/index.js +5 -0
- package/lib/MultiSelect/props/defaultProps.js +2 -0
- package/lib/MultiSelect/props/propTypes.js +5 -0
- package/lib/PopOver/PopOver.js +95 -49
- package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
- package/lib/PopOver/index.js +4 -0
- package/lib/PopOver/props/propTypes.js +3 -0
- package/lib/Popup/Popup.js +158 -81
- package/lib/Popup/__tests__/Popup.spec.js +43 -8
- package/lib/Popup/viewPort.js +28 -14
- package/lib/Provider/AvatarSize.js +4 -0
- package/lib/Provider/Config.js +2 -0
- package/lib/Provider/CssProvider.js +4 -0
- package/lib/Provider/IdProvider.js +17 -6
- package/lib/Provider/LibraryContext.js +35 -15
- package/lib/Provider/LibraryContextInit.js +4 -0
- package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
- package/lib/Provider/ZindexProvider.js +15 -3
- package/lib/Provider/index.js +5 -0
- package/lib/Radio/Radio.js +61 -38
- package/lib/Radio/__tests__/Radiospec.js +9 -5
- package/lib/Radio/props/propTypes.js +3 -0
- package/lib/Responsive/CustomResponsive.js +73 -29
- package/lib/Responsive/RefWrapper.js +17 -11
- package/lib/Responsive/ResizeComponent.js +62 -36
- package/lib/Responsive/ResizeObserver.js +24 -10
- package/lib/Responsive/Responsive.js +80 -30
- package/lib/Responsive/index.js +4 -0
- package/lib/Responsive/props/propTypes.js +3 -0
- package/lib/Responsive/sizeObservers.js +53 -17
- package/lib/Responsive/utils/index.js +11 -3
- package/lib/Responsive/utils/shallowCompare.js +11 -2
- package/lib/Responsive/windowResizeObserver.js +8 -0
- package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
- package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
- package/lib/Ribbon/Ribbon.js +33 -13
- package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
- package/lib/Ribbon/props/propTypes.js +3 -0
- package/lib/RippleEffect/RippleEffect.js +18 -10
- package/lib/RippleEffect/props/propTypes.js +3 -0
- package/lib/Select/GroupSelect.js +229 -130
- package/lib/Select/Select.js +290 -209
- package/lib/Select/SelectWithAvatar.js +102 -56
- package/lib/Select/SelectWithIcon.js +132 -76
- package/lib/Select/__tests__/Select.spec.js +133 -91
- package/lib/Select/index.js +5 -0
- package/lib/Select/props/defaultProps.js +5 -4
- package/lib/Select/props/propTypes.js +4 -0
- package/lib/Stencils/Stencils.js +29 -10
- package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
- package/lib/Stencils/props/propTypes.js +3 -0
- package/lib/Switch/Switch.js +57 -34
- package/lib/Switch/props/propTypes.js +3 -0
- package/lib/Tab/Tab.js +40 -27
- package/lib/Tab/TabContent.js +12 -5
- package/lib/Tab/TabContentWrapper.js +13 -6
- package/lib/Tab/TabWrapper.js +37 -19
- package/lib/Tab/Tabs.js +171 -91
- package/lib/Tab/__tests__/Tab.spec.js +67 -58
- package/lib/Tab/__tests__/TabContent.spec.js +10 -6
- package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
- package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
- package/lib/Tab/__tests__/Tabs.spec.js +53 -39
- package/lib/Tab/index.js +6 -0
- package/lib/Tab/props/propTypes.js +3 -0
- package/lib/Tag/Tag.js +72 -43
- package/lib/Tag/__tests__/Tag.spec.js +14 -8
- package/lib/Tag/props/propTypes.js +3 -0
- package/lib/TextBox/TextBox.js +85 -59
- package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
- package/lib/TextBox/props/propTypes.js +6 -4
- package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
- package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
- package/lib/TextBoxIcon/props/propTypes.js +3 -0
- package/lib/Textarea/Textarea.js +54 -29
- package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
- package/lib/Textarea/props/propTypes.js +3 -0
- package/lib/Tooltip/Tooltip.js +94 -31
- package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
- package/lib/Tooltip/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
- package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
- package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
- package/lib/VelocityAnimation/index.js +3 -0
- package/lib/css.js +40 -0
- package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
- package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
- package/lib/index.js +57 -0
- package/lib/semantic/Button/Button.js +42 -22
- package/lib/semantic/Button/props/propTypes.js +3 -0
- package/lib/semantic/index.js +2 -0
- package/lib/utils/Common.js +110 -18
- package/lib/utils/ContextOptimizer.js +16 -10
- package/lib/utils/__tests__/constructFullName.spec.js +1 -0
- package/lib/utils/__tests__/debounce.spec.js +3 -2
- package/lib/utils/__tests__/getInitial.spec.js +1 -0
- package/lib/utils/constructFullName.js +13 -4
- package/lib/utils/css/compileClassNames.js +6 -0
- package/lib/utils/css/mergeStyle.js +10 -7
- package/lib/utils/css/utils.js +8 -0
- package/lib/utils/datetime/GMTZones.js +55 -0
- package/lib/utils/datetime/common.js +52 -7
- package/lib/utils/debounce.js +6 -1
- package/lib/utils/dropDownUtils.js +175 -59
- package/lib/utils/dummyFunction.js +2 -0
- package/lib/utils/getHTMLFontSize.js +1 -0
- package/lib/utils/getInitial.js +6 -0
- package/lib/utils/index.js +4 -0
- package/lib/utils/scrollTo.js +2 -0
- package/lib/utils/shallowEqual.js +8 -0
- package/package.json +1 -1
|
@@ -1,88 +1,139 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = exports.MultiSelectComponent = void 0;
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
9
12
|
var _propTypes = require("./props/propTypes");
|
|
13
|
+
|
|
10
14
|
var _defaultProps = require("./props/defaultProps");
|
|
15
|
+
|
|
11
16
|
var _Popup = _interopRequireDefault(require("../Popup/Popup"));
|
|
17
|
+
|
|
12
18
|
var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
|
|
19
|
+
|
|
13
20
|
var _Layout = require("../Layout");
|
|
21
|
+
|
|
14
22
|
var _Card = _interopRequireWildcard(require("../Card/Card"));
|
|
23
|
+
|
|
15
24
|
var _SelectedOptions = _interopRequireDefault(require("./SelectedOptions"));
|
|
25
|
+
|
|
16
26
|
var _Suggestions = _interopRequireDefault(require("./Suggestions"));
|
|
27
|
+
|
|
17
28
|
var _EmptyState = _interopRequireDefault(require("./EmptyState"));
|
|
29
|
+
|
|
18
30
|
var _MultiSelectHeader = _interopRequireDefault(require("./MultiSelectHeader"));
|
|
31
|
+
|
|
19
32
|
var _CssProvider = _interopRequireDefault(require("../Provider/CssProvider"));
|
|
33
|
+
|
|
20
34
|
var _IdProvider = require("../Provider/IdProvider");
|
|
35
|
+
|
|
21
36
|
var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/ResponsiveDropBox"));
|
|
37
|
+
|
|
22
38
|
var _CustomResponsive = require("../Responsive/CustomResponsive");
|
|
39
|
+
|
|
23
40
|
var _Loader = _interopRequireDefault(require("@zohodesk/svg/lib/Loader/Loader"));
|
|
41
|
+
|
|
24
42
|
var _icons = require("@zohodesk/icons");
|
|
43
|
+
|
|
25
44
|
var _MultiSelectModule = _interopRequireDefault(require("./MultiSelect.module.css"));
|
|
45
|
+
|
|
26
46
|
var _Common = require("../utils/Common.js");
|
|
47
|
+
|
|
27
48
|
var _dropDownUtils = require("../utils/dropDownUtils");
|
|
49
|
+
|
|
28
50
|
var _Config = require("../Provider/Config");
|
|
51
|
+
|
|
29
52
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
53
|
+
|
|
30
54
|
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; }
|
|
55
|
+
|
|
31
56
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
57
|
+
|
|
32
58
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
59
|
+
|
|
33
60
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
34
|
-
|
|
61
|
+
|
|
62
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
63
|
+
|
|
35
64
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
65
|
+
|
|
36
66
|
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
67
|
+
|
|
37
68
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
69
|
+
|
|
38
70
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
71
|
+
|
|
39
72
|
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
73
|
+
|
|
40
74
|
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
41
|
-
|
|
75
|
+
|
|
76
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
77
|
+
|
|
42
78
|
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
43
|
-
|
|
79
|
+
|
|
80
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
81
|
+
|
|
44
82
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
45
|
-
|
|
46
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
83
|
+
|
|
47
84
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
85
|
+
|
|
48
86
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
87
|
+
|
|
49
88
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
89
|
+
|
|
50
90
|
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
91
|
+
|
|
51
92
|
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
93
|
+
|
|
52
94
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
95
|
+
|
|
53
96
|
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
97
|
+
|
|
54
98
|
/* eslint-disable react/forbid-component-props */
|
|
55
|
-
/* eslint-disable react/no-unused-prop-types */
|
|
56
99
|
|
|
100
|
+
/* eslint-disable react/no-unused-prop-types */
|
|
57
101
|
var dummyArray = [];
|
|
102
|
+
|
|
58
103
|
var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
59
104
|
_inherits(MultiSelectComponent, _React$Component);
|
|
105
|
+
|
|
60
106
|
var _super = _createSuper(MultiSelectComponent);
|
|
107
|
+
|
|
61
108
|
function MultiSelectComponent(props) {
|
|
62
109
|
var _this;
|
|
110
|
+
|
|
63
111
|
_classCallCheck(this, MultiSelectComponent);
|
|
112
|
+
|
|
64
113
|
_this = _super.call(this, props);
|
|
65
114
|
_this.getNextAriaId = (0, _IdProvider.getUniqueId)(_assertThisInitialized(_this));
|
|
66
115
|
_this.getFilterSuggestions = (0, _dropDownUtils.makeGetMultiSelectFilterSuggestions)();
|
|
67
116
|
_this.formatOptions = (0, _dropDownUtils.makeFormatOptions)();
|
|
68
117
|
_this.getSelectedOptions = (0, _dropDownUtils.makeGetMultiSelectSelectedOptions)();
|
|
69
|
-
_this.getIsShowClearIcon = (0, _dropDownUtils.makeGetIsShowClearIcon)();
|
|
118
|
+
_this.getIsShowClearIcon = (0, _dropDownUtils.makeGetIsShowClearIcon)(); //Use in AdvancedMultiSelect component
|
|
70
119
|
|
|
71
|
-
//Use in AdvancedMultiSelect component
|
|
72
120
|
_this.objectConcat = (0, _dropDownUtils.makeObjectConcat)();
|
|
73
121
|
_this.formatSelectedOptions = (0, _dropDownUtils.makeFormatOptions)();
|
|
74
122
|
var _this$props = _this.props,
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
123
|
+
selectedOptions = _this$props.selectedOptions,
|
|
124
|
+
_this$props$searchDeb = _this$props.searchDebounceTime,
|
|
125
|
+
searchDebounceTime = _this$props$searchDeb === void 0 ? 500 : _this$props$searchDeb;
|
|
126
|
+
|
|
78
127
|
var _this$handleFormatOpt = _this.handleFormatOptions(_this.props),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
128
|
+
allOptions = _this$handleFormatOpt.allOptions,
|
|
129
|
+
normalizedAllOptions = _this$handleFormatOpt.normalizedAllOptions,
|
|
130
|
+
normalizedFormatOptions = _this$handleFormatOpt.normalizedFormatOptions;
|
|
131
|
+
|
|
82
132
|
var _this$handleGetSelect = _this.handleGetSelectedOptions(selectedOptions, normalizedFormatOptions, _this.props),
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
133
|
+
formatSelectedOptions = _this$handleGetSelect.formatSelectedOptions,
|
|
134
|
+
normalizedSelectedOptions = _this$handleGetSelect.normalizedSelectedOptions,
|
|
135
|
+
selectedOptionIds = _this$handleGetSelect.selectedOptionIds;
|
|
136
|
+
|
|
86
137
|
_this.state = {
|
|
87
138
|
options: allOptions,
|
|
88
139
|
optionsNormalize: normalizedAllOptions,
|
|
@@ -99,43 +150,50 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
99
150
|
_this.allSelectedOptionsDetails = normalizedSelectedOptions;
|
|
100
151
|
_this.suggestionsOrder = [];
|
|
101
152
|
_this._isMounted = false;
|
|
153
|
+
|
|
102
154
|
_Common.bind.apply(_assertThisInitialized(_this), ['handleInputCick', 'handleFilterSuggestions', 'handleKeyDown', 'handleSelectAll', 'handleDeselectAll', 'handleSelectOption', 'handleRemoveOption', 'handleSearch', 'handleClickSelectedOption', 'handleChange', 'handlePopupClose', 'togglePopup', 'selectedOptionRef', 'searchInputRef', 'suggestionContainerRef', 'suggestionItemRef', 'selectedOptionContainerRef', 'handleActive', 'handleInactive', 'handleMouseEnter', 'handleFetchOptions', 'handleFormatOptions', 'handleGetSelectedOptions', 'handleComponentDidUpdate', 'handleInputFocus', 'handleExposedPublicMethods']);
|
|
155
|
+
|
|
103
156
|
_this.handleSearchOptions = (0, _Common.debounce)(_this.handleSearchOptions.bind(_assertThisInitialized(_this)), searchDebounceTime);
|
|
104
157
|
_this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));
|
|
105
158
|
_this.handleScrollFuncCall = (0, _Common.debounce)(_this.handleScrollFuncCall.bind(_assertThisInitialized(_this)), 500);
|
|
106
159
|
return _this;
|
|
107
160
|
}
|
|
161
|
+
|
|
108
162
|
_createClass(MultiSelectComponent, [{
|
|
109
163
|
key: "componentDidMount",
|
|
110
164
|
value: function componentDidMount() {
|
|
111
165
|
// let { suggestionContainer } = this;
|
|
112
166
|
this._isMounted = true;
|
|
113
|
-
this.handleExposedPublicMethods();
|
|
114
|
-
// suggestionContainer &&
|
|
167
|
+
this.handleExposedPublicMethods(); // suggestionContainer &&
|
|
115
168
|
// suggestionContainer.addEventListener('scroll', this.handleScroll);
|
|
116
169
|
}
|
|
117
170
|
}, {
|
|
118
171
|
key: "componentWillReceiveProps",
|
|
119
172
|
value: function componentWillReceiveProps(nextProps) {
|
|
120
173
|
var _this2 = this;
|
|
174
|
+
|
|
121
175
|
var selectedOptions = nextProps.selectedOptions,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
176
|
+
options = nextProps.options,
|
|
177
|
+
valueField = nextProps.valueField,
|
|
178
|
+
textField = nextProps.textField,
|
|
179
|
+
prefixText = nextProps.prefixText;
|
|
126
180
|
var oldProps = this.props;
|
|
181
|
+
|
|
127
182
|
if (selectedOptions !== oldProps.selectedOptions || options !== oldProps.options || valueField !== oldProps.valueField || textField !== oldProps.textField || prefixText !== oldProps.prefixText //For GroupMultiSelect component
|
|
128
183
|
) {
|
|
129
184
|
var _this$handleFormatOpt2 = this.handleFormatOptions(nextProps),
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
185
|
+
allOptions = _this$handleFormatOpt2.allOptions,
|
|
186
|
+
normalizedAllOptions = _this$handleFormatOpt2.normalizedAllOptions,
|
|
187
|
+
normalizedFormatOptions = _this$handleFormatOpt2.normalizedFormatOptions;
|
|
188
|
+
|
|
133
189
|
var oldAllSelectedOptionsDetails = this.allSelectedOptionsDetails;
|
|
134
190
|
var optionsDetails = Object.assign({}, oldAllSelectedOptionsDetails, normalizedFormatOptions);
|
|
191
|
+
|
|
135
192
|
var _this$handleGetSelect2 = this.handleGetSelectedOptions(selectedOptions, optionsDetails, nextProps),
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
193
|
+
formatSelectedOptions = _this$handleGetSelect2.formatSelectedOptions,
|
|
194
|
+
normalizedSelectedOptions = _this$handleGetSelect2.normalizedSelectedOptions,
|
|
195
|
+
selectedOptionIds = _this$handleGetSelect2.selectedOptionIds;
|
|
196
|
+
|
|
139
197
|
this.allSelectedOptionsDetails = Object.assign(oldAllSelectedOptionsDetails, normalizedSelectedOptions);
|
|
140
198
|
this.setState({
|
|
141
199
|
options: allOptions,
|
|
@@ -144,11 +202,16 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
144
202
|
selectedOptionIds: selectedOptionIds
|
|
145
203
|
}, function () {
|
|
146
204
|
var hoverOption = _this2.state.hoverOption;
|
|
205
|
+
|
|
147
206
|
var suggestions = _this2.handleFilterSuggestions();
|
|
207
|
+
|
|
148
208
|
var suggestionsLen = suggestions.length;
|
|
209
|
+
|
|
149
210
|
var _ref = suggestions[hoverOption] || {},
|
|
150
|
-
|
|
211
|
+
id = _ref.id;
|
|
212
|
+
|
|
151
213
|
var newHoverOption = !(0, _Common.getIsEmptyValue)(id) ? hoverOption : suggestionsLen ? suggestionsLen - 1 : 0;
|
|
214
|
+
|
|
152
215
|
_this2.setState({
|
|
153
216
|
hoverOption: newHoverOption
|
|
154
217
|
});
|
|
@@ -159,23 +222,23 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
159
222
|
key: "componentDidUpdate",
|
|
160
223
|
value: function componentDidUpdate(prevProps, prevState) {
|
|
161
224
|
var suggestionContainer = this.suggestionContainer,
|
|
162
|
-
|
|
163
|
-
|
|
225
|
+
selectedOptionContainer = this.selectedOptionContainer,
|
|
226
|
+
suggestionsOrder = this.suggestionsOrder;
|
|
164
227
|
var _this$state = this.state,
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
228
|
+
hoverOption = _this$state.hoverOption,
|
|
229
|
+
highLightedSelectOptions = _this$state.highLightedSelectOptions,
|
|
230
|
+
selectedOptions = _this$state.selectedOptions,
|
|
231
|
+
searchStr = _this$state.searchStr;
|
|
169
232
|
var _this$props2 = this.props,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
233
|
+
needLocalSearch = _this$props2.needLocalSearch,
|
|
234
|
+
isPopupOpen = _this$props2.isPopupOpen,
|
|
235
|
+
onDropBoxClose = _this$props2.onDropBoxClose,
|
|
236
|
+
onDropBoxOpen = _this$props2.onDropBoxOpen,
|
|
237
|
+
isSearchClearOnClose = _this$props2.isSearchClearOnClose; //handle dropbox open & close
|
|
175
238
|
|
|
176
|
-
//handle dropbox open & close
|
|
177
239
|
if (prevProps.isPopupOpen !== isPopupOpen) {
|
|
178
240
|
isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
|
|
241
|
+
|
|
179
242
|
if (!isPopupOpen) {
|
|
180
243
|
this.setState({
|
|
181
244
|
hoverOption: 0
|
|
@@ -183,36 +246,35 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
183
246
|
isSearchClearOnClose && searchStr && this.handleSearch('');
|
|
184
247
|
onDropBoxClose && onDropBoxClose();
|
|
185
248
|
}
|
|
186
|
-
}
|
|
249
|
+
} //scrollTo handling
|
|
250
|
+
|
|
187
251
|
|
|
188
|
-
//scrollTo handling
|
|
189
252
|
var hoverId = suggestionsOrder[hoverOption] || '';
|
|
190
253
|
var selectedSuggestion = this["suggestion_".concat(hoverId)];
|
|
191
254
|
var lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : null;
|
|
192
255
|
var selectedOption = this["selectedOption_".concat(lastHighLightedSelectOption)];
|
|
193
256
|
isPopupOpen && (0, _Common.scrollTo)(suggestionContainer, selectedSuggestion);
|
|
194
|
-
selectedOptions.length && selectedOption && (0, _Common.scrollTo)(selectedOptionContainer, selectedOption);
|
|
257
|
+
selectedOptions.length && selectedOption && (0, _Common.scrollTo)(selectedOptionContainer, selectedOption); //When suggestions length less than 5, getNextOptions function call
|
|
195
258
|
|
|
196
|
-
//When suggestions length less than 5, getNextOptions function call
|
|
197
259
|
var _this$props3 = this.props,
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
260
|
+
isNextOptions = _this$props3.isNextOptions,
|
|
261
|
+
getNextOptions = _this$props3.getNextOptions; // let { searchStr } = this.state;
|
|
262
|
+
|
|
201
263
|
var suggestions = this.handleFilterSuggestions();
|
|
202
264
|
var suggestionsLen = suggestions.length;
|
|
265
|
+
|
|
203
266
|
if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
|
|
204
267
|
this.handleFetchOptions(getNextOptions, searchStr);
|
|
205
|
-
}
|
|
268
|
+
} //Need To MultiselectNew Component
|
|
269
|
+
|
|
206
270
|
|
|
207
|
-
//Need To MultiselectNew Component
|
|
208
271
|
this.handleComponentDidUpdate(prevProps, prevState);
|
|
209
272
|
}
|
|
210
273
|
}, {
|
|
211
274
|
key: "componentWillUnmount",
|
|
212
275
|
value: function componentWillUnmount() {
|
|
213
276
|
// let { suggestionContainer } = this;
|
|
214
|
-
this._isMounted = false;
|
|
215
|
-
// suggestionContainer &&
|
|
277
|
+
this._isMounted = false; // suggestionContainer &&
|
|
216
278
|
// suggestionContainer.removeEventListener('scroll', this.handleScroll);
|
|
217
279
|
}
|
|
218
280
|
}, {
|
|
@@ -224,10 +286,10 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
224
286
|
key: "handleFormatOptions",
|
|
225
287
|
value: function handleFormatOptions(props) {
|
|
226
288
|
var options = props.options,
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
289
|
+
valueField = props.valueField,
|
|
290
|
+
textField = props.textField,
|
|
291
|
+
prefixText = props.prefixText,
|
|
292
|
+
disabledOptions = props.disabledOptions;
|
|
231
293
|
return this.formatOptions({
|
|
232
294
|
options: options,
|
|
233
295
|
valueField: valueField,
|
|
@@ -250,9 +312,10 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
250
312
|
value: function handleInputCick(e) {
|
|
251
313
|
var removeClose = this.props.removeClose;
|
|
252
314
|
var _this$state2 = this.state,
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
315
|
+
highLightedSelectOptions = _this$state2.highLightedSelectOptions,
|
|
316
|
+
_this$state2$searchSt = _this$state2.searchStr,
|
|
317
|
+
searchStr = _this$state2$searchSt === void 0 ? '' : _this$state2$searchSt;
|
|
318
|
+
|
|
256
319
|
if (highLightedSelectOptions.length) {
|
|
257
320
|
this.setState({
|
|
258
321
|
highLightedSelectOptions: [],
|
|
@@ -270,23 +333,25 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
270
333
|
key: "handleFilterSuggestions",
|
|
271
334
|
value: function handleFilterSuggestions() {
|
|
272
335
|
var _this$state3 = this.state,
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
336
|
+
_this$state3$options = _this$state3.options,
|
|
337
|
+
options = _this$state3$options === void 0 ? dummyArray : _this$state3$options,
|
|
338
|
+
_this$state3$searchSt = _this$state3.searchStr,
|
|
339
|
+
searchStr = _this$state3$searchSt === void 0 ? '' : _this$state3$searchSt;
|
|
277
340
|
var _this$props4 = this.props,
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
341
|
+
selectedOptions = _this$props4.selectedOptions,
|
|
342
|
+
needLocalSearch = _this$props4.needLocalSearch,
|
|
343
|
+
keepSelectedOptions = _this$props4.keepSelectedOptions;
|
|
344
|
+
|
|
281
345
|
var _this$getFilterSugges = this.getFilterSuggestions({
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
346
|
+
options: options,
|
|
347
|
+
selectedOptions: selectedOptions,
|
|
348
|
+
searchStr: (0, _Common.getSearchString)(searchStr),
|
|
349
|
+
needSearch: needLocalSearch,
|
|
350
|
+
keepSelectedOptions: keepSelectedOptions
|
|
351
|
+
}),
|
|
352
|
+
suggestions = _this$getFilterSugges.suggestions,
|
|
353
|
+
suggestionIds = _this$getFilterSugges.suggestionIds;
|
|
354
|
+
|
|
290
355
|
this.suggestionsOrder = suggestionIds;
|
|
291
356
|
return suggestions;
|
|
292
357
|
}
|
|
@@ -294,38 +359,45 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
294
359
|
key: "handleKeyDown",
|
|
295
360
|
value: function handleKeyDown(e) {
|
|
296
361
|
var keyCode = e.keyCode,
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
362
|
+
ctrlKey = e.ctrlKey,
|
|
363
|
+
metaKey = e.metaKey,
|
|
364
|
+
shiftKey = e.shiftKey;
|
|
300
365
|
var suggestions = [];
|
|
301
366
|
var _this$state4 = this.state,
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
367
|
+
hoverOption = _this$state4.hoverOption,
|
|
368
|
+
searchStr = _this$state4.searchStr,
|
|
369
|
+
highLightedSelectOptions = _this$state4.highLightedSelectOptions,
|
|
370
|
+
lastHighLightedSelectOption = _this$state4.lastHighLightedSelectOption,
|
|
371
|
+
shiftKeyPressHighLighted = _this$state4.shiftKeyPressHighLighted,
|
|
372
|
+
selectedOptions = _this$state4.selectedOptionIds;
|
|
308
373
|
var _this$props5 = this.props,
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
374
|
+
isNextOptions = _this$props5.isNextOptions,
|
|
375
|
+
getNextOptions = _this$props5.getNextOptions,
|
|
376
|
+
isPopupOpen = _this$props5.isPopupOpen,
|
|
377
|
+
isPopupOpenOnEnter = _this$props5.isPopupOpenOnEnter,
|
|
378
|
+
onKeyDown = _this$props5.onKeyDown;
|
|
314
379
|
var highLightedSelectOptionsLen = highLightedSelectOptions.length;
|
|
380
|
+
|
|
315
381
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27 || keyCode === 9)) {
|
|
316
382
|
suggestions = this.handleFilterSuggestions();
|
|
317
383
|
}
|
|
384
|
+
|
|
318
385
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
319
386
|
onKeyDown && onKeyDown(e);
|
|
320
387
|
}
|
|
388
|
+
|
|
321
389
|
if (!isPopupOpen && keyCode === 40) {
|
|
322
390
|
//down arrow press popup open
|
|
323
391
|
e.preventDefault(); //prevent body scroll
|
|
392
|
+
|
|
324
393
|
this.togglePopup(e);
|
|
325
394
|
}
|
|
395
|
+
|
|
326
396
|
var suggestionsLen = suggestions.length;
|
|
397
|
+
|
|
327
398
|
if (suggestionsLen && isPopupOpen && keyCode === 38) {
|
|
328
399
|
//up arrow
|
|
400
|
+
|
|
329
401
|
/*if (hoverOption === 0) { //disable first to last option higlight
|
|
330
402
|
!isNextOptions && this.setState({ hoverOption: suggestionsLen - 1 });
|
|
331
403
|
}*/
|
|
@@ -336,6 +408,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
336
408
|
}
|
|
337
409
|
} else if (suggestionsLen && isPopupOpen && keyCode === 40) {
|
|
338
410
|
//down arrow
|
|
411
|
+
|
|
339
412
|
/*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
|
|
340
413
|
//disable last to first option higlight
|
|
341
414
|
!isNextOptions && this.setState({ hoverOption: 0 });
|
|
@@ -361,8 +434,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
361
434
|
if (highLightedSelectOptionsLen) {
|
|
362
435
|
this.handleRemoveOption(highLightedSelectOptions);
|
|
363
436
|
} else {
|
|
364
|
-
this.handleRemoveOption(selectedOptions.slice(-1));
|
|
365
|
-
// this.setState({
|
|
437
|
+
this.handleRemoveOption(selectedOptions.slice(-1)); // this.setState({
|
|
366
438
|
// highLightedSelectOptions: selectedOptions.slice(-1)
|
|
367
439
|
// });
|
|
368
440
|
}
|
|
@@ -377,6 +449,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
377
449
|
var lastHighLightedSelectOptionIndex = lastHighLightedSelectOption && selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
|
|
378
450
|
var newShiftKeyPressHighLighted = shiftKeyPressHighLighted ? shiftKeyPressHighLighted : shiftKeyPressHighLighted + 1;
|
|
379
451
|
var newHighLightedSelectOption = lastHighLightedSelectOptionIndex !== null ? selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted] : selectedOptions[0];
|
|
452
|
+
|
|
380
453
|
if (!(0, _Common.getIsEmptyValue)(newHighLightedSelectOption)) {
|
|
381
454
|
var newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions[0];
|
|
382
455
|
highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
|
|
@@ -393,15 +466,22 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
393
466
|
} else if (keyCode === 37 && shiftKey && selectedOptions.length && !searchStr.length) {
|
|
394
467
|
// shift+left arrow=37
|
|
395
468
|
var _lastHighLightedSelectOptionIndex = lastHighLightedSelectOption ? selectedOptions.indexOf(lastHighLightedSelectOption) : selectedOptions.length - 1;
|
|
469
|
+
|
|
396
470
|
var _newShiftKeyPressHighLighted = shiftKeyPressHighLighted !== 1 ? shiftKeyPressHighLighted : shiftKeyPressHighLighted - 1;
|
|
471
|
+
|
|
397
472
|
var _newHighLightedSelectOption = selectedOptions[_lastHighLightedSelectOptionIndex + _newShiftKeyPressHighLighted - 1];
|
|
473
|
+
|
|
398
474
|
if (!(0, _Common.getIsEmptyValue)(_newHighLightedSelectOption)) {
|
|
399
475
|
var _newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions.slice(-1)[0];
|
|
476
|
+
|
|
400
477
|
highLightedSelectOptions = !shiftKeyPressHighLighted ? [_newLastHighLightedSelectOption] : highLightedSelectOptions;
|
|
478
|
+
|
|
401
479
|
var _isRemove = highLightedSelectOptions.indexOf(_newHighLightedSelectOption) >= 0 && _newHighLightedSelectOption !== lastHighLightedSelectOption ? true : false;
|
|
480
|
+
|
|
402
481
|
var _newHighLightedSelectOptions = _isRemove ? highLightedSelectOptions.filter(function (option) {
|
|
403
482
|
return option !== _newHighLightedSelectOption;
|
|
404
483
|
}) : [].concat(_toConsumableArray(highLightedSelectOptions), [_newHighLightedSelectOption]);
|
|
484
|
+
|
|
405
485
|
this.setState({
|
|
406
486
|
highLightedSelectOptions: _newHighLightedSelectOptions,
|
|
407
487
|
shiftKeyPressHighLighted: _newShiftKeyPressHighLighted - 1,
|
|
@@ -409,16 +489,19 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
409
489
|
});
|
|
410
490
|
}
|
|
411
491
|
} else if ((keyCode === 39 || keyCode === 37) && selectedOptions.length && !searchStr.length) {
|
|
412
|
-
var isRightArrow = keyCode === 39 ? true : false;
|
|
413
|
-
|
|
492
|
+
var isRightArrow = keyCode === 39 ? true : false; // let isLefttArrow = keyCode === 37 ? true : false;
|
|
493
|
+
|
|
414
494
|
if (highLightedSelectOptions.length) {
|
|
415
495
|
var _highLightedSelectOpt = highLightedSelectOptions.slice(-1),
|
|
416
|
-
|
|
417
|
-
|
|
496
|
+
_highLightedSelectOpt2 = _slicedToArray(_highLightedSelectOpt, 1),
|
|
497
|
+
_lastHighLightedSelectOption = _highLightedSelectOpt2[0];
|
|
498
|
+
|
|
418
499
|
var _lastHighLightedSelectOptionIndex2 = selectedOptions.indexOf(_lastHighLightedSelectOption);
|
|
500
|
+
|
|
419
501
|
var newLastHighLightedSelectOptionIndex = isRightArrow ? _lastHighLightedSelectOptionIndex2 === selectedOptions.length - 1 ? _lastHighLightedSelectOptionIndex2 : _lastHighLightedSelectOptionIndex2 + 1 : _lastHighLightedSelectOptionIndex2 - 1;
|
|
420
502
|
var _newLastHighLightedSelectOption2 = selectedOptions[newLastHighLightedSelectOptionIndex];
|
|
421
503
|
var isEmptyHighlighted = isRightArrow && highLightedSelectOptions.length === 1 && selectedOptions.slice(-1)[0] === _lastHighLightedSelectOption ? true : false;
|
|
504
|
+
|
|
422
505
|
if (!(0, _Common.getIsEmptyValue)(_newLastHighLightedSelectOption2)) {
|
|
423
506
|
this.setState({
|
|
424
507
|
lastHighLightedSelectOption: isEmptyHighlighted ? '' : _newLastHighLightedSelectOption2,
|
|
@@ -428,16 +511,16 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
428
511
|
}
|
|
429
512
|
} else {
|
|
430
513
|
var _ref2 = isRightArrow ? selectedOptions : selectedOptions.slice(-1),
|
|
431
|
-
|
|
432
|
-
|
|
514
|
+
_ref3 = _slicedToArray(_ref2, 1),
|
|
515
|
+
_newLastHighLightedSelectOption3 = _ref3[0];
|
|
516
|
+
|
|
433
517
|
this.setState({
|
|
434
518
|
lastHighLightedSelectOption: _newLastHighLightedSelectOption3,
|
|
435
519
|
highLightedSelectOptions: [_newLastHighLightedSelectOption3],
|
|
436
520
|
shiftKeyPressHighLighted: 0
|
|
437
521
|
});
|
|
438
522
|
}
|
|
439
|
-
} else if (keyCode === 27) {
|
|
440
|
-
// this.handlePopupClose(e);
|
|
523
|
+
} else if (keyCode === 27) {// this.handlePopupClose(e);
|
|
441
524
|
} else if (keyCode === 9) {
|
|
442
525
|
this.handlePopupClose(e);
|
|
443
526
|
}
|
|
@@ -451,12 +534,12 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
451
534
|
var newSelectedOptions = [];
|
|
452
535
|
suggestions.forEach(function (option) {
|
|
453
536
|
var id = option.id;
|
|
537
|
+
|
|
454
538
|
if (selectedOptions.indexOf(id) === -1) {
|
|
455
539
|
newSelectedOptions.push(id);
|
|
456
540
|
}
|
|
457
541
|
});
|
|
458
|
-
this.handleChange([].concat(_toConsumableArray(selectedOptions), newSelectedOptions));
|
|
459
|
-
// this.handlePopupClose(e);
|
|
542
|
+
this.handleChange([].concat(_toConsumableArray(selectedOptions), newSelectedOptions)); // this.handlePopupClose(e);
|
|
460
543
|
}
|
|
461
544
|
}, {
|
|
462
545
|
key: "handleDeselectAll",
|
|
@@ -464,12 +547,14 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
464
547
|
e && e.preventDefault();
|
|
465
548
|
var removeClose = this.props.removeClose;
|
|
466
549
|
var highLightedSelectOptions = this.state.highLightedSelectOptions;
|
|
550
|
+
|
|
467
551
|
if (highLightedSelectOptions.length) {
|
|
468
552
|
this.setState({
|
|
469
553
|
highLightedSelectOptions: [],
|
|
470
554
|
lastHighLightedSelectOption: ''
|
|
471
555
|
});
|
|
472
556
|
}
|
|
557
|
+
|
|
473
558
|
removeClose(e);
|
|
474
559
|
this.handleChange([]);
|
|
475
560
|
}
|
|
@@ -477,13 +562,15 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
477
562
|
key: "handleSelectOption",
|
|
478
563
|
value: function handleSelectOption(option, value, index, e) {
|
|
479
564
|
var _this$props6 = this.props,
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
565
|
+
selectedOptions = _this$props6.selectedOptions,
|
|
566
|
+
isSearchClearOnSelect = _this$props6.isSearchClearOnSelect,
|
|
567
|
+
keepSelectedOptions = _this$props6.keepSelectedOptions;
|
|
483
568
|
var searchStr = this.state.searchStr;
|
|
569
|
+
|
|
484
570
|
if (searchStr.trim() != '' && isSearchClearOnSelect) {
|
|
485
571
|
this.handleSearch('');
|
|
486
572
|
}
|
|
573
|
+
|
|
487
574
|
if (keepSelectedOptions && selectedOptions.indexOf(option) != -1) {
|
|
488
575
|
var newSelectedOptions = selectedOptions.filter(function (id) {
|
|
489
576
|
return id != option;
|
|
@@ -498,12 +585,13 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
498
585
|
value: function handleRemoveOption(options) {
|
|
499
586
|
var newOptions = !(0, _Common.getIsEmptyValue)(options) && !Array.isArray(options) ? [options] : options;
|
|
500
587
|
var _this$props7 = this.props,
|
|
501
|
-
|
|
502
|
-
|
|
588
|
+
selectedOptions = _this$props7.selectedOptions,
|
|
589
|
+
isReadOnly = _this$props7.isReadOnly;
|
|
503
590
|
var _this$state5 = this.state,
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
591
|
+
highLightedSelectOptions = _this$state5.highLightedSelectOptions,
|
|
592
|
+
lastHighLightedSelectOption = _this$state5.lastHighLightedSelectOption,
|
|
593
|
+
shiftKeyPressHighLighted = _this$state5.shiftKeyPressHighLighted;
|
|
594
|
+
|
|
507
595
|
if (newOptions.length && !isReadOnly) {
|
|
508
596
|
var newSelectedOptions = selectedOptions.filter(function (option) {
|
|
509
597
|
return newOptions.indexOf(option) === -1;
|
|
@@ -513,13 +601,16 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
513
601
|
});
|
|
514
602
|
var isHighlightedRemoved = false;
|
|
515
603
|
var newOptionsLen = newOptions.length;
|
|
604
|
+
|
|
516
605
|
for (var i = 0; i < newOptionsLen; i++) {
|
|
517
606
|
var removedOption = newOptions[i];
|
|
607
|
+
|
|
518
608
|
if (highLightedSelectOptions.indexOf(removedOption) >= 0) {
|
|
519
609
|
isHighlightedRemoved = true;
|
|
520
610
|
break;
|
|
521
611
|
}
|
|
522
612
|
}
|
|
613
|
+
|
|
523
614
|
this.setState({
|
|
524
615
|
lastHighLightedSelectOption: newSelectedOptions.indexOf(lastHighLightedSelectOption) >= 0 && !isHighlightedRemoved ? lastHighLightedSelectOption : '',
|
|
525
616
|
highLightedSelectOptions: isHighlightedRemoved ? [] : newHighLightedSelectOptions,
|
|
@@ -527,6 +618,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
527
618
|
});
|
|
528
619
|
this.handleChange(newSelectedOptions);
|
|
529
620
|
}
|
|
621
|
+
|
|
530
622
|
this.searchInput && this.searchInput.focus({
|
|
531
623
|
preventScroll: true
|
|
532
624
|
});
|
|
@@ -538,6 +630,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
538
630
|
var hoverOption = this.state.hoverOption;
|
|
539
631
|
var suggestionsOrder = this.suggestionsOrder;
|
|
540
632
|
var newHoverIndex = suggestionsOrder.indexOf(id);
|
|
633
|
+
|
|
541
634
|
if (newHoverIndex !== hoverOption) {
|
|
542
635
|
this.setState({
|
|
543
636
|
hoverOption: newHoverIndex
|
|
@@ -548,18 +641,22 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
548
641
|
key: "handleFetchOptions",
|
|
549
642
|
value: function handleFetchOptions() {
|
|
550
643
|
var _this3 = this;
|
|
644
|
+
|
|
551
645
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
552
646
|
args[_key] = arguments[_key];
|
|
553
647
|
}
|
|
648
|
+
|
|
554
649
|
var APICall = args[0],
|
|
555
|
-
|
|
650
|
+
searchStr = args[1];
|
|
556
651
|
var isFetchingOptions = this.state.isFetchingOptions;
|
|
557
652
|
var _isMounted = this._isMounted;
|
|
558
653
|
var isForce = isFetchingOptions && searchStr ? true : false;
|
|
654
|
+
|
|
559
655
|
if (!isFetchingOptions && APICall || isForce) {
|
|
560
656
|
this.setState({
|
|
561
657
|
isFetchingOptions: true
|
|
562
658
|
});
|
|
659
|
+
|
|
563
660
|
try {
|
|
564
661
|
return APICall(searchStr).then(function () {
|
|
565
662
|
_isMounted && _this3.setState({
|
|
@@ -588,12 +685,13 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
588
685
|
key: "handleSearch",
|
|
589
686
|
value: function handleSearch(value, e) {
|
|
590
687
|
var _this4 = this;
|
|
688
|
+
|
|
591
689
|
var _this$props8 = this.props,
|
|
592
|
-
|
|
593
|
-
|
|
690
|
+
onSearch = _this$props8.onSearch,
|
|
691
|
+
isPopupOpen = _this$props8.isPopupOpen;
|
|
594
692
|
!isPopupOpen && e && this.togglePopup(e);
|
|
595
693
|
var _this$state$searchStr = this.state.searchStr,
|
|
596
|
-
|
|
694
|
+
searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
|
|
597
695
|
var searchStrRegex = (0, _Common.getSearchString)(searchStr);
|
|
598
696
|
var valueStrRegex = (0, _Common.getSearchString)(value);
|
|
599
697
|
var isSearch = searchStrRegex !== valueStrRegex ? true : false;
|
|
@@ -614,19 +712,22 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
614
712
|
var e = arguments.length > 1 ? arguments[1] : undefined;
|
|
615
713
|
var selectedOptions = this.props.selectedOptions;
|
|
616
714
|
var _this$state6 = this.state,
|
|
617
|
-
|
|
618
|
-
|
|
715
|
+
highLightedSelectOptions = _this$state6.highLightedSelectOptions,
|
|
716
|
+
lastHighLightedSelectOption = _this$state6.lastHighLightedSelectOption;
|
|
619
717
|
var metaKey = e.metaKey,
|
|
620
|
-
|
|
621
|
-
|
|
718
|
+
ctrlKey = e.ctrlKey,
|
|
719
|
+
shiftKey = e.shiftKey;
|
|
720
|
+
|
|
622
721
|
if (e && shiftKey) {
|
|
623
722
|
//shift+click
|
|
624
723
|
var from = selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
|
|
625
724
|
var to = id && selectedOptions.indexOf(id) >= 0 ? selectedOptions.indexOf(id) : null;
|
|
725
|
+
|
|
626
726
|
if (to >= 0 && to < from) {
|
|
627
727
|
var _ref4 = [from, from = to];
|
|
628
728
|
to = _ref4[0];
|
|
629
729
|
}
|
|
730
|
+
|
|
630
731
|
to += 1;
|
|
631
732
|
var newSelectedHighlights = to ? selectedOptions.slice(from, to) : [];
|
|
632
733
|
to && this.setState({
|
|
@@ -637,6 +738,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
637
738
|
//ctrl+click
|
|
638
739
|
var isRemove = highLightedSelectOptions.indexOf(id) >= 0;
|
|
639
740
|
var _newSelectedHighlights = [];
|
|
741
|
+
|
|
640
742
|
if (isRemove) {
|
|
641
743
|
lastHighLightedSelectOption = id === lastHighLightedSelectOption ? '' : lastHighLightedSelectOption;
|
|
642
744
|
_newSelectedHighlights = highLightedSelectOptions.filter(function (option) {
|
|
@@ -646,6 +748,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
646
748
|
lastHighLightedSelectOption = id;
|
|
647
749
|
_newSelectedHighlights = [].concat(_toConsumableArray(highLightedSelectOptions), [id]);
|
|
648
750
|
}
|
|
751
|
+
|
|
649
752
|
this.setState({
|
|
650
753
|
highLightedSelectOptions: _newSelectedHighlights,
|
|
651
754
|
lastHighLightedSelectOption: lastHighLightedSelectOption
|
|
@@ -656,6 +759,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
656
759
|
lastHighLightedSelectOption: id
|
|
657
760
|
});
|
|
658
761
|
}
|
|
762
|
+
|
|
659
763
|
this.setState({
|
|
660
764
|
shiftKeyPressHighLighted: 0
|
|
661
765
|
});
|
|
@@ -674,8 +778,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
674
778
|
key: "handleScrollFuncCall",
|
|
675
779
|
value: function handleScrollFuncCall() {
|
|
676
780
|
var _this$props9 = this.props,
|
|
677
|
-
|
|
678
|
-
|
|
781
|
+
getNextOptions = _this$props9.getNextOptions,
|
|
782
|
+
isNextOptions = _this$props9.isNextOptions;
|
|
679
783
|
var searchStr = this.state.searchStr;
|
|
680
784
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
681
785
|
}
|
|
@@ -686,29 +790,34 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
686
790
|
var e = arguments.length > 1 ? arguments[1] : undefined;
|
|
687
791
|
var optionsNormalize = this.state.optionsNormalize;
|
|
688
792
|
var _this$props10 = this.props,
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
793
|
+
onChange = _this$props10.onChange,
|
|
794
|
+
needToCloseOnSelect = _this$props10.needToCloseOnSelect,
|
|
795
|
+
togglePopup = _this$props10.togglePopup,
|
|
796
|
+
propSelectedOptions = _this$props10.selectedOptions,
|
|
797
|
+
_this$props10$disable = _this$props10.disabledOptions,
|
|
798
|
+
disabledOptions = _this$props10$disable === void 0 ? dummyArray : _this$props10$disable;
|
|
799
|
+
|
|
695
800
|
var _filterSelectedOption = (0, _dropDownUtils.filterSelectedOptions)({
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
801
|
+
selectedOptions: selectedOptions,
|
|
802
|
+
propSelectedOptions: propSelectedOptions,
|
|
803
|
+
disabledOptions: disabledOptions
|
|
804
|
+
}),
|
|
805
|
+
newSelectedOptions = _filterSelectedOption.newSelectedOptions;
|
|
806
|
+
|
|
701
807
|
var selectedOptionsLen = newSelectedOptions.length;
|
|
702
808
|
var allSelectedOptionsDetails = [];
|
|
809
|
+
|
|
703
810
|
for (var i = 0; i < selectedOptionsLen; i++) {
|
|
704
811
|
var id = newSelectedOptions[i];
|
|
705
812
|
allSelectedOptionsDetails.push(optionsNormalize[id]);
|
|
706
813
|
}
|
|
707
|
-
|
|
708
|
-
// this.setState({ searchStr: '' });
|
|
814
|
+
|
|
815
|
+
onChange && onChange(newSelectedOptions, allSelectedOptionsDetails); // this.setState({ searchStr: '' });
|
|
816
|
+
|
|
709
817
|
this.searchInput && this.searchInput.focus({
|
|
710
818
|
preventScroll: true
|
|
711
819
|
});
|
|
820
|
+
|
|
712
821
|
if (needToCloseOnSelect) {
|
|
713
822
|
togglePopup(e);
|
|
714
823
|
}
|
|
@@ -717,9 +826,9 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
717
826
|
key: "togglePopup",
|
|
718
827
|
value: function togglePopup(e) {
|
|
719
828
|
var _this$props11 = this.props,
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
829
|
+
togglePopup = _this$props11.togglePopup,
|
|
830
|
+
defaultDropBoxPosition = _this$props11.defaultDropBoxPosition,
|
|
831
|
+
isReadOnly = _this$props11.isReadOnly;
|
|
723
832
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? "".concat(defaultDropBoxPosition) : null);
|
|
724
833
|
}
|
|
725
834
|
}, {
|
|
@@ -761,15 +870,18 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
761
870
|
key: "handleActive",
|
|
762
871
|
value: function handleActive(e) {
|
|
763
872
|
var _this$state7 = this.state,
|
|
764
|
-
|
|
765
|
-
|
|
873
|
+
searchStr = _this$state7.searchStr,
|
|
874
|
+
isActive = _this$state7.isActive;
|
|
875
|
+
|
|
766
876
|
if (!isActive) {
|
|
767
877
|
this.setState({
|
|
768
878
|
isActive: true
|
|
769
879
|
});
|
|
770
880
|
}
|
|
881
|
+
|
|
771
882
|
var _ref5 = e || {},
|
|
772
|
-
|
|
883
|
+
target = _ref5.target;
|
|
884
|
+
|
|
773
885
|
target && target.setSelectionRange(target, 0);
|
|
774
886
|
var onFocus = this.props.onFocus;
|
|
775
887
|
onFocus && onFocus(searchStr);
|
|
@@ -778,6 +890,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
778
890
|
key: "handleInactive",
|
|
779
891
|
value: function handleInactive() {
|
|
780
892
|
var isActive = this.state.isActive;
|
|
893
|
+
|
|
781
894
|
if (isActive) {
|
|
782
895
|
this.setState({
|
|
783
896
|
isActive: false
|
|
@@ -788,8 +901,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
788
901
|
key: "handleInputFocus",
|
|
789
902
|
value: function handleInputFocus() {
|
|
790
903
|
var _this$props12 = this.props,
|
|
791
|
-
|
|
792
|
-
|
|
904
|
+
isDisabled = _this$props12.isDisabled,
|
|
905
|
+
isReadOnly = _this$props12.isReadOnly;
|
|
793
906
|
this.searchInput && !isDisabled && !isReadOnly && this.searchInput.focus({
|
|
794
907
|
preventScroll: true
|
|
795
908
|
});
|
|
@@ -798,8 +911,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
798
911
|
key: "handleExposedPublicMethods",
|
|
799
912
|
value: function handleExposedPublicMethods() {
|
|
800
913
|
var _this$props13 = this.props,
|
|
801
|
-
|
|
802
|
-
|
|
914
|
+
getPublicMethods = _this$props13.getPublicMethods,
|
|
915
|
+
openPopupOnly = _this$props13.openPopupOnly;
|
|
803
916
|
getPublicMethods && getPublicMethods({
|
|
804
917
|
openPopupOnly: openPopupOnly
|
|
805
918
|
});
|
|
@@ -818,80 +931,83 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
818
931
|
key: "render",
|
|
819
932
|
value: function render() {
|
|
820
933
|
var _this5 = this;
|
|
934
|
+
|
|
821
935
|
var _this$props14 = this.props,
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
936
|
+
isReadOnly = _this$props14.isReadOnly,
|
|
937
|
+
needSelectAll = _this$props14.needSelectAll,
|
|
938
|
+
searchEmptyMessage = _this$props14.searchEmptyMessage,
|
|
939
|
+
emptyMessage = _this$props14.emptyMessage,
|
|
940
|
+
noMoreOptionsMessage = _this$props14.noMoreOptionsMessage,
|
|
941
|
+
dropBoxSize = _this$props14.dropBoxSize,
|
|
942
|
+
placeHolder = _this$props14.placeHolder,
|
|
943
|
+
isPopupOpen = _this$props14.isPopupOpen,
|
|
944
|
+
isPopupReady = _this$props14.isPopupReady,
|
|
945
|
+
position = _this$props14.position,
|
|
946
|
+
defaultDropBoxPosition = _this$props14.defaultDropBoxPosition,
|
|
947
|
+
selectAllText = _this$props14.selectAllText,
|
|
948
|
+
getContainerRef = _this$props14.getContainerRef,
|
|
949
|
+
removeClose = _this$props14.removeClose,
|
|
950
|
+
isAnimate = _this$props14.isAnimate,
|
|
951
|
+
animationStyle = _this$props14.animationStyle,
|
|
952
|
+
textBoxSize = _this$props14.textBoxSize,
|
|
953
|
+
variant = _this$props14.variant,
|
|
954
|
+
size = _this$props14.size,
|
|
955
|
+
isDisabled = _this$props14.isDisabled,
|
|
956
|
+
title = _this$props14.title,
|
|
957
|
+
needResponsive = _this$props14.needResponsive,
|
|
958
|
+
dataId = _this$props14.dataId,
|
|
959
|
+
dataSelectorId = _this$props14.dataSelectorId,
|
|
960
|
+
isSearching = _this$props14.isSearching,
|
|
961
|
+
borderColor = _this$props14.borderColor,
|
|
962
|
+
textBoxClass = _this$props14.textBoxClass,
|
|
963
|
+
needBorder = _this$props14.needBorder,
|
|
964
|
+
disableAction = _this$props14.disableAction,
|
|
965
|
+
isBoxPaddingNeed = _this$props14.isBoxPaddingNeed,
|
|
966
|
+
palette = _this$props14.palette,
|
|
967
|
+
needAutoFocus = _this$props14.needAutoFocus,
|
|
968
|
+
htmlId = _this$props14.htmlId,
|
|
969
|
+
i18nKeys = _this$props14.i18nKeys,
|
|
970
|
+
a11y = _this$props14.a11y,
|
|
971
|
+
children = _this$props14.children,
|
|
972
|
+
customChildrenClass = _this$props14.customChildrenClass,
|
|
973
|
+
getFooter = _this$props14.getFooter,
|
|
974
|
+
needEffect = _this$props14.needEffect,
|
|
975
|
+
disabledOptions = _this$props14.disabledOptions,
|
|
976
|
+
boxSize = _this$props14.boxSize,
|
|
977
|
+
autoComplete = _this$props14.autoComplete,
|
|
978
|
+
isLoading = _this$props14.isLoading;
|
|
865
979
|
var _i18nKeys = i18nKeys,
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
980
|
+
_i18nKeys$clearText = _i18nKeys.clearText,
|
|
981
|
+
clearText = _i18nKeys$clearText === void 0 ? 'Clear all' : _i18nKeys$clearText,
|
|
982
|
+
_i18nKeys$searchText = _i18nKeys.searchText,
|
|
983
|
+
searchText = _i18nKeys$searchText === void 0 ? 'Searching...' : _i18nKeys$searchText;
|
|
870
984
|
var _a11y$clearLabel = a11y.clearLabel,
|
|
871
|
-
|
|
872
|
-
|
|
985
|
+
clearLabel = _a11y$clearLabel === void 0 ? 'Clear all' : _a11y$clearLabel,
|
|
986
|
+
ariaLabelledby = a11y.ariaLabelledby;
|
|
873
987
|
i18nKeys = Object.assign({}, i18nKeys, {
|
|
874
988
|
emptyText: i18nKeys.emptyText || emptyMessage,
|
|
875
989
|
searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage,
|
|
876
990
|
noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
|
|
877
991
|
});
|
|
878
992
|
var _this$state8 = this.state,
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
993
|
+
selectedOptions = _this$state8.selectedOptions,
|
|
994
|
+
searchStr = _this$state8.searchStr,
|
|
995
|
+
hoverOption = _this$state8.hoverOption,
|
|
996
|
+
highLightedSelectOptions = _this$state8.highLightedSelectOptions,
|
|
997
|
+
options = _this$state8.options,
|
|
998
|
+
isFetchingOptions = _this$state8.isFetchingOptions,
|
|
999
|
+
isActive = _this$state8.isActive,
|
|
1000
|
+
selectedOptionIds = _this$state8.selectedOptionIds;
|
|
887
1001
|
var suggestions = this.handleFilterSuggestions();
|
|
888
1002
|
var setAriaId = this.getNextAriaId();
|
|
889
1003
|
var ariaErrorId = this.getNextAriaId();
|
|
1004
|
+
|
|
890
1005
|
var _this$getIsShowClearI = this.getIsShowClearIcon({
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
1006
|
+
selectedOptions: selectedOptions,
|
|
1007
|
+
disabledOptions: disabledOptions
|
|
1008
|
+
}),
|
|
1009
|
+
isShowClear = _this$getIsShowClearI.isShowClearIcon;
|
|
1010
|
+
|
|
895
1011
|
var isShowClearIcon = !isReadOnly && !isDisabled && !disableAction && isShowClear;
|
|
896
1012
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
897
1013
|
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 : ''),
|
|
@@ -1042,18 +1158,19 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
|
|
|
1042
1158
|
}) : null);
|
|
1043
1159
|
}
|
|
1044
1160
|
}]);
|
|
1161
|
+
|
|
1045
1162
|
return MultiSelectComponent;
|
|
1046
1163
|
}(_react["default"].Component);
|
|
1164
|
+
|
|
1047
1165
|
exports.MultiSelectComponent = MultiSelectComponent;
|
|
1048
1166
|
MultiSelectComponent.propTypes = _propTypes.MultiSelect_propTypes;
|
|
1049
|
-
MultiSelectComponent.defaultProps = _defaultProps.MultiSelect_defaultProps;
|
|
1050
|
-
|
|
1051
|
-
// if (__DOCS__) {
|
|
1167
|
+
MultiSelectComponent.defaultProps = _defaultProps.MultiSelect_defaultProps; // if (__DOCS__) {
|
|
1052
1168
|
// MultiSelectComponent.docs = {
|
|
1053
1169
|
// componentGroup: 'Form Elements',
|
|
1054
1170
|
// folderName: 'Style Guide'
|
|
1055
1171
|
// };
|
|
1056
1172
|
// }
|
|
1173
|
+
|
|
1057
1174
|
MultiSelectComponent.displayName = 'MultiSelect';
|
|
1058
1175
|
var MultiSelect = (0, _Popup["default"])(MultiSelectComponent);
|
|
1059
1176
|
MultiSelect.propTypes = MultiSelectComponent.propTypes;
|