@elliemae/ds-date-time-recurrence-picker 2.0.0-alpha.1 → 2.0.0-alpha.13
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/cjs/DSDateTimeRecurrenceSelector.js +91 -88
- package/cjs/__test__/DSDateTimeRecurrenceSelector.test.js +1 -1
- package/cjs/components/AlertModal/DateTimeRangeModal.js +53 -50
- package/cjs/components/CustomOptionRender/CustomOptionRender.js +28 -27
- package/cjs/components/DateTimeRangeModal/DateTimeRangeModal.js +17 -15
- package/cjs/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +26 -21
- package/cjs/components/DateTimeRecurenceSelectorImpl.js +37 -30
- package/cjs/components/DayOfMonthPicker/DayOfMonthPicker.js +20 -16
- package/cjs/components/DayOfYearPicker/DayOfYearPicker.js +19 -15
- package/cjs/components/DaysOfWeekPicker/DaysOfWeekPicker.js +33 -31
- package/cjs/components/EndDate/EndDate.js +30 -28
- package/cjs/components/FieldWrapper/FieldWrapper.js +6 -5
- package/cjs/components/LabelWrapper/LabelWrapper.js +6 -5
- package/cjs/components/RepeatPickerInput/RepeatPickerInput.js +22 -18
- package/cjs/components/StartDateTime/StartDateTime.js +22 -19
- package/cjs/components/TimeZonePicker/TimeZonePicker.js +24 -22
- package/cjs/components/ValidationMessage/ValidationMessage.js +8 -5
- package/cjs/index.js +1 -1
- package/esm/DSDateTimeRecurrenceSelector.js +90 -87
- package/esm/components/AlertModal/DateTimeRangeModal.js +53 -50
- package/esm/components/CustomOptionRender/CustomOptionRender.js +27 -26
- package/esm/components/DateTimeRangeModal/DateTimeRangeModal.js +14 -11
- package/esm/components/DateTimeRangeModalImpl/DateTimeRangeModalImpl.js +12 -7
- package/esm/components/DateTimeRecurenceSelectorImpl.js +29 -21
- package/esm/components/DayOfMonthPicker/DayOfMonthPicker.js +19 -14
- package/esm/components/DayOfYearPicker/DayOfYearPicker.js +18 -13
- package/esm/components/DaysOfWeekPicker/DaysOfWeekPicker.js +31 -25
- package/esm/components/EndDate/EndDate.js +30 -27
- package/esm/components/FieldWrapper/FieldWrapper.js +5 -4
- package/esm/components/LabelWrapper/LabelWrapper.js +5 -4
- package/esm/components/RepeatPickerInput/RepeatPickerInput.js +17 -11
- package/esm/components/StartDateTime/StartDateTime.js +22 -19
- package/esm/components/TimeZonePicker/TimeZonePicker.js +24 -21
- package/esm/components/ValidationMessage/ValidationMessage.js +8 -5
- package/package.json +12 -7
- package/types/DSDateTimeRecurrenceSelector.d.ts +276 -40
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
|
@@ -19,93 +19,96 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
19
19
|
|
|
20
20
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
21
21
|
|
|
22
|
-
const DSDateTimeRecurrenceSelector =
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
22
|
+
const DSDateTimeRecurrenceSelector = _ref => {
|
|
23
|
+
let {
|
|
24
|
+
containerProps = {},
|
|
25
|
+
className = '',
|
|
26
|
+
preselectedOptions = dropdownPreselectedOptions.dropdownPreselectedOptions,
|
|
27
|
+
repeatOptions = dropdownRepeatOptions.dropdownRepeatOptions,
|
|
28
|
+
endTypesOptions: endTypesOptions$1 = endTypesOptions.endTypesOptions,
|
|
29
|
+
endTimesOptions = endTypesOptions.endTimesOptions,
|
|
30
|
+
dayOfWeekOptions = dropdownDayOfWeekOptions.dropdownDayOfWeekOptions,
|
|
31
|
+
dayOfWeekOptionsEnable = true,
|
|
32
|
+
dayOfMonthOptions = dropdownDayOfMonthOptions.dropdownDayOfMonthOptions,
|
|
33
|
+
dayOfMonthOptionsEnable = true,
|
|
34
|
+
dayOfYearOptions = dropdownDayOfYearOptions.dropdownDayOfYearOptions,
|
|
35
|
+
dayOfYearOptionsEnable = true,
|
|
36
|
+
displayMonthCustomOption = false,
|
|
37
|
+
displayYearCustomOption = false,
|
|
38
|
+
dayOfMonthAsCurrentDateOptions = ['numberOfMonth', 'dayOfTheWeekOfMonth'],
|
|
39
|
+
dayOfYearAsCurrentDateOptions = ['numberOfYear', 'dayOfTheMonthOfYear'],
|
|
40
|
+
onChange = () => null,
|
|
41
|
+
placeholder = 'Select Range',
|
|
42
|
+
modalSize = 'medium',
|
|
43
|
+
modalTitle = 'Report Scheduling',
|
|
44
|
+
confirmLabel = 'Apply',
|
|
45
|
+
rejectLabel = 'Cancel',
|
|
46
|
+
modalType = 'confirm',
|
|
47
|
+
onConfirmField = () => null,
|
|
48
|
+
onRejectField = () => null,
|
|
49
|
+
openModal = false,
|
|
50
|
+
appElement = '#root',
|
|
51
|
+
value = null,
|
|
52
|
+
customRange = null,
|
|
53
|
+
customOptionRender = CustomOptionRender,
|
|
54
|
+
displayCurrentMonthYear = true,
|
|
55
|
+
timeZoneOptions = dropdownTimeZoneOptions.dropdownTimeZoneOptions,
|
|
56
|
+
useTimezoneSelector = false,
|
|
57
|
+
allowMultipleDaysOfWeek = false,
|
|
58
|
+
advanceOption = {
|
|
59
|
+
label: 'Custom',
|
|
60
|
+
value: 'custom-range',
|
|
61
|
+
isAdvance: true
|
|
62
|
+
},
|
|
63
|
+
isValidRecurrence = () => true,
|
|
64
|
+
validationMessage = '',
|
|
65
|
+
endDayBlocked = () => false,
|
|
66
|
+
startDayBlocked = () => false,
|
|
67
|
+
repeatFrecuencyCustomProps = {}
|
|
68
|
+
} = _ref;
|
|
69
|
+
return /*#__PURE__*/_jsx__default["default"](DateTimeRecurenceSelectorImpl, {
|
|
70
|
+
advanceOption: advanceOption,
|
|
71
|
+
allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
|
|
72
|
+
appElement: appElement,
|
|
73
|
+
className: className,
|
|
74
|
+
confirmLabel: confirmLabel,
|
|
75
|
+
containerProps: containerProps,
|
|
76
|
+
customOptionRender: customOptionRender,
|
|
77
|
+
customRange: customRange,
|
|
78
|
+
dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
|
|
79
|
+
dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
|
|
80
|
+
dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
|
|
81
|
+
dayOfYearAsCurrentDateOptions: dayOfYearAsCurrentDateOptions,
|
|
82
|
+
dayOfYearOptionsEnable: dayOfYearOptionsEnable,
|
|
83
|
+
displayCurrentMonthYear: displayCurrentMonthYear,
|
|
84
|
+
displayMonthCustomOption: displayMonthCustomOption,
|
|
85
|
+
displayYearCustomOption: displayYearCustomOption,
|
|
86
|
+
dropdownDayOfMonthOptions: dayOfMonthOptions,
|
|
87
|
+
dropdownDayOfWeekOptions: dayOfWeekOptions,
|
|
88
|
+
dropdownDayOfYearOptions: dayOfYearOptions,
|
|
89
|
+
dropdownPreselectedOptions: preselectedOptions,
|
|
90
|
+
dropdownRepeatOptions: repeatOptions,
|
|
91
|
+
endDayBlocked: endDayBlocked,
|
|
92
|
+
endTimesOptions: endTimesOptions,
|
|
93
|
+
endTypesOptions: endTypesOptions$1,
|
|
94
|
+
isValidRecurrence: isValidRecurrence,
|
|
95
|
+
modalSize: modalSize,
|
|
96
|
+
modalTitle: modalTitle,
|
|
97
|
+
modalType: modalType,
|
|
98
|
+
onChange: onChange,
|
|
99
|
+
onConfirmField: onConfirmField,
|
|
100
|
+
onRejectField: onRejectField,
|
|
101
|
+
openModal: openModal,
|
|
102
|
+
placeholder: placeholder,
|
|
103
|
+
rejectLabel: rejectLabel,
|
|
104
|
+
repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
|
|
105
|
+
startDayBlocked: startDayBlocked,
|
|
106
|
+
timeZoneOptions: timeZoneOptions,
|
|
107
|
+
useTimezoneSelector: useTimezoneSelector,
|
|
108
|
+
validationMessage: validationMessage,
|
|
109
|
+
value: value
|
|
110
|
+
});
|
|
111
|
+
};
|
|
109
112
|
const dateTimeRecurrenceSelectorProps = {
|
|
110
113
|
containerProps: reactDesc.PropTypes.shape({}).description('Set of Properties attached to the main container'),
|
|
111
114
|
className: reactDesc.PropTypes.string.description('html class attribute'),
|
|
@@ -193,4 +196,4 @@ exports.DropdownTimeZoneTypes = dropdownTimeZoneOptions.DropdownTimeZoneTypes;
|
|
|
193
196
|
exports.dropdownTimeZoneOptions = dropdownTimeZoneOptions.dropdownTimeZoneOptions;
|
|
194
197
|
exports.DSDateTimeRecurrenceSelector = DSDateTimeRecurrenceSelector;
|
|
195
198
|
exports.DateTimeRecurenceSelectorWithSchema = DateTimeRecurenceSelectorWithSchema;
|
|
196
|
-
exports[
|
|
199
|
+
exports["default"] = DSDateTimeRecurrenceSelector;
|
|
@@ -21,7 +21,7 @@ describe('DSDateTimeRecurrenceSelector', () => {
|
|
|
21
21
|
test('open modal', async () => {
|
|
22
22
|
const {
|
|
23
23
|
getByText
|
|
24
|
-
} = react.render(_DSDateTimeRecurrence || (_DSDateTimeRecurrence = /*#__PURE__*/_jsx__default[
|
|
24
|
+
} = react.render(_DSDateTimeRecurrence || (_DSDateTimeRecurrence = /*#__PURE__*/_jsx__default["default"](DSDateTimeRecurrenceSelector.DSDateTimeRecurrenceSelector, {
|
|
25
25
|
openModal: true
|
|
26
26
|
})));
|
|
27
27
|
await react.waitFor(() => getByText('Starts'));
|
|
@@ -10,55 +10,58 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
11
11
|
var DSModal__default = /*#__PURE__*/_interopDefaultLegacy(DSModal);
|
|
12
12
|
|
|
13
|
-
const DateTimeRangeModal =
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
13
|
+
const DateTimeRangeModal = _ref => {
|
|
14
|
+
let {
|
|
15
|
+
isOpen = false,
|
|
16
|
+
onClose = () => null,
|
|
17
|
+
modalTitle = 'Report Scheduling',
|
|
18
|
+
modalSize = 'medium ',
|
|
19
|
+
confirmLabel = 'Apply',
|
|
20
|
+
rejectLabel = 'Cancel',
|
|
21
|
+
modalType = 'confirm',
|
|
22
|
+
onConfirmField = () => null,
|
|
23
|
+
onRejectField = () => null,
|
|
24
|
+
appElement = null,
|
|
25
|
+
onCustomDateTimeRange = () => null,
|
|
26
|
+
displayCurrentMonthYear = true,
|
|
27
|
+
dropdownDayOfMonthOptions = [],
|
|
28
|
+
dropdownDayOfWeekOptions = [],
|
|
29
|
+
dropdownDayOfYearOptions = [],
|
|
30
|
+
dropdownRepeatOptions = [],
|
|
31
|
+
rangeValue = {},
|
|
32
|
+
dayOfMonthOptionsEnable = true,
|
|
33
|
+
dayOfWeekOptionsEnable = true,
|
|
34
|
+
dayOfYearOptionsEnable = true,
|
|
35
|
+
timeZoneOptions = [],
|
|
36
|
+
useTimezoneSelector = false,
|
|
37
|
+
allowMultipleDaysOfWeek = false
|
|
38
|
+
} = _ref;
|
|
39
|
+
return /*#__PURE__*/_jsx__default["default"](DSModal__default["default"], {
|
|
40
|
+
appElement: appElement,
|
|
41
|
+
confirmLabel: confirmLabel,
|
|
42
|
+
isOpen: isOpen,
|
|
43
|
+
modalTitle: modalTitle,
|
|
44
|
+
modalType: modalType,
|
|
45
|
+
onClose: onClose,
|
|
46
|
+
onConfirm: onConfirmField,
|
|
47
|
+
onReject: onRejectField,
|
|
48
|
+
rejectLabel: rejectLabel,
|
|
49
|
+
size: modalSize
|
|
50
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](DateTimeRangeModalImpl, {
|
|
51
|
+
allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
|
|
52
|
+
dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
|
|
53
|
+
dayOfWeekOptionsEnable: dayOfWeekOptionsEnable,
|
|
54
|
+
dayOfYearOptionsEnable: dayOfYearOptionsEnable,
|
|
55
|
+
displayCurrentMonthYear: displayCurrentMonthYear,
|
|
56
|
+
dropdownDayOfMonthOptions: dropdownDayOfMonthOptions,
|
|
57
|
+
dropdownDayOfWeekOptions: dropdownDayOfWeekOptions,
|
|
58
|
+
dropdownDayOfYearOptions: dropdownDayOfYearOptions,
|
|
59
|
+
dropdownRepeatOptions: dropdownRepeatOptions,
|
|
60
|
+
onCustomDateTimeRange: onCustomDateTimeRange,
|
|
61
|
+
rangeValue: rangeValue,
|
|
62
|
+
timeZoneOptions: timeZoneOptions,
|
|
63
|
+
useTimezoneSelector: useTimezoneSelector
|
|
64
|
+
}));
|
|
65
|
+
};
|
|
63
66
|
|
|
64
67
|
module.exports = DateTimeRangeModal;
|
|
@@ -48,45 +48,46 @@ timezonePickerInput
|
|
|
48
48
|
}
|
|
49
49
|
*/
|
|
50
50
|
|
|
51
|
-
const CustomOptionRender =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
51
|
+
const CustomOptionRender = _ref => {
|
|
52
|
+
let {
|
|
53
|
+
customRange: {
|
|
54
|
+
startDateInput,
|
|
55
|
+
startTimeInput,
|
|
56
|
+
qtyRepeatPickerInput,
|
|
57
|
+
typeRepeatPickerInput,
|
|
58
|
+
dayWeekRepeatPickerInput,
|
|
59
|
+
endDateInput,
|
|
60
|
+
endTypeInput,
|
|
61
|
+
endTimesInput,
|
|
62
|
+
dayOfMonthRepeatPickerInput,
|
|
63
|
+
dayOfYearRepeatPickerInput,
|
|
64
|
+
timezonePickerInput
|
|
65
|
+
},
|
|
66
|
+
dayOfMonthOptionsEnable,
|
|
67
|
+
dayOfWeekOptionsEnable,
|
|
68
|
+
dayOfYearOptionsEnable,
|
|
69
|
+
useTimezoneSelector
|
|
70
|
+
} = _ref;
|
|
70
71
|
let display = 'Custom'; // frequency
|
|
71
72
|
|
|
72
|
-
if (qtyRepeatPickerInput === 1) display = typeRepeat[typeRepeatPickerInput];else display =
|
|
73
|
+
if (qtyRepeatPickerInput === 1) display = typeRepeat[typeRepeatPickerInput];else display = "every ".concat(qtyRepeatPickerInput, " ").concat(typeRepeatPickerInput, "s"); // type
|
|
73
74
|
|
|
74
75
|
if (typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.WEEK) {
|
|
75
|
-
display += dayOfWeekOptionsEnable ?
|
|
76
|
+
display += dayOfWeekOptionsEnable ? " on ".concat(dayWeekRepeatPickerInput, " ") : '';
|
|
76
77
|
} else if (typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.MONTH) {
|
|
77
|
-
display += dayOfMonthOptionsEnable ?
|
|
78
|
+
display += dayOfMonthOptionsEnable ? " ".concat(dayOfMonthRepeatPickerInput, " ") : '';
|
|
78
79
|
} else if (typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.YEAR) {
|
|
79
|
-
display += dayOfYearOptionsEnable ?
|
|
80
|
+
display += dayOfYearOptionsEnable ? " ".concat(dayOfYearRepeatPickerInput, " ") : '';
|
|
80
81
|
} // start & end
|
|
81
82
|
|
|
82
83
|
|
|
83
84
|
if (startDateInput && startDateInput.format) {
|
|
84
|
-
display +=
|
|
85
|
+
display += " starting on ".concat(startDateInput.format('MM/DD/YYYY'), " at ").concat(startTimeInput.format('HH:mm A'));
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
if (endTypeInput === endTypesOptions.endTypes.ON) display +=
|
|
88
|
-
if (useTimezoneSelector && timezonePickerInput) display +=
|
|
89
|
-
return /*#__PURE__*/_jsx__default[
|
|
88
|
+
if (endTypeInput === endTypesOptions.endTypes.ON) display += ", until ".concat(endDateInput.format('MM/DD/YYYY'), " ");else if (endTypeInput === endTypesOptions.endTypes.AFTER) display += ", for ".concat(endTimesInput, " times");
|
|
89
|
+
if (useTimezoneSelector && timezonePickerInput) display += " [".concat(timezonePickerInput, "]");
|
|
90
|
+
return /*#__PURE__*/_jsx__default["default"]("em", {}, void 0, display);
|
|
90
91
|
};
|
|
91
92
|
|
|
92
93
|
module.exports = CustomOptionRender;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
|
-
|
|
4
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var DSModal = require('@elliemae/ds-modal');
|
|
7
7
|
var DateTimeRangeModalImpl = require('../DateTimeRangeModalImpl/DateTimeRangeModalImpl.js');
|
|
@@ -9,28 +9,30 @@ var DateTimeRangeModalImpl = require('../DateTimeRangeModalImpl/DateTimeRangeMod
|
|
|
9
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
10
|
|
|
11
11
|
var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
|
|
12
|
-
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
13
12
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
13
|
var DSModal__default = /*#__PURE__*/_interopDefaultLegacy(DSModal);
|
|
15
14
|
|
|
16
|
-
class DateTimeRangeModal extends React__default[
|
|
17
|
-
constructor(
|
|
18
|
-
|
|
15
|
+
class DateTimeRangeModal extends React__default["default"].Component {
|
|
16
|
+
constructor() {
|
|
17
|
+
var _this;
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
super(...arguments);
|
|
20
|
+
_this = this;
|
|
21
|
+
this.state = {
|
|
21
22
|
isValid: true
|
|
22
|
-
}
|
|
23
|
+
};
|
|
23
24
|
|
|
24
|
-
|
|
25
|
+
this.updateIsValid = function () {
|
|
25
26
|
const {
|
|
26
27
|
onCustomDateTimeRange = () => null,
|
|
27
28
|
isValidRecurrence
|
|
28
|
-
} =
|
|
29
|
-
onCustomDateTimeRange(...
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
} = _this.props;
|
|
30
|
+
onCustomDateTimeRange(...arguments);
|
|
31
|
+
|
|
32
|
+
_this.setState({
|
|
33
|
+
isValid: isValidRecurrence(...arguments)
|
|
32
34
|
});
|
|
33
|
-
}
|
|
35
|
+
};
|
|
34
36
|
}
|
|
35
37
|
|
|
36
38
|
render() {
|
|
@@ -72,7 +74,7 @@ class DateTimeRangeModal extends React__default['default'].Component {
|
|
|
72
74
|
const {
|
|
73
75
|
isValid
|
|
74
76
|
} = this.state;
|
|
75
|
-
return /*#__PURE__*/_jsx__default[
|
|
77
|
+
return /*#__PURE__*/_jsx__default["default"](DSModal__default["default"], {
|
|
76
78
|
appElement: appElement,
|
|
77
79
|
centered: false,
|
|
78
80
|
confirmLabel: confirmLabel,
|
|
@@ -87,7 +89,7 @@ class DateTimeRangeModal extends React__default['default'].Component {
|
|
|
87
89
|
},
|
|
88
90
|
rejectLabel: rejectLabel,
|
|
89
91
|
size: "small"
|
|
90
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
92
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](DateTimeRangeModalImpl, {
|
|
91
93
|
allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
|
|
92
94
|
dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
|
|
93
95
|
dayOfMonthOptionsEnable: dayOfMonthOptionsEnable,
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
var _jsx = require('@babel/runtime/helpers/jsx');
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
5
|
require('core-js/modules/es.string.replace.js');
|
|
6
|
+
require('core-js/modules/esnext.async-iterator.filter.js');
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js');
|
|
8
|
+
require('core-js/modules/esnext.iterator.filter.js');
|
|
9
|
+
require('core-js/modules/esnext.async-iterator.for-each.js');
|
|
10
|
+
require('core-js/modules/esnext.iterator.for-each.js');
|
|
6
11
|
var React = require('react');
|
|
7
12
|
var moment = require('moment');
|
|
8
13
|
var dsClassnames = require('@elliemae/ds-classnames');
|
|
@@ -29,7 +34,7 @@ var _hr, _p;
|
|
|
29
34
|
|
|
30
35
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
31
36
|
|
|
32
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
37
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
33
38
|
const {
|
|
34
39
|
cssClassName
|
|
35
40
|
} = dsClassnames.convertPropToCssClassName('date-time-predefined-range-selector');
|
|
@@ -38,20 +43,20 @@ class DateTimePredefinedRangeSelectorImpl extends React.Component {
|
|
|
38
43
|
constructor(props) {
|
|
39
44
|
super(props);
|
|
40
45
|
|
|
41
|
-
|
|
46
|
+
this.onChange = () => {
|
|
42
47
|
const {
|
|
43
48
|
onCustomDateTimeRange
|
|
44
49
|
} = this.props;
|
|
45
50
|
onCustomDateTimeRange(this.state);
|
|
46
|
-
}
|
|
51
|
+
};
|
|
47
52
|
|
|
48
|
-
|
|
53
|
+
this.onQtyRepeatPickerInput = value => {
|
|
49
54
|
this.setState({
|
|
50
55
|
qtyRepeatPickerInput: value.replace(/[^0-9]/g, '')
|
|
51
56
|
}, () => {
|
|
52
57
|
this.onChange();
|
|
53
58
|
});
|
|
54
|
-
}
|
|
59
|
+
};
|
|
55
60
|
|
|
56
61
|
const {
|
|
57
62
|
dropdownDayOfMonthOptions,
|
|
@@ -79,12 +84,12 @@ class DateTimePredefinedRangeSelectorImpl extends React.Component {
|
|
|
79
84
|
this.state = {
|
|
80
85
|
alertReplace: '',
|
|
81
86
|
alertModal: false,
|
|
82
|
-
startDateInput: startDateInput || moment__default[
|
|
83
|
-
startTimeInput: startTimeInput || moment__default[
|
|
87
|
+
startDateInput: startDateInput || moment__default["default"](),
|
|
88
|
+
startTimeInput: startTimeInput || moment__default["default"](),
|
|
84
89
|
qtyRepeatPickerInput: qtyRepeatPickerInput || 1,
|
|
85
90
|
typeRepeatPickerInput: typeRepeatPickerInput || dropdownRepeatOptions[0].value,
|
|
86
91
|
dayWeekRepeatPickerInput: !dayOfWeekOptionsEnable ? null : dayWeekRepeatPickerInput || dropdownDayOfWeekOptions[0].value,
|
|
87
|
-
endDateInput: endDateInput || moment__default[
|
|
92
|
+
endDateInput: endDateInput || moment__default["default"](),
|
|
88
93
|
endTypeInput: endTypeInput || props.endTypesOptions[0].value,
|
|
89
94
|
endTimesInput: endTimesInput || props.endTimesOptions[0].value,
|
|
90
95
|
dayOfMonthRepeatPickerInput: !dayOfMonthOptionsEnable ? null : dayOfMonthRepeatPickerInput || dropdownDayOfMonthOptions[0].value,
|
|
@@ -177,7 +182,7 @@ class DateTimePredefinedRangeSelectorImpl extends React.Component {
|
|
|
177
182
|
dayOfMonthRepeatPickerInput: value,
|
|
178
183
|
dayOfMonthRepeatPickerKey: option.dayOfMonthRepeatPickerKey,
|
|
179
184
|
alertModal: option.number > 28 || (option.numberLabel || '').includes('Fifth'),
|
|
180
|
-
alertReplace: option.number ||
|
|
185
|
+
alertReplace: option.number || "".concat(option.numberLabel, " ")
|
|
181
186
|
}, () => {
|
|
182
187
|
this.onChange();
|
|
183
188
|
});
|
|
@@ -239,31 +244,31 @@ class DateTimePredefinedRangeSelectorImpl extends React.Component {
|
|
|
239
244
|
displayMonthCustomOption,
|
|
240
245
|
displayYearCustomOption
|
|
241
246
|
} = this.props;
|
|
242
|
-
return /*#__PURE__*/_jsx__default[
|
|
243
|
-
className:
|
|
244
|
-
}, void 0, /*#__PURE__*/_jsx__default[
|
|
247
|
+
return /*#__PURE__*/_jsx__default["default"]("div", {
|
|
248
|
+
className: "".concat(cssClassName)
|
|
249
|
+
}, void 0, /*#__PURE__*/_jsx__default["default"](StartDateTime, {
|
|
245
250
|
onStartDateChange: this.onStartDateChangeInput,
|
|
246
251
|
onStartTimeChange: this.onStartTimeChangeInput,
|
|
247
252
|
startDateValue: startDateInput,
|
|
248
253
|
startDayBlocked: startDayBlocked,
|
|
249
254
|
startTimeValue: startTimeInput
|
|
250
|
-
}), useTimezoneSelector && /*#__PURE__*/_jsx__default[
|
|
255
|
+
}), useTimezoneSelector && /*#__PURE__*/_jsx__default["default"](TimeZonePicker, {
|
|
251
256
|
onTimezoneChange: this.onTimeZonePickerInput,
|
|
252
257
|
timezoneOptions: timeZoneOptions,
|
|
253
258
|
timezoneValue: timezonePickerInput
|
|
254
|
-
}), /*#__PURE__*/_jsx__default[
|
|
259
|
+
}), /*#__PURE__*/_jsx__default["default"](RepeatPickerInput, {
|
|
255
260
|
onQtyChange: this.onQtyRepeatPickerInput,
|
|
256
261
|
onTypeChange: this.onTypeRepeatPickerInput,
|
|
257
262
|
qtyValue: qtyRepeatPickerInput,
|
|
258
263
|
repeatFrecuencyCustomProps: repeatFrecuencyCustomProps,
|
|
259
264
|
repeatOptions: dropdownRepeatOptions$1,
|
|
260
265
|
repeatOptionsValue: typeRepeatPickerInput
|
|
261
|
-
}), dayOfWeekOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.WEEK && /*#__PURE__*/_jsx__default[
|
|
266
|
+
}), dayOfWeekOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.WEEK && /*#__PURE__*/_jsx__default["default"](DaysOfWeekPicker, {
|
|
262
267
|
active: dayWeekRepeatPickerInput,
|
|
263
268
|
allowMultipleDaysOfWeek: allowMultipleDaysOfWeek,
|
|
264
269
|
onDayChange: this.onDayOfWeekRepeatPickerInput,
|
|
265
270
|
options: dropdownDayOfWeekOptions
|
|
266
|
-
}), dayOfMonthOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.MONTH && /*#__PURE__*/_jsx__default[
|
|
271
|
+
}), dayOfMonthOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.MONTH && /*#__PURE__*/_jsx__default["default"](DayOfMonthPicker, {
|
|
267
272
|
currentDate: startDateInput,
|
|
268
273
|
dayOfMonthAsCurrentDateOptions: dayOfMonthAsCurrentDateOptions,
|
|
269
274
|
dayOfMonthOptions: dropdownDayOfMonthOptions,
|
|
@@ -271,7 +276,7 @@ class DateTimePredefinedRangeSelectorImpl extends React.Component {
|
|
|
271
276
|
displayMonthCustomOption: displayMonthCustomOption,
|
|
272
277
|
displayOptionsAsCurrentDate: displayCurrentMonthYear,
|
|
273
278
|
onDayChange: this.onDayOfMonthRepeatChangeInput
|
|
274
|
-
}), dayOfYearOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.YEAR && /*#__PURE__*/_jsx__default[
|
|
279
|
+
}), dayOfYearOptionsEnable && typeRepeatPickerInput === dropdownRepeatOptions.DropdownRepeatOptionsTypes.YEAR && /*#__PURE__*/_jsx__default["default"](DayOfYearPicker, {
|
|
275
280
|
currentDate: startDateInput,
|
|
276
281
|
dayOfMonthOptions: dropdownDayOfYearOptions,
|
|
277
282
|
dayOfMonthValue: dayOfYearRepeatPickerInput,
|
|
@@ -279,7 +284,7 @@ class DateTimePredefinedRangeSelectorImpl extends React.Component {
|
|
|
279
284
|
displayOptionsAsCurrentDate: displayCurrentMonthYear,
|
|
280
285
|
displayYearCustomOption: displayYearCustomOption,
|
|
281
286
|
onDayChange: this.onDayOfYearRepeatChangeInput
|
|
282
|
-
}), _hr || (_hr = /*#__PURE__*/_jsx__default[
|
|
287
|
+
}), _hr || (_hr = /*#__PURE__*/_jsx__default["default"]("hr", {})), /*#__PURE__*/_jsx__default["default"](EndDate, {
|
|
283
288
|
endDateValue: endDateInput,
|
|
284
289
|
endDayBlocked: endDayBlocked,
|
|
285
290
|
endTimesOptions: endTimesOptions,
|
|
@@ -289,10 +294,10 @@ class DateTimePredefinedRangeSelectorImpl extends React.Component {
|
|
|
289
294
|
onEndDateChange: this.onEndDateChangeInput,
|
|
290
295
|
onEndTimesChange: this.onEndTimesChangeInput,
|
|
291
296
|
onEndTypeChange: this.onEndTypeChangeInput
|
|
292
|
-
}), /*#__PURE__*/_jsx__default[
|
|
297
|
+
}), /*#__PURE__*/_jsx__default["default"](DSModal__default["default"], {
|
|
293
298
|
className: "datetime-alert-modal",
|
|
294
299
|
isOpen: alertModal,
|
|
295
|
-
modalTitle:
|
|
300
|
+
modalTitle: "Some months have fewer than ".concat(alertReplace, " days") // modalType={modalType}
|
|
296
301
|
,
|
|
297
302
|
onClose: () => this.setState({
|
|
298
303
|
alertModal: false
|
|
@@ -300,7 +305,7 @@ class DateTimePredefinedRangeSelectorImpl extends React.Component {
|
|
|
300
305
|
onConfirm: () => this.setState({
|
|
301
306
|
alertModal: false
|
|
302
307
|
})
|
|
303
|
-
}, void 0, _p || (_p = /*#__PURE__*/_jsx__default[
|
|
308
|
+
}, void 0, _p || (_p = /*#__PURE__*/_jsx__default["default"]("p", {}, void 0, "For these months, the occurrence will fall on the last day of the month."))), validationMessage && /*#__PURE__*/_jsx__default["default"](ValidationMessage, {
|
|
304
309
|
validationMessage: validationMessage
|
|
305
310
|
}));
|
|
306
311
|
}
|