@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
package/es/Select/Select.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
2
3
|
/**** Libraries ****/
|
|
3
4
|
import React, { Component } from 'react';
|
|
4
5
|
import { Select_defaultProps } from './props/defaultProps';
|
|
5
6
|
import { Select_propTypes } from './props/propTypes';
|
|
6
7
|
/**** Components ****/
|
|
8
|
+
|
|
7
9
|
import Popup from '../Popup/Popup';
|
|
8
10
|
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
9
11
|
import { Container, Box } from '../Layout';
|
|
@@ -16,15 +18,16 @@ import { Icon } from '@zohodesk/icons';
|
|
|
16
18
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
17
19
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
18
20
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
19
|
-
|
|
20
21
|
/**** Methods ****/
|
|
22
|
+
|
|
21
23
|
import { makeFormatOptions, makeGetMultiSelectFilterSuggestions as makeGetFilterSuggestions, makeGetSelectedValueText as makeGetSelectedValue } from '../utils/dropDownUtils';
|
|
22
24
|
import { debounce, scrollTo, getIsEmptyValue, getSearchString, findScrollEnd } from '../utils/Common.js';
|
|
23
25
|
/**** CSS ****/
|
|
26
|
+
|
|
24
27
|
import style from './Select.module.css';
|
|
25
28
|
import { getLibraryConfig } from '../Provider/Config';
|
|
26
|
-
|
|
27
29
|
/* eslint-disable react/no-deprecated */
|
|
30
|
+
|
|
28
31
|
/* eslint-disable react/no-unused-prop-types */
|
|
29
32
|
|
|
30
33
|
let dummyArray = [];
|
|
@@ -65,9 +68,10 @@ export class SelectComponent extends Component {
|
|
|
65
68
|
valueField,
|
|
66
69
|
textField
|
|
67
70
|
});
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
|
|
72
|
+
if (isSelfValueChanged) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
|
|
70
73
|
}
|
|
74
|
+
|
|
71
75
|
this.state = {
|
|
72
76
|
selected,
|
|
73
77
|
options: allOptions,
|
|
@@ -110,10 +114,10 @@ export class SelectComponent extends Component {
|
|
|
110
114
|
this.autoSelectSuggestions = [];
|
|
111
115
|
this.autoSelectIndex = 0;
|
|
112
116
|
}
|
|
117
|
+
|
|
113
118
|
componentDidMount() {
|
|
114
119
|
this._isMounted = true;
|
|
115
|
-
this.handleExposePopupHandlers();
|
|
116
|
-
// let { suggestionContainer } = this;
|
|
120
|
+
this.handleExposePopupHandlers(); // let { suggestionContainer } = this;
|
|
117
121
|
// suggestionContainer &&
|
|
118
122
|
// suggestionContainer.addEventListener('scroll', this.handleScroll);
|
|
119
123
|
}
|
|
@@ -155,9 +159,10 @@ export class SelectComponent extends Component {
|
|
|
155
159
|
let {
|
|
156
160
|
selectedValue: oldSelectedValue
|
|
157
161
|
} = this.props;
|
|
158
|
-
|
|
159
|
-
|
|
162
|
+
|
|
163
|
+
if (isSelfValueChanged && oldSelectedValue !== selectedValue) {// onChange && onChange(selectedId, normalizedAllOptions[selectedId]);
|
|
160
164
|
}
|
|
165
|
+
|
|
161
166
|
this.selectedFormatOptions = Object.assign(oldSelectedFormatOptions, selectedValueDetails);
|
|
162
167
|
this.normalizedFormatOptions = normalizedFormatOptions;
|
|
163
168
|
this.optionsOrder = optionsOrder;
|
|
@@ -170,6 +175,7 @@ export class SelectComponent extends Component {
|
|
|
170
175
|
selectedValueIndex: hoverIndex
|
|
171
176
|
});
|
|
172
177
|
}
|
|
178
|
+
|
|
173
179
|
componentDidUpdate(prevProps) {
|
|
174
180
|
let {
|
|
175
181
|
suggestionContainer,
|
|
@@ -192,6 +198,7 @@ export class SelectComponent extends Component {
|
|
|
192
198
|
let hoverId = getIsEmptyValue(optionsOrder[hoverIndex]) ? '' : optionsOrder[hoverIndex];
|
|
193
199
|
let selSuggestion = this[`suggestion_${hoverId}`];
|
|
194
200
|
isPopupOpen && scrollTo(suggestionContainer, selSuggestion);
|
|
201
|
+
|
|
195
202
|
if (prevProps.isPopupOpen !== isPopupOpen) {
|
|
196
203
|
if (isPopupOpen) {
|
|
197
204
|
onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
|
|
@@ -209,20 +216,22 @@ export class SelectComponent extends Component {
|
|
|
209
216
|
hoverIndex: selectedValueIndex
|
|
210
217
|
});
|
|
211
218
|
}
|
|
212
|
-
}
|
|
219
|
+
} //When suggestions length less than 5, getNextOptions function call
|
|
220
|
+
|
|
213
221
|
|
|
214
|
-
//When suggestions length less than 5, getNextOptions function call
|
|
215
222
|
let {
|
|
216
223
|
isNextOptions,
|
|
217
224
|
getNextOptions
|
|
218
|
-
} = this.props;
|
|
219
|
-
|
|
225
|
+
} = this.props; // let { searchStr } = this.state;
|
|
226
|
+
|
|
220
227
|
let suggestions = isPopupOpen ? this.handleFilterSuggestions() : [];
|
|
221
228
|
let suggestionsLen = suggestions.length;
|
|
229
|
+
|
|
222
230
|
if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
|
|
223
231
|
this.handleFetchOptions(getNextOptions, searchStr);
|
|
224
232
|
}
|
|
225
233
|
}
|
|
234
|
+
|
|
226
235
|
componentWillUnmount() {
|
|
227
236
|
this._isMounted = false;
|
|
228
237
|
let {
|
|
@@ -234,8 +243,7 @@ export class SelectComponent extends Component {
|
|
|
234
243
|
closePopup: null,
|
|
235
244
|
togglePopup: null
|
|
236
245
|
};
|
|
237
|
-
getPopupHandlers && getPopupHandlers(methods);
|
|
238
|
-
// let { suggestionContainer } = this;
|
|
246
|
+
getPopupHandlers && getPopupHandlers(methods); // let { suggestionContainer } = this;
|
|
239
247
|
// suggestionContainer &&
|
|
240
248
|
// suggestionContainer.removeEventListener('scroll', this.handleScroll);
|
|
241
249
|
}
|
|
@@ -257,6 +265,7 @@ export class SelectComponent extends Component {
|
|
|
257
265
|
listItemProps
|
|
258
266
|
});
|
|
259
267
|
}
|
|
268
|
+
|
|
260
269
|
handleChange(id, value, index, e) {
|
|
261
270
|
e && e.preventDefault && e.preventDefault();
|
|
262
271
|
let {
|
|
@@ -267,10 +276,11 @@ export class SelectComponent extends Component {
|
|
|
267
276
|
let {
|
|
268
277
|
optionsNormalize
|
|
269
278
|
} = this.state;
|
|
270
|
-
!isReadOnly && onChange && onChange(id, optionsNormalize[id]);
|
|
271
|
-
|
|
279
|
+
!isReadOnly && onChange && onChange(id, optionsNormalize[id]); // this.valueInput && this.valueInput.focus({preventScroll:true});
|
|
280
|
+
|
|
272
281
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
273
282
|
}
|
|
283
|
+
|
|
274
284
|
responsiveFunc(_ref) {
|
|
275
285
|
let {
|
|
276
286
|
mediaQueryOR
|
|
@@ -281,6 +291,7 @@ export class SelectComponent extends Component {
|
|
|
281
291
|
}])
|
|
282
292
|
};
|
|
283
293
|
}
|
|
294
|
+
|
|
284
295
|
handleKeyDown(e) {
|
|
285
296
|
let {
|
|
286
297
|
onChange,
|
|
@@ -297,33 +308,38 @@ export class SelectComponent extends Component {
|
|
|
297
308
|
let {
|
|
298
309
|
keyCode
|
|
299
310
|
} = e;
|
|
311
|
+
|
|
300
312
|
if (!isPopupOpen && !isPopupOpenOnEnter) {
|
|
301
313
|
onKeyDown && onKeyDown(e);
|
|
302
314
|
}
|
|
315
|
+
|
|
303
316
|
if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13) && e.preventDefault) {
|
|
304
317
|
e.preventDefault(); //prevent body scroll and enter key prevent
|
|
305
318
|
} else if (!isPopupOpen && keyCode === 40) {
|
|
306
319
|
e.preventDefault(); //prevent body scroll
|
|
320
|
+
|
|
307
321
|
this.togglePopup(e);
|
|
308
322
|
}
|
|
323
|
+
|
|
309
324
|
if (keyCode === 38 && isPopupOpen && options.length) {
|
|
310
|
-
if (hoverIndex === 0) {
|
|
311
|
-
// hoverIndex = options.length - 1;
|
|
325
|
+
if (hoverIndex === 0) {// hoverIndex = options.length - 1;
|
|
312
326
|
} else {
|
|
313
327
|
hoverIndex -= 1;
|
|
314
328
|
}
|
|
329
|
+
|
|
315
330
|
this.setState({
|
|
316
331
|
hoverIndex
|
|
317
332
|
});
|
|
318
333
|
} else if (keyCode === 40 && isPopupOpen && options.length) {
|
|
319
|
-
if (hoverIndex === options.length - 1) {
|
|
320
|
-
// hoverIndex = 0;
|
|
334
|
+
if (hoverIndex === options.length - 1) {// hoverIndex = 0;
|
|
321
335
|
} else {
|
|
322
336
|
if (hoverIndex === options.length - 3) {
|
|
323
337
|
this.handleGetNextOptions();
|
|
324
338
|
}
|
|
339
|
+
|
|
325
340
|
hoverIndex += 1;
|
|
326
341
|
}
|
|
342
|
+
|
|
327
343
|
this.setState({
|
|
328
344
|
hoverIndex
|
|
329
345
|
});
|
|
@@ -332,32 +348,36 @@ export class SelectComponent extends Component {
|
|
|
332
348
|
let {
|
|
333
349
|
id
|
|
334
350
|
} = option || {};
|
|
351
|
+
|
|
335
352
|
if (isPopupOpen && !getIsEmptyValue(id) && onChange) {
|
|
336
353
|
onChange(id, optionsNormalize[id]);
|
|
337
354
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
338
355
|
}
|
|
356
|
+
|
|
339
357
|
if (!isPopupOpen && isPopupOpenOnEnter) {
|
|
340
358
|
this.togglePopup(e);
|
|
341
359
|
}
|
|
342
360
|
} else if (keyCode === 27) {
|
|
343
361
|
this.valueInput && this.valueInput.focus({
|
|
344
362
|
preventScroll: true
|
|
345
|
-
});
|
|
346
|
-
//this.handlePopupClose(e);
|
|
363
|
+
}); //this.handlePopupClose(e);
|
|
347
364
|
} else if (keyCode === 9) {
|
|
348
365
|
let option = options[hoverIndex];
|
|
349
366
|
let {
|
|
350
367
|
id
|
|
351
368
|
} = option || {};
|
|
369
|
+
|
|
352
370
|
if (isPopupOpen && !getIsEmptyValue(id)) {
|
|
353
371
|
onChange && onChange(id, optionsNormalize[id]);
|
|
354
372
|
needCloseOnSelect && this.handlePopupClose(e);
|
|
355
373
|
}
|
|
374
|
+
|
|
356
375
|
if (!isPopupOpen && isPopupOpenOnEnter) {
|
|
357
376
|
this.togglePopup(e);
|
|
358
377
|
}
|
|
359
378
|
}
|
|
360
379
|
}
|
|
380
|
+
|
|
361
381
|
handleSearchOptions() {
|
|
362
382
|
let {
|
|
363
383
|
onSearch
|
|
@@ -367,6 +387,7 @@ export class SelectComponent extends Component {
|
|
|
367
387
|
} = this.state;
|
|
368
388
|
searchStr && this.handleFetchOptions(onSearch, searchStr);
|
|
369
389
|
}
|
|
390
|
+
|
|
370
391
|
handleSearch(value) {
|
|
371
392
|
// let { value = '' } = e.target;
|
|
372
393
|
let {
|
|
@@ -389,7 +410,10 @@ export class SelectComponent extends Component {
|
|
|
389
410
|
}
|
|
390
411
|
});
|
|
391
412
|
}
|
|
392
|
-
|
|
413
|
+
|
|
414
|
+
handleMouseEnter(id
|
|
415
|
+
/*val, index*/
|
|
416
|
+
) {
|
|
393
417
|
let {
|
|
394
418
|
hoverIndex
|
|
395
419
|
} = this.state;
|
|
@@ -401,21 +425,21 @@ export class SelectComponent extends Component {
|
|
|
401
425
|
hoverIndex: newHoverIndex
|
|
402
426
|
});
|
|
403
427
|
}
|
|
428
|
+
|
|
404
429
|
handleFilterSuggestions() {
|
|
405
430
|
let {
|
|
406
431
|
needLocalSearch,
|
|
407
|
-
excludeOptions = dummyArray
|
|
408
|
-
|
|
432
|
+
excludeOptions = dummyArray // needSearch
|
|
433
|
+
|
|
409
434
|
} = this.props;
|
|
410
435
|
let {
|
|
411
436
|
options = dummyArray,
|
|
412
437
|
searchStr = ''
|
|
413
|
-
} = this.state;
|
|
414
|
-
|
|
415
|
-
// if (
|
|
438
|
+
} = this.state; // if (
|
|
416
439
|
// (needSearch && searchStr && searchStr.trim().length) ||
|
|
417
440
|
// (excludeOptions && excludeOptions.length)
|
|
418
441
|
// ) {
|
|
442
|
+
|
|
419
443
|
searchStr = getSearchString(searchStr);
|
|
420
444
|
let {
|
|
421
445
|
suggestions,
|
|
@@ -427,8 +451,7 @@ export class SelectComponent extends Component {
|
|
|
427
451
|
needSearch: needLocalSearch
|
|
428
452
|
});
|
|
429
453
|
this.optionsOrder = suggestionIds;
|
|
430
|
-
return suggestions;
|
|
431
|
-
// }
|
|
454
|
+
return suggestions; // }
|
|
432
455
|
// return options;
|
|
433
456
|
}
|
|
434
457
|
|
|
@@ -437,6 +460,7 @@ export class SelectComponent extends Component {
|
|
|
437
460
|
let isScrollReachedBottom = findScrollEnd(ele);
|
|
438
461
|
isScrollReachedBottom && this.handleGetNextOptions();
|
|
439
462
|
}
|
|
463
|
+
|
|
440
464
|
handleFetchOptions(APICall) {
|
|
441
465
|
let searchStr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
442
466
|
// let funcArgs = args.slice(1, args.length);
|
|
@@ -446,10 +470,12 @@ export class SelectComponent extends Component {
|
|
|
446
470
|
let {
|
|
447
471
|
_isMounted
|
|
448
472
|
} = this;
|
|
473
|
+
|
|
449
474
|
if (!isFetchingOptions && APICall) {
|
|
450
475
|
this.setState({
|
|
451
476
|
isFetchingOptions: true
|
|
452
477
|
});
|
|
478
|
+
|
|
453
479
|
try {
|
|
454
480
|
return APICall(searchStr).then(() => {
|
|
455
481
|
_isMounted && this.setState({
|
|
@@ -467,6 +493,7 @@ export class SelectComponent extends Component {
|
|
|
467
493
|
}
|
|
468
494
|
}
|
|
469
495
|
}
|
|
496
|
+
|
|
470
497
|
handleGetNextOptions() {
|
|
471
498
|
let {
|
|
472
499
|
isNextOptions,
|
|
@@ -477,6 +504,7 @@ export class SelectComponent extends Component {
|
|
|
477
504
|
} = this.state;
|
|
478
505
|
isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
|
|
479
506
|
}
|
|
507
|
+
|
|
480
508
|
togglePopup(e) {
|
|
481
509
|
let {
|
|
482
510
|
togglePopup,
|
|
@@ -488,6 +516,7 @@ export class SelectComponent extends Component {
|
|
|
488
516
|
!isReadOnly && togglePopup(e, defaultDropBoxPosition ? `${defaultDropBoxPosition}` : null);
|
|
489
517
|
!isPopupOpen && typeof onFocus === 'function' && onFocus(e);
|
|
490
518
|
}
|
|
519
|
+
|
|
491
520
|
handlePopupClose(e) {
|
|
492
521
|
let {
|
|
493
522
|
closePopupOnly
|
|
@@ -497,15 +526,19 @@ export class SelectComponent extends Component {
|
|
|
497
526
|
});
|
|
498
527
|
closePopupOnly(e);
|
|
499
528
|
}
|
|
529
|
+
|
|
500
530
|
suggestionContainerRef(el) {
|
|
501
531
|
this.suggestionContainer = el;
|
|
502
532
|
}
|
|
533
|
+
|
|
503
534
|
suggestionItemRef(el, index, id) {
|
|
504
535
|
this[`suggestion_${id}`] = el;
|
|
505
536
|
}
|
|
537
|
+
|
|
506
538
|
searchInputRef(el) {
|
|
507
539
|
this.searchInput = el;
|
|
508
540
|
}
|
|
541
|
+
|
|
509
542
|
valueInputRef(el) {
|
|
510
543
|
let {
|
|
511
544
|
getRef
|
|
@@ -513,12 +546,14 @@ export class SelectComponent extends Component {
|
|
|
513
546
|
this.valueInput = el;
|
|
514
547
|
getRef && getRef(el);
|
|
515
548
|
}
|
|
549
|
+
|
|
516
550
|
handleSelectFocus() {
|
|
517
551
|
let {
|
|
518
552
|
valueInput
|
|
519
553
|
} = this;
|
|
520
554
|
valueInput && valueInput.setSelectionRange(valueInput, 0);
|
|
521
555
|
}
|
|
556
|
+
|
|
522
557
|
handleClearSearch() {
|
|
523
558
|
this.handleSearch('');
|
|
524
559
|
setTimeout(() => {
|
|
@@ -527,6 +562,7 @@ export class SelectComponent extends Component {
|
|
|
527
562
|
});
|
|
528
563
|
}, 1);
|
|
529
564
|
}
|
|
565
|
+
|
|
530
566
|
handleValueInputChange(e) {
|
|
531
567
|
let {
|
|
532
568
|
which
|
|
@@ -536,11 +572,13 @@ export class SelectComponent extends Component {
|
|
|
536
572
|
isPopupOpen,
|
|
537
573
|
autoSelectOnType
|
|
538
574
|
} = this.props;
|
|
575
|
+
|
|
539
576
|
if (!isPopupOpen && autoSelectOnType) {
|
|
540
577
|
this.valueInputTypeString += (typeString || '').trim();
|
|
541
578
|
this.handleChangeOnType();
|
|
542
579
|
}
|
|
543
580
|
}
|
|
581
|
+
|
|
544
582
|
handleChangeOnType() {
|
|
545
583
|
let {
|
|
546
584
|
excludeOptions = dummyArray
|
|
@@ -553,11 +591,13 @@ export class SelectComponent extends Component {
|
|
|
553
591
|
} = this;
|
|
554
592
|
let typeString = this.valueInputTypeString;
|
|
555
593
|
this.valueInputTypeString = '';
|
|
594
|
+
|
|
556
595
|
let changeValue = () => {
|
|
557
596
|
let optionDetails = this.autoSelectSuggestions[this.autoSelectIndex];
|
|
558
597
|
let {
|
|
559
598
|
id
|
|
560
599
|
} = optionDetails || {};
|
|
600
|
+
|
|
561
601
|
if (!getIsEmptyValue(id)) {
|
|
562
602
|
this.handleChange(id);
|
|
563
603
|
let hoverIndex = optionsOrder.indexOf(id);
|
|
@@ -566,12 +606,14 @@ export class SelectComponent extends Component {
|
|
|
566
606
|
});
|
|
567
607
|
}
|
|
568
608
|
};
|
|
609
|
+
|
|
569
610
|
if (typeString && typeString === this.valueInputSearchString) {
|
|
570
611
|
if (this.autoSelectIndex < this.autoSelectSuggestions.length - 1) {
|
|
571
612
|
this.autoSelectIndex += 1;
|
|
572
613
|
} else {
|
|
573
614
|
this.autoSelectIndex = 0;
|
|
574
615
|
}
|
|
616
|
+
|
|
575
617
|
changeValue();
|
|
576
618
|
} else if (typeString) {
|
|
577
619
|
this.valueInputSearchString = typeString;
|
|
@@ -589,6 +631,7 @@ export class SelectComponent extends Component {
|
|
|
589
631
|
changeValue();
|
|
590
632
|
}
|
|
591
633
|
}
|
|
634
|
+
|
|
592
635
|
handleAddNewOption() {
|
|
593
636
|
let {
|
|
594
637
|
searchStr
|
|
@@ -597,6 +640,7 @@ export class SelectComponent extends Component {
|
|
|
597
640
|
onAddNewOption,
|
|
598
641
|
getCustomEmptyState
|
|
599
642
|
} = this.props;
|
|
643
|
+
|
|
600
644
|
if (getCustomEmptyState) {
|
|
601
645
|
this.setState({
|
|
602
646
|
searchStr: ''
|
|
@@ -604,6 +648,7 @@ export class SelectComponent extends Component {
|
|
|
604
648
|
this.handleFetchOptions(onAddNewOption, searchStr);
|
|
605
649
|
}
|
|
606
650
|
}
|
|
651
|
+
|
|
607
652
|
handleExposePopupHandlers() {
|
|
608
653
|
let {
|
|
609
654
|
removeClose,
|
|
@@ -620,6 +665,7 @@ export class SelectComponent extends Component {
|
|
|
620
665
|
};
|
|
621
666
|
getPopupHandlers && getPopupHandlers(methods);
|
|
622
667
|
}
|
|
668
|
+
|
|
623
669
|
handleGetAddNewOptionText() {
|
|
624
670
|
let {
|
|
625
671
|
searchStr
|
|
@@ -632,6 +678,7 @@ export class SelectComponent extends Component {
|
|
|
632
678
|
onAddNewOption: this.handleAddNewOption
|
|
633
679
|
});
|
|
634
680
|
}
|
|
681
|
+
|
|
635
682
|
render() {
|
|
636
683
|
let {
|
|
637
684
|
needSearch,
|
|
@@ -898,15 +945,14 @@ export class SelectComponent extends Component {
|
|
|
898
945
|
}, getChildren())));
|
|
899
946
|
}) : null);
|
|
900
947
|
}
|
|
948
|
+
|
|
901
949
|
}
|
|
902
950
|
SelectComponent.propTypes = Select_propTypes;
|
|
903
951
|
SelectComponent.defaultProps = Select_defaultProps;
|
|
904
952
|
SelectComponent.displayName = 'Select';
|
|
905
953
|
let Select = Popup(SelectComponent);
|
|
906
954
|
Select.defaultProps = SelectComponent.defaultProps;
|
|
907
|
-
export default Select;
|
|
908
|
-
|
|
909
|
-
// if (__DOCS__) {
|
|
955
|
+
export default Select; // if (__DOCS__) {
|
|
910
956
|
// Select.docs = {
|
|
911
957
|
// componentGroup: 'Form Elements',
|
|
912
958
|
// folderName: 'Style Guide',
|
|
@@ -3,6 +3,7 @@ import React from 'react';
|
|
|
3
3
|
import { SelectWithAvatar_defaultProps } from './props/defaultProps';
|
|
4
4
|
import { SelectWithAvatar_propTypes } from './props/propTypes';
|
|
5
5
|
/**** Components ****/
|
|
6
|
+
|
|
6
7
|
import { SelectComponent } from './Select';
|
|
7
8
|
import Popup from '../Popup/Popup';
|
|
8
9
|
import Tag from '../Tag/Tag';
|
|
@@ -17,10 +18,11 @@ import { getUniqueId } from '../Provider/IdProvider';
|
|
|
17
18
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
18
19
|
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
19
20
|
import Loader from '@zohodesk/svg/lib/Loader/Loader';
|
|
20
|
-
|
|
21
21
|
/**** CSS ****/
|
|
22
|
+
|
|
22
23
|
import style from '../MultiSelect/MultiSelect.module.css';
|
|
23
24
|
import selectStyle from './Select.module.css';
|
|
25
|
+
|
|
24
26
|
class SelectWithAvatarComponent extends SelectComponent {
|
|
25
27
|
constructor(props) {
|
|
26
28
|
super(props);
|
|
@@ -32,6 +34,7 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
32
34
|
this.handleRemoveOption = this.handleRemoveOption.bind(this);
|
|
33
35
|
this.getNextAriaId = getUniqueId(this);
|
|
34
36
|
}
|
|
37
|
+
|
|
35
38
|
handleFormatOptions(props) {
|
|
36
39
|
let {
|
|
37
40
|
options,
|
|
@@ -47,15 +50,18 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
47
50
|
optionType: 'avatar'
|
|
48
51
|
});
|
|
49
52
|
}
|
|
53
|
+
|
|
50
54
|
handleActive(e) {
|
|
51
55
|
let {
|
|
52
56
|
isActive
|
|
53
57
|
} = this.state;
|
|
58
|
+
|
|
54
59
|
if (!isActive) {
|
|
55
60
|
this.setState({
|
|
56
61
|
isActive: true
|
|
57
62
|
});
|
|
58
63
|
}
|
|
64
|
+
|
|
59
65
|
let {
|
|
60
66
|
target
|
|
61
67
|
} = e || {};
|
|
@@ -65,16 +71,19 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
65
71
|
} = this.props;
|
|
66
72
|
onFocus && onFocus(this.state.searchStr);
|
|
67
73
|
}
|
|
74
|
+
|
|
68
75
|
handleInactive() {
|
|
69
76
|
let {
|
|
70
77
|
isActive
|
|
71
78
|
} = this.state;
|
|
79
|
+
|
|
72
80
|
if (isActive) {
|
|
73
81
|
this.setState({
|
|
74
82
|
isActive: false
|
|
75
83
|
});
|
|
76
84
|
}
|
|
77
85
|
}
|
|
86
|
+
|
|
78
87
|
handleSearchChange(e) {
|
|
79
88
|
let {
|
|
80
89
|
isPopupOpen
|
|
@@ -82,6 +91,7 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
82
91
|
!isPopupOpen && this.togglePopup(e);
|
|
83
92
|
this.handleSearch(e);
|
|
84
93
|
}
|
|
94
|
+
|
|
85
95
|
handleRemoveOption(e) {
|
|
86
96
|
let {
|
|
87
97
|
keyCode
|
|
@@ -92,12 +102,14 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
92
102
|
let {
|
|
93
103
|
isDefaultSelectValue
|
|
94
104
|
} = this.props;
|
|
105
|
+
|
|
95
106
|
if (keyCode === 8 && searchStr.length === 0 && !isDefaultSelectValue) {
|
|
96
107
|
this.handleChange('');
|
|
97
108
|
} else {
|
|
98
109
|
this.handleKeyDown(e);
|
|
99
110
|
}
|
|
100
111
|
}
|
|
112
|
+
|
|
101
113
|
responsiveFunc(_ref) {
|
|
102
114
|
let {
|
|
103
115
|
mediaQueryOR
|
|
@@ -108,6 +120,7 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
108
120
|
}])
|
|
109
121
|
};
|
|
110
122
|
}
|
|
123
|
+
|
|
111
124
|
render() {
|
|
112
125
|
let {
|
|
113
126
|
dropBoxSize,
|
|
@@ -309,14 +322,14 @@ class SelectWithAvatarComponent extends SelectComponent {
|
|
|
309
322
|
}, /*#__PURE__*/React.createElement(Loader, null))))));
|
|
310
323
|
}) : null);
|
|
311
324
|
}
|
|
325
|
+
|
|
312
326
|
}
|
|
327
|
+
|
|
313
328
|
SelectWithAvatarComponent.propTypes = SelectWithAvatar_propTypes;
|
|
314
329
|
SelectWithAvatarComponent.defaultProps = SelectWithAvatar_defaultProps;
|
|
315
330
|
SelectWithAvatarComponent.displayName = 'SelectWithAvatar';
|
|
316
331
|
let SelectWithAvatar = Popup(SelectWithAvatarComponent);
|
|
317
|
-
SelectWithAvatar.defaultProps = SelectWithAvatarComponent.defaultProps;
|
|
318
|
-
|
|
319
|
-
// if (__DOCS__) {
|
|
332
|
+
SelectWithAvatar.defaultProps = SelectWithAvatarComponent.defaultProps; // if (__DOCS__) {
|
|
320
333
|
// SelectWithAvatar.docs = {
|
|
321
334
|
// componentGroup: 'Form Elements',
|
|
322
335
|
// folderName: 'Style Guide'
|