@zohodesk/components 1.0.0-alpha-270 → 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 +16 -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 +9 -5
- package/es/DropBox/DropBoxElement/DropBoxElement.js +15 -6
- package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +9 -3
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
- package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
- package/es/DropBox/__tests__/DropBox.spec.js +2 -2
- 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/Tabs.module.css +2 -20
- 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 +58 -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 +36 -12
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +65 -42
- package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +9 -3
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
- package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
- package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
- package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
- 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/Tabs.module.css +2 -20
- 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 +117 -19
- 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
|
@@ -5,19 +5,21 @@ import { Container, Box } from '../Layout';
|
|
|
5
5
|
import style from './DateTime.module.css';
|
|
6
6
|
import { getMonthEnd } from '../utils/datetime/common';
|
|
7
7
|
import DaysRow from './DaysRow';
|
|
8
|
-
|
|
9
8
|
/* eslint css-modules/no-unused-class: [0, { markAsUsed: ['container', 'header', 'thArrowConatainer', 'thArrow', 'thMonYear', 'days', 'daysStr', 'timesection', 'timeStr', 'dropDownContainer', 'dropDown', 'footer', 'space'] }] */
|
|
9
|
+
|
|
10
10
|
export default class CalendarView extends React.PureComponent {
|
|
11
11
|
constructor(props) {
|
|
12
12
|
super(props);
|
|
13
13
|
this.handleSelect = this.handleSelect.bind(this);
|
|
14
14
|
}
|
|
15
|
+
|
|
15
16
|
handleSelect(day, month, year, e) {
|
|
16
17
|
const {
|
|
17
18
|
onSelect
|
|
18
19
|
} = this.props;
|
|
19
20
|
onSelect(day, month, year, e);
|
|
20
21
|
}
|
|
22
|
+
|
|
21
23
|
render() {
|
|
22
24
|
const {
|
|
23
25
|
date,
|
|
@@ -37,9 +39,7 @@ export default class CalendarView extends React.PureComponent {
|
|
|
37
39
|
const userSeeMonth = userSeeDate.getMonth();
|
|
38
40
|
const monthEnd = getMonthEnd(month, year);
|
|
39
41
|
const lastMonth = 11;
|
|
40
|
-
const firstMonth = 0;
|
|
41
|
-
|
|
42
|
-
// let noOfRow = 5;
|
|
42
|
+
const firstMonth = 0; // let noOfRow = 5;
|
|
43
43
|
// if (
|
|
44
44
|
// (monthEnd === 31 && userSeeDay >= 6) ||
|
|
45
45
|
// (monthEnd === 30 && userSeeDay === 7)
|
|
@@ -53,16 +53,21 @@ export default class CalendarView extends React.PureComponent {
|
|
|
53
53
|
let incremleti = 1;
|
|
54
54
|
let isSelectedDay = false;
|
|
55
55
|
let isToday = false;
|
|
56
|
+
|
|
56
57
|
const rows = (() => {
|
|
57
58
|
const rowArr = [];
|
|
59
|
+
|
|
58
60
|
for (let j = 1; j <= 6; j++) {
|
|
59
61
|
const dayArr = [];
|
|
60
62
|
let output = null;
|
|
63
|
+
|
|
61
64
|
for (let i = 1; i < 8; i++) {
|
|
62
65
|
let tdclass = `${style.datesStr} ${style.grid}`;
|
|
66
|
+
|
|
63
67
|
if (i === 1) {
|
|
64
68
|
tdclass += ` ${style.sunday}`;
|
|
65
69
|
}
|
|
70
|
+
|
|
66
71
|
if (incremleti >= userSeeDay && incremday <= monthEnd) {
|
|
67
72
|
if (parseInt(date) === incremday && parseInt(month) === userSeeMonth && parseInt(year) === userSeeYear) {
|
|
68
73
|
isSelectedDay = true;
|
|
@@ -73,6 +78,7 @@ export default class CalendarView extends React.PureComponent {
|
|
|
73
78
|
isSelectedDay = false;
|
|
74
79
|
isToday = false;
|
|
75
80
|
}
|
|
81
|
+
|
|
76
82
|
output = /*#__PURE__*/React.createElement(Span, {
|
|
77
83
|
i: i,
|
|
78
84
|
isActive: isSelectedDay,
|
|
@@ -88,54 +94,51 @@ export default class CalendarView extends React.PureComponent {
|
|
|
88
94
|
} else if (incremleti < userSeeDay) {
|
|
89
95
|
let prevMonth = userSeeMonth - 1;
|
|
90
96
|
let prevYear = userSeeYear;
|
|
97
|
+
|
|
91
98
|
if (userSeeMonth === firstMonth) {
|
|
92
99
|
prevMonth = lastMonth;
|
|
93
100
|
prevYear = userSeeYear - 1;
|
|
94
101
|
}
|
|
102
|
+
|
|
95
103
|
const prevMonthEnd = getMonthEnd(prevMonth, prevYear);
|
|
96
|
-
const prevDate = prevMonthEnd - (userSeeDay - 1) + incremleti;
|
|
104
|
+
const prevDate = prevMonthEnd - (userSeeDay - 1) + incremleti; // isSelectedDay =
|
|
97
105
|
|
|
98
|
-
//
|
|
99
|
-
prevDate === parseInt(date) && parseInt(month) === prevMonth && parseInt(year) === prevYear ? true : false;
|
|
100
|
-
// isToday = prevDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
|
|
106
|
+
prevDate === parseInt(date) && parseInt(month) === prevMonth && parseInt(year) === prevYear ? true : false; // isToday = prevDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
|
|
101
107
|
|
|
102
108
|
output = /*#__PURE__*/React.createElement(Span, {
|
|
103
|
-
i: i
|
|
104
|
-
//isActive={isSelectedDay}
|
|
109
|
+
i: i //isActive={isSelectedDay}
|
|
105
110
|
,
|
|
106
111
|
tdclass: `${tdclass} ${style.invalidDate}`,
|
|
107
112
|
handleSelect: this.handleSelect,
|
|
108
113
|
incremday: prevDate,
|
|
109
114
|
userSeeMonth: prevMonth,
|
|
110
115
|
userSeeYear: prevYear,
|
|
111
|
-
dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate`
|
|
112
|
-
|
|
116
|
+
dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate` // isToday={isToday}
|
|
117
|
+
|
|
113
118
|
});
|
|
114
119
|
} else if (incremleti > monthEnd) {
|
|
115
120
|
let nextMonth = userSeeMonth + 1;
|
|
116
121
|
let nextYear = userSeeYear;
|
|
122
|
+
|
|
117
123
|
if (userSeeMonth === lastMonth) {
|
|
118
124
|
nextMonth = firstMonth;
|
|
119
125
|
nextYear = userSeeYear + 1;
|
|
120
126
|
}
|
|
121
|
-
const nextDate = incremleti - (userSeeDay - 1) - monthEnd;
|
|
122
127
|
|
|
123
|
-
// isSelectedDay =
|
|
124
|
-
nextDate === parseInt(date) && parseInt(month) === nextMonth && parseInt(year) === nextYear ? true : false;
|
|
128
|
+
const nextDate = incremleti - (userSeeDay - 1) - monthEnd; // isSelectedDay =
|
|
125
129
|
|
|
126
|
-
// isToday = nextDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
|
|
130
|
+
nextDate === parseInt(date) && parseInt(month) === nextMonth && parseInt(year) === nextYear ? true : false; // isToday = nextDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
|
|
127
131
|
|
|
128
132
|
output = /*#__PURE__*/React.createElement(Span, {
|
|
129
|
-
i: i
|
|
130
|
-
// isActive={isSelectedDay}
|
|
133
|
+
i: i // isActive={isSelectedDay}
|
|
131
134
|
,
|
|
132
135
|
tdclass: `${tdclass} ${style.invalidDate}`,
|
|
133
136
|
handleSelect: this.handleSelect,
|
|
134
137
|
incremday: nextDate,
|
|
135
138
|
userSeeMonth: nextMonth,
|
|
136
139
|
userSeeYear: nextYear,
|
|
137
|
-
dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate`
|
|
138
|
-
|
|
140
|
+
dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate` //isToday={isToday}
|
|
141
|
+
|
|
139
142
|
});
|
|
140
143
|
} else {
|
|
141
144
|
output = /*#__PURE__*/React.createElement(Box, {
|
|
@@ -143,10 +146,13 @@ export default class CalendarView extends React.PureComponent {
|
|
|
143
146
|
className: `${style.grid}`
|
|
144
147
|
});
|
|
145
148
|
}
|
|
149
|
+
|
|
146
150
|
incremleti++;
|
|
147
151
|
dayArr.push(output);
|
|
148
152
|
}
|
|
149
153
|
/* eslint-disable react/forbid-component-props */
|
|
154
|
+
|
|
155
|
+
|
|
150
156
|
rowArr.push( /*#__PURE__*/React.createElement(Container, {
|
|
151
157
|
key: j,
|
|
152
158
|
alignBox: "row",
|
|
@@ -155,8 +161,10 @@ export default class CalendarView extends React.PureComponent {
|
|
|
155
161
|
className: style.dateRow
|
|
156
162
|
}, dayArr));
|
|
157
163
|
}
|
|
164
|
+
|
|
158
165
|
return rowArr;
|
|
159
166
|
})();
|
|
167
|
+
|
|
160
168
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DaysRow, {
|
|
161
169
|
dayNames: dayNames,
|
|
162
170
|
dayNamesShort: dayNamesShort,
|
|
@@ -166,6 +174,7 @@ export default class CalendarView extends React.PureComponent {
|
|
|
166
174
|
className: `${style.dateContainer} ${needBorder ? style.separator : ''}`
|
|
167
175
|
}, rows));
|
|
168
176
|
}
|
|
177
|
+
|
|
169
178
|
}
|
|
170
179
|
CalendarView.propTypes = CalendarView_propTypes;
|
|
171
180
|
CalendarView.defaultProps = CalendarView_defaultProps;
|
|
@@ -174,6 +183,7 @@ export class Span extends React.PureComponent {
|
|
|
174
183
|
super(props);
|
|
175
184
|
this.handleSelectChild = this.handleSelectChild.bind(this);
|
|
176
185
|
}
|
|
186
|
+
|
|
177
187
|
handleSelectChild(e) {
|
|
178
188
|
const {
|
|
179
189
|
handleSelect,
|
|
@@ -183,6 +193,7 @@ export class Span extends React.PureComponent {
|
|
|
183
193
|
} = this.props;
|
|
184
194
|
handleSelect(incremday, userSeeMonth, userSeeYear, e);
|
|
185
195
|
}
|
|
196
|
+
|
|
186
197
|
render() {
|
|
187
198
|
const {
|
|
188
199
|
tdclass,
|
|
@@ -200,6 +211,7 @@ export class Span extends React.PureComponent {
|
|
|
200
211
|
"aria-label": incremday
|
|
201
212
|
}, incremday);
|
|
202
213
|
}
|
|
214
|
+
|
|
203
215
|
}
|
|
204
216
|
Span.propTypes = Span_propTypes;
|
|
205
217
|
Span.defaultProps = Span_defaultProps;
|
package/es/DateTime/DateTime.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint css-modules/no-unused-class: [0, { markAsUsed: ['datesStr', 'dateContainer', 'dateRow', 'today', 'emptySpan', 'dropDown'] }] */
|
|
2
|
-
/* eslint-disable react/forbid-component-props */
|
|
3
2
|
|
|
3
|
+
/* eslint-disable react/forbid-component-props */
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { DateTime_propTypes } from './props/propTypes';
|
|
6
6
|
import { DateTime_defaultProps } from './props/defaultProps';
|
|
@@ -17,11 +17,13 @@ import { monthNamesDefault, monthNamesShortDefault, dayNamesDefault, dayNamesSho
|
|
|
17
17
|
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
18
18
|
import { Box } from '../Layout';
|
|
19
19
|
import { getHourSuggestions, getMinuteSuggestions, addZeroIfNeeded } from './dateFormatUtils';
|
|
20
|
+
|
|
20
21
|
function title(date, year, month) {
|
|
21
22
|
let monthNames = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
|
|
22
23
|
const HeadingText = `${monthNames[month] || ''} ${year}`;
|
|
23
24
|
return HeadingText;
|
|
24
25
|
}
|
|
26
|
+
|
|
25
27
|
export default class DateTime extends React.PureComponent {
|
|
26
28
|
constructor(props) {
|
|
27
29
|
super(props);
|
|
@@ -47,6 +49,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
47
49
|
const {
|
|
48
50
|
ampmText = ampmTextDefault
|
|
49
51
|
} = props.i18nKeys;
|
|
52
|
+
|
|
50
53
|
this.ampmSuggestions = (() => {
|
|
51
54
|
const ampmSuggestions = [];
|
|
52
55
|
ampmText.forEach((text, index) => {
|
|
@@ -64,24 +67,29 @@ export default class DateTime extends React.PureComponent {
|
|
|
64
67
|
});
|
|
65
68
|
return ampmSuggestions;
|
|
66
69
|
})();
|
|
70
|
+
|
|
67
71
|
const initalStateObj = this.getStateFromProps(props);
|
|
68
72
|
this.state = Object.assign({}, initalStateObj, {
|
|
69
73
|
isYearView: false,
|
|
70
74
|
isMonthOpen: false
|
|
71
75
|
});
|
|
72
76
|
}
|
|
77
|
+
|
|
73
78
|
componentDidMount() {
|
|
74
79
|
this.handleExposeMethods(true);
|
|
75
80
|
}
|
|
81
|
+
|
|
76
82
|
componentDidUpdate(prevProps) {
|
|
77
83
|
const {
|
|
78
84
|
value,
|
|
79
85
|
isActive,
|
|
80
86
|
is24Hour
|
|
81
87
|
} = this.props;
|
|
88
|
+
|
|
82
89
|
if (prevProps.value !== value || is24Hour !== prevProps.is24Hour) {
|
|
83
90
|
this.setState(this.getStateFromProps(this.props));
|
|
84
91
|
}
|
|
92
|
+
|
|
85
93
|
if (prevProps.isActive !== isActive && !isActive) {
|
|
86
94
|
this.setState({
|
|
87
95
|
isYearView: false,
|
|
@@ -89,9 +97,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
89
97
|
});
|
|
90
98
|
}
|
|
91
99
|
}
|
|
100
|
+
|
|
92
101
|
componentWillUnmount() {
|
|
93
102
|
this.handleExposeMethods(false);
|
|
94
103
|
}
|
|
104
|
+
|
|
95
105
|
getStateFromProps(props) {
|
|
96
106
|
let date, month, year, hours, mins, amPm;
|
|
97
107
|
let {
|
|
@@ -102,17 +112,20 @@ export default class DateTime extends React.PureComponent {
|
|
|
102
112
|
isDateTimeField,
|
|
103
113
|
is24Hour
|
|
104
114
|
} = props; //defaultTime --> 12:00:PM
|
|
115
|
+
|
|
105
116
|
defaultTime = needDefaultTime ? defaultTime ? defaultTime : '12:00:PM' : '';
|
|
106
117
|
let defaultHour, defaultMin, defaultAmPm;
|
|
107
118
|
let todayObj = new Date();
|
|
108
119
|
let todayDate = todayObj.getDate();
|
|
109
120
|
let todayMonth = todayObj.getMonth();
|
|
110
121
|
let todayYear = todayObj.getFullYear();
|
|
122
|
+
|
|
111
123
|
if (!value) {
|
|
112
124
|
[defaultHour, defaultMin, defaultAmPm] = defaultTime ? defaultTime.split(':') : [];
|
|
113
125
|
defaultHour = parseInt(defaultHour);
|
|
114
126
|
defaultMin = parseInt(defaultMin);
|
|
115
127
|
}
|
|
128
|
+
|
|
116
129
|
const dateObj = isDateTimeField ? datetime.toDate(datetime.tz.utcToTz(value, timeZone)) : value ? datetime.toDate(value) : todayObj;
|
|
117
130
|
date = dateObj.getDate();
|
|
118
131
|
month = dateObj.getMonth();
|
|
@@ -134,8 +147,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
134
147
|
todayYear
|
|
135
148
|
};
|
|
136
149
|
}
|
|
150
|
+
|
|
137
151
|
getHours(hoursParam, is24Hour) {
|
|
138
152
|
let hours = hoursParam;
|
|
153
|
+
|
|
139
154
|
if (!is24Hour) {
|
|
140
155
|
if (hours === 0) {
|
|
141
156
|
hours = 12;
|
|
@@ -143,9 +158,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
143
158
|
hours -= 12;
|
|
144
159
|
}
|
|
145
160
|
}
|
|
161
|
+
|
|
146
162
|
hours = addZeroIfNeeded(hours);
|
|
147
163
|
return hours;
|
|
148
164
|
}
|
|
165
|
+
|
|
149
166
|
handleGetSelectedDate() {
|
|
150
167
|
let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
151
168
|
const {
|
|
@@ -154,7 +171,8 @@ export default class DateTime extends React.PureComponent {
|
|
|
154
171
|
timeZone,
|
|
155
172
|
isDateTimeField,
|
|
156
173
|
dateFormat,
|
|
157
|
-
is24Hour
|
|
174
|
+
is24Hour,
|
|
175
|
+
customDateFormat
|
|
158
176
|
} = this.props;
|
|
159
177
|
let {
|
|
160
178
|
year,
|
|
@@ -164,32 +182,41 @@ export default class DateTime extends React.PureComponent {
|
|
|
164
182
|
mins,
|
|
165
183
|
amPm
|
|
166
184
|
} = selectedInfo;
|
|
185
|
+
|
|
167
186
|
if (!is24Hour) {
|
|
168
187
|
if (parseInt(hours) === 12) {
|
|
169
188
|
hours = amPm === 'AM' ? 0 : 12;
|
|
170
189
|
}
|
|
190
|
+
|
|
171
191
|
if (amPm === 'PM') {
|
|
172
192
|
if (hours < 12) {
|
|
173
193
|
hours = parseInt(hours) + 12;
|
|
174
194
|
}
|
|
175
195
|
}
|
|
176
196
|
}
|
|
197
|
+
|
|
177
198
|
let minInMillis = min ? datetime.millis(min) : null,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
199
|
+
maxInMillis = max ? datetime.millis(max) : null,
|
|
200
|
+
selectedInMillis,
|
|
201
|
+
selectedValue = '',
|
|
202
|
+
formattedValue;
|
|
203
|
+
let currentDate = new Date();
|
|
204
|
+
let sec = currentDate.getSeconds();
|
|
205
|
+
let milliSec = currentDate.getMilliseconds();
|
|
206
|
+
|
|
207
|
+
if (isDateTimeField || customDateFormat) {
|
|
208
|
+
selectedInMillis = datetime.tz.tzToUtc(Date.UTC(year, month, date, hours, mins, sec, milliSec), timeZone);
|
|
184
209
|
selectedValue = datetime.ISO(selectedInMillis);
|
|
185
|
-
formattedValue = formatDate(new Date(year, month, date, hours, mins), is24Hour ? `${dateFormat} HH:mm` : `${dateFormat} hh:mm A`);
|
|
210
|
+
formattedValue = formatDate(new Date(year, month, date, hours, mins, sec, milliSec), customDateFormat == null ? is24Hour ? `${dateFormat} HH:mm:ss` : `${dateFormat} hh:mm:ss A` : `${customDateFormat}`);
|
|
186
211
|
} else {
|
|
187
212
|
selectedInMillis = Date.UTC(year, month, date);
|
|
188
213
|
selectedValue = formatDate(new Date(year, month, date), 'YYYY-MM-DD');
|
|
189
214
|
formattedValue = formatDate(new Date(year, month, date), dateFormat);
|
|
190
215
|
}
|
|
216
|
+
|
|
191
217
|
let isError = false;
|
|
192
218
|
let errorType = '';
|
|
219
|
+
|
|
193
220
|
if (minInMillis && minInMillis > selectedInMillis) {
|
|
194
221
|
isError = true;
|
|
195
222
|
errorType = 'MIN';
|
|
@@ -197,6 +224,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
197
224
|
isError = true;
|
|
198
225
|
errorType = 'MAX';
|
|
199
226
|
}
|
|
227
|
+
|
|
200
228
|
return {
|
|
201
229
|
isError,
|
|
202
230
|
errorType,
|
|
@@ -204,6 +232,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
204
232
|
formattedValue
|
|
205
233
|
};
|
|
206
234
|
}
|
|
235
|
+
|
|
207
236
|
handleSelect(e) {
|
|
208
237
|
e && e.preventDefault();
|
|
209
238
|
const {
|
|
@@ -233,6 +262,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
233
262
|
mins,
|
|
234
263
|
amPm
|
|
235
264
|
});
|
|
265
|
+
|
|
236
266
|
if (isError) {
|
|
237
267
|
if (errorType === 'MIN') {
|
|
238
268
|
onError && onError(minErrorText, true);
|
|
@@ -243,6 +273,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
243
273
|
onSelect(selectedValue, formattedValue, e);
|
|
244
274
|
}
|
|
245
275
|
}
|
|
276
|
+
|
|
246
277
|
handleChange() {
|
|
247
278
|
let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
248
279
|
const {
|
|
@@ -275,6 +306,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
275
306
|
mins: getIsEmptyValue(mins) ? oldMins : mins,
|
|
276
307
|
amPm: getIsEmptyValue(amPm) ? oldAMPM : amPm
|
|
277
308
|
};
|
|
309
|
+
|
|
278
310
|
if (onChange) {
|
|
279
311
|
const {
|
|
280
312
|
isError,
|
|
@@ -282,6 +314,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
282
314
|
selectedValue,
|
|
283
315
|
formattedValue
|
|
284
316
|
} = this.handleGetSelectedDate(newSelectedInfo);
|
|
317
|
+
|
|
285
318
|
if (isError) {
|
|
286
319
|
if (errorType === 'MIN') {
|
|
287
320
|
onError && onError(minErrorText, true);
|
|
@@ -296,17 +329,20 @@ export default class DateTime extends React.PureComponent {
|
|
|
296
329
|
this.setState(newSelectedInfo);
|
|
297
330
|
}
|
|
298
331
|
}
|
|
332
|
+
|
|
299
333
|
handleClear(e) {
|
|
300
334
|
const {
|
|
301
335
|
onSelect,
|
|
302
336
|
onClear
|
|
303
337
|
} = this.props;
|
|
338
|
+
|
|
304
339
|
if (onClear) {
|
|
305
340
|
onClear(e);
|
|
306
341
|
} else {
|
|
307
342
|
onSelect('', '', e);
|
|
308
343
|
}
|
|
309
344
|
}
|
|
345
|
+
|
|
310
346
|
dateSelect(date, month, year, e) {
|
|
311
347
|
this.handleChange({
|
|
312
348
|
date,
|
|
@@ -338,6 +374,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
338
374
|
mins,
|
|
339
375
|
amPm
|
|
340
376
|
});
|
|
377
|
+
|
|
341
378
|
if (isError) {
|
|
342
379
|
if (errorType === 'MIN') {
|
|
343
380
|
onError && onError(minErrorText, true);
|
|
@@ -348,26 +385,31 @@ export default class DateTime extends React.PureComponent {
|
|
|
348
385
|
onDateSelect && onDateSelect(selectedValue, formattedValue, e);
|
|
349
386
|
}
|
|
350
387
|
}
|
|
388
|
+
|
|
351
389
|
hoursSelect(hours) {
|
|
352
390
|
this.handleChange({
|
|
353
391
|
hours
|
|
354
392
|
});
|
|
355
393
|
}
|
|
394
|
+
|
|
356
395
|
minutesSelect(mins) {
|
|
357
396
|
this.handleChange({
|
|
358
397
|
mins
|
|
359
398
|
});
|
|
360
399
|
}
|
|
400
|
+
|
|
361
401
|
amPmSelect(amPm) {
|
|
362
402
|
this.handleChange({
|
|
363
403
|
amPm
|
|
364
404
|
});
|
|
365
405
|
}
|
|
366
|
-
|
|
367
406
|
/*global closeGroupPopups*/
|
|
407
|
+
|
|
408
|
+
|
|
368
409
|
closePopup() {
|
|
369
410
|
closeGroupPopups('calender');
|
|
370
411
|
}
|
|
412
|
+
|
|
371
413
|
handleCalendarNavigation(type, selectedInfo) {
|
|
372
414
|
const {
|
|
373
415
|
year: stateYear,
|
|
@@ -377,10 +419,12 @@ export default class DateTime extends React.PureComponent {
|
|
|
377
419
|
let date = stateDate;
|
|
378
420
|
let month = stateMonth;
|
|
379
421
|
const year = stateYear;
|
|
422
|
+
|
|
380
423
|
const getDate = (month, year) => {
|
|
381
424
|
const monthEnd = getMonthEnd(month, year);
|
|
382
425
|
return monthEnd >= parseInt(date) ? date : monthEnd;
|
|
383
426
|
};
|
|
427
|
+
|
|
384
428
|
const modifyCalendarRecursion = recursionType => {
|
|
385
429
|
if (recursionType === 'nextYear') {
|
|
386
430
|
//Click next year icon
|
|
@@ -404,6 +448,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
404
448
|
month = 0;
|
|
405
449
|
return modifyCalendarRecursion('nextYear');
|
|
406
450
|
}
|
|
451
|
+
|
|
407
452
|
const newMonth = month + 1;
|
|
408
453
|
return {
|
|
409
454
|
date: getDate(newMonth, year),
|
|
@@ -416,6 +461,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
416
461
|
month = 11;
|
|
417
462
|
return modifyCalendarRecursion('previousYear');
|
|
418
463
|
}
|
|
464
|
+
|
|
419
465
|
const newMonth = month - 1;
|
|
420
466
|
return {
|
|
421
467
|
date: getDate(newMonth, year),
|
|
@@ -424,10 +470,12 @@ export default class DateTime extends React.PureComponent {
|
|
|
424
470
|
};
|
|
425
471
|
} else if (recursionType === 'nextDate') {
|
|
426
472
|
const monthEnd = getMonthEnd(month, year);
|
|
473
|
+
|
|
427
474
|
if (date === monthEnd) {
|
|
428
475
|
date = 1;
|
|
429
476
|
return modifyCalendarRecursion('nextMonth');
|
|
430
477
|
}
|
|
478
|
+
|
|
431
479
|
const newDate = parseInt(date) + 1;
|
|
432
480
|
return {
|
|
433
481
|
date: newDate,
|
|
@@ -439,6 +487,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
439
487
|
date = month === 0 ? getMonthEnd(11, year - 1) : getMonthEnd(month - 1, year);
|
|
440
488
|
return modifyCalendarRecursion('previousMonth');
|
|
441
489
|
}
|
|
490
|
+
|
|
442
491
|
const newDate = parseInt(date) - 1;
|
|
443
492
|
return {
|
|
444
493
|
date: newDate,
|
|
@@ -447,8 +496,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
447
496
|
};
|
|
448
497
|
}
|
|
449
498
|
};
|
|
499
|
+
|
|
450
500
|
return modifyCalendarRecursion(type);
|
|
451
501
|
}
|
|
502
|
+
|
|
452
503
|
modifyCalendar(type) {
|
|
453
504
|
const {
|
|
454
505
|
year,
|
|
@@ -461,9 +512,11 @@ export default class DateTime extends React.PureComponent {
|
|
|
461
512
|
date
|
|
462
513
|
}));
|
|
463
514
|
}
|
|
515
|
+
|
|
464
516
|
handleDateReset() {
|
|
465
517
|
this.setState(this.getStateFromProps(this.props));
|
|
466
518
|
}
|
|
519
|
+
|
|
467
520
|
handleGetStateValues() {
|
|
468
521
|
const {
|
|
469
522
|
isActive
|
|
@@ -478,17 +531,20 @@ export default class DateTime extends React.PureComponent {
|
|
|
478
531
|
isMonthOpen
|
|
479
532
|
};
|
|
480
533
|
}
|
|
534
|
+
|
|
481
535
|
handleYearViewToggle(isYearOpen, isMonthOpen) {
|
|
482
536
|
this.setState({
|
|
483
537
|
isYearView: isYearOpen,
|
|
484
538
|
isMonthOpen
|
|
485
539
|
});
|
|
486
540
|
}
|
|
541
|
+
|
|
487
542
|
handleExposeMethods(isMount) {
|
|
488
543
|
const {
|
|
489
544
|
getMethods
|
|
490
545
|
} = this.props;
|
|
491
546
|
let methods = {};
|
|
547
|
+
|
|
492
548
|
if (isMount) {
|
|
493
549
|
methods = {
|
|
494
550
|
resetLocalDate: this.handleDateReset,
|
|
@@ -502,8 +558,10 @@ export default class DateTime extends React.PureComponent {
|
|
|
502
558
|
toggleYearView: null
|
|
503
559
|
};
|
|
504
560
|
}
|
|
561
|
+
|
|
505
562
|
getMethods && getMethods(methods);
|
|
506
563
|
}
|
|
564
|
+
|
|
507
565
|
handleOpenYearView() {
|
|
508
566
|
const {
|
|
509
567
|
isYearView,
|
|
@@ -514,12 +572,14 @@ export default class DateTime extends React.PureComponent {
|
|
|
514
572
|
isMonthOpen: !isMonthOpen
|
|
515
573
|
});
|
|
516
574
|
}
|
|
575
|
+
|
|
517
576
|
handleSelectYear(year) {
|
|
518
577
|
this.setState({
|
|
519
578
|
year,
|
|
520
579
|
isMonthOpen: true
|
|
521
580
|
});
|
|
522
581
|
}
|
|
582
|
+
|
|
523
583
|
handleSelectMonth(month) {
|
|
524
584
|
const {
|
|
525
585
|
date,
|
|
@@ -527,14 +587,17 @@ export default class DateTime extends React.PureComponent {
|
|
|
527
587
|
} = this.state;
|
|
528
588
|
const monthEnd = getMonthEnd(month, year);
|
|
529
589
|
let newDate = date;
|
|
590
|
+
|
|
530
591
|
if (date > monthEnd) {
|
|
531
592
|
newDate = monthEnd;
|
|
532
593
|
}
|
|
594
|
+
|
|
533
595
|
this.setState({
|
|
534
596
|
month,
|
|
535
597
|
date: newDate
|
|
536
598
|
});
|
|
537
599
|
}
|
|
600
|
+
|
|
538
601
|
handleSelectMonthViaYearView(month) {
|
|
539
602
|
this.handleSelectMonth(month);
|
|
540
603
|
this.setState({
|
|
@@ -542,6 +605,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
542
605
|
isMonthOpen: false
|
|
543
606
|
});
|
|
544
607
|
}
|
|
608
|
+
|
|
545
609
|
render() {
|
|
546
610
|
const {
|
|
547
611
|
date,
|
|
@@ -677,6 +741,7 @@ export default class DateTime extends React.PureComponent {
|
|
|
677
741
|
portalId: dropBoxPortalId
|
|
678
742
|
}, /*#__PURE__*/React.createElement(Box, null, childEle)) : null;
|
|
679
743
|
}
|
|
744
|
+
|
|
680
745
|
}
|
|
681
746
|
DateTime.propTypes = DateTime_propTypes;
|
|
682
747
|
DateTime.defaultProps = DateTime_defaultProps;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/* eslint-disable react/forbid-component-props */
|
|
2
|
+
|
|
2
3
|
/** ** Libraries *** */
|
|
3
4
|
import React, { PureComponent } from 'react';
|
|
4
|
-
|
|
5
5
|
/** ** Components *** */
|
|
6
|
+
|
|
6
7
|
import { Container } from '../Layout';
|
|
7
8
|
import Button from '../Button/Button';
|
|
8
|
-
|
|
9
9
|
/** ** CSS *** */
|
|
10
|
+
|
|
10
11
|
import style from './DateTime.module.css';
|
|
11
12
|
export default class DateTimePopupFooter extends PureComponent {
|
|
12
13
|
render() {
|
|
@@ -38,4 +39,5 @@ export default class DateTimePopupFooter extends PureComponent {
|
|
|
38
39
|
dataId: `${dataId}_clearBtn`
|
|
39
40
|
}));
|
|
40
41
|
}
|
|
42
|
+
|
|
41
43
|
}
|
|
@@ -2,19 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
/** ** Libraries *** */
|
|
4
4
|
import React, { PureComponent } from 'react';
|
|
5
|
-
|
|
6
5
|
/** ** Components *** */
|
|
6
|
+
|
|
7
7
|
import { Container, Box } from '../Layout';
|
|
8
8
|
import { Icon } from '@zohodesk/icons';
|
|
9
9
|
import Heading from '../Heading/Heading';
|
|
10
|
-
|
|
11
10
|
/** ** CSS *** */
|
|
11
|
+
|
|
12
12
|
import style from './DateTime.module.css';
|
|
13
|
+
|
|
13
14
|
class Span extends React.PureComponent {
|
|
14
15
|
constructor(props) {
|
|
15
16
|
super(props);
|
|
16
17
|
this.modifyCalendarChild = this.modifyCalendarChild.bind(this);
|
|
17
18
|
}
|
|
19
|
+
|
|
18
20
|
modifyCalendarChild() {
|
|
19
21
|
const {
|
|
20
22
|
modifyCalendar,
|
|
@@ -22,6 +24,7 @@ class Span extends React.PureComponent {
|
|
|
22
24
|
} = this.props;
|
|
23
25
|
modifyCalendar(type);
|
|
24
26
|
}
|
|
27
|
+
|
|
25
28
|
render() {
|
|
26
29
|
const {
|
|
27
30
|
dataTitle,
|
|
@@ -39,7 +42,9 @@ class Span extends React.PureComponent {
|
|
|
39
42
|
tabindex: "0"
|
|
40
43
|
}, children);
|
|
41
44
|
}
|
|
45
|
+
|
|
42
46
|
}
|
|
47
|
+
|
|
43
48
|
export default class DateTimePopupHeader extends PureComponent {
|
|
44
49
|
render() {
|
|
45
50
|
const {
|
|
@@ -94,4 +99,5 @@ export default class DateTimePopupHeader extends PureComponent {
|
|
|
94
99
|
isBold: true
|
|
95
100
|
}))) : null);
|
|
96
101
|
}
|
|
102
|
+
|
|
97
103
|
}
|