@activecollab/components 2.0.212 → 2.0.213
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/dist/cjs/components/DatePicker/DatePicker.js +678 -301
- package/dist/cjs/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/cjs/components/DatePicker/Styles.js +91 -37
- package/dist/cjs/components/DatePicker/Styles.js.map +1 -1
- package/dist/cjs/components/DatePicker/index.js +0 -11
- package/dist/cjs/components/DatePicker/index.js.map +1 -1
- package/dist/cjs/components/SelectDate/SelectDate.js +126 -280
- package/dist/cjs/components/SelectDate/SelectDate.js.map +1 -1
- package/dist/cjs/components/SelectDate/index.js +0 -11
- package/dist/cjs/components/SelectDate/index.js.map +1 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepper.js +94 -100
- package/dist/cjs/components/Steppers/DateStepper/DateStepper.js.map +1 -1
- package/dist/cjs/components/Steppers/DateStepper/index.js +0 -11
- package/dist/cjs/components/Steppers/DateStepper/index.js.map +1 -1
- package/dist/cjs/components/index.js +0 -11
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.d.ts +64 -26
- package/dist/esm/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/DatePicker.js +619 -278
- package/dist/esm/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/DatePicker/Styles.d.ts +21 -9
- package/dist/esm/components/DatePicker/Styles.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/Styles.js +89 -30
- package/dist/esm/components/DatePicker/Styles.js.map +1 -1
- package/dist/esm/components/DatePicker/index.d.ts +0 -1
- package/dist/esm/components/DatePicker/index.d.ts.map +1 -1
- package/dist/esm/components/DatePicker/index.js +0 -1
- package/dist/esm/components/DatePicker/index.js.map +1 -1
- package/dist/esm/components/SelectDate/SelectDate.d.ts +20 -19
- package/dist/esm/components/SelectDate/SelectDate.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/SelectDate.js +124 -246
- package/dist/esm/components/SelectDate/SelectDate.js.map +1 -1
- package/dist/esm/components/SelectDate/index.d.ts +0 -1
- package/dist/esm/components/SelectDate/index.d.ts.map +1 -1
- package/dist/esm/components/SelectDate/index.js +0 -1
- package/dist/esm/components/SelectDate/index.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepper.d.ts +10 -7
- package/dist/esm/components/Steppers/DateStepper/DateStepper.d.ts.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepper.js +88 -97
- package/dist/esm/components/Steppers/DateStepper/DateStepper.js.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/index.d.ts +0 -1
- package/dist/esm/components/Steppers/DateStepper/index.d.ts.map +1 -1
- package/dist/esm/components/Steppers/DateStepper/index.js +0 -1
- package/dist/esm/components/Steppers/DateStepper/index.js.map +1 -1
- package/dist/esm/components/index.d.ts +0 -1
- package/dist/esm/components/index.d.ts.map +1 -1
- package/dist/esm/components/index.js +0 -1
- package/dist/esm/components/index.js.map +1 -1
- package/dist/index.js +214 -1563
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -3
- package/dist/cjs/components/DatePicker/CustomNavBarElement.js +0 -41
- package/dist/cjs/components/DatePicker/CustomNavBarElement.js.map +0 -1
- package/dist/cjs/components/DatePicker/DatePickerV2.js +0 -734
- package/dist/cjs/components/DatePicker/DatePickerV2.js.map +0 -1
- package/dist/cjs/components/DatePicker/StylesV2.js +0 -100
- package/dist/cjs/components/DatePicker/StylesV2.js.map +0 -1
- package/dist/cjs/components/Pickers/NavBarElement.js +0 -52
- package/dist/cjs/components/Pickers/NavBarElement.js.map +0 -1
- package/dist/cjs/components/Pickers/Styles.js +0 -76
- package/dist/cjs/components/Pickers/Styles.js.map +0 -1
- package/dist/cjs/components/Pickers/YearMonthPicker.js +0 -80
- package/dist/cjs/components/Pickers/YearMonthPicker.js.map +0 -1
- package/dist/cjs/components/Pickers/index.js +0 -28
- package/dist/cjs/components/Pickers/index.js.map +0 -1
- package/dist/cjs/components/SelectDate/DatePickerForm.js +0 -94
- package/dist/cjs/components/SelectDate/DatePickerForm.js.map +0 -1
- package/dist/cjs/components/SelectDate/SelectDateV2.js +0 -263
- package/dist/cjs/components/SelectDate/SelectDateV2.js.map +0 -1
- package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js +0 -276
- package/dist/cjs/components/Steppers/DateStepper/DateStepperV2.js.map +0 -1
- package/dist/esm/components/DatePicker/CustomNavBarElement.d.ts +0 -12
- package/dist/esm/components/DatePicker/CustomNavBarElement.d.ts.map +0 -1
- package/dist/esm/components/DatePicker/CustomNavBarElement.js +0 -34
- package/dist/esm/components/DatePicker/CustomNavBarElement.js.map +0 -1
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts +0 -68
- package/dist/esm/components/DatePicker/DatePickerV2.d.ts.map +0 -1
- package/dist/esm/components/DatePicker/DatePickerV2.js +0 -649
- package/dist/esm/components/DatePicker/DatePickerV2.js.map +0 -1
- package/dist/esm/components/DatePicker/StylesV2.d.ts +0 -22
- package/dist/esm/components/DatePicker/StylesV2.d.ts.map +0 -1
- package/dist/esm/components/DatePicker/StylesV2.js +0 -93
- package/dist/esm/components/DatePicker/StylesV2.js.map +0 -1
- package/dist/esm/components/Pickers/NavBarElement.d.ts +0 -9
- package/dist/esm/components/Pickers/NavBarElement.d.ts.map +0 -1
- package/dist/esm/components/Pickers/NavBarElement.js +0 -45
- package/dist/esm/components/Pickers/NavBarElement.js.map +0 -1
- package/dist/esm/components/Pickers/Styles.d.ts +0 -18
- package/dist/esm/components/Pickers/Styles.d.ts.map +0 -1
- package/dist/esm/components/Pickers/Styles.js +0 -56
- package/dist/esm/components/Pickers/Styles.js.map +0 -1
- package/dist/esm/components/Pickers/YearMonthPicker.d.ts +0 -17
- package/dist/esm/components/Pickers/YearMonthPicker.d.ts.map +0 -1
- package/dist/esm/components/Pickers/YearMonthPicker.js +0 -59
- package/dist/esm/components/Pickers/YearMonthPicker.js.map +0 -1
- package/dist/esm/components/Pickers/index.d.ts +0 -3
- package/dist/esm/components/Pickers/index.d.ts.map +0 -1
- package/dist/esm/components/Pickers/index.js +0 -3
- package/dist/esm/components/Pickers/index.js.map +0 -1
- package/dist/esm/components/SelectDate/DatePickerForm.d.ts +0 -39
- package/dist/esm/components/SelectDate/DatePickerForm.d.ts.map +0 -1
- package/dist/esm/components/SelectDate/DatePickerForm.js +0 -80
- package/dist/esm/components/SelectDate/DatePickerForm.js.map +0 -1
- package/dist/esm/components/SelectDate/SelectDateV2.d.ts +0 -102
- package/dist/esm/components/SelectDate/SelectDateV2.d.ts.map +0 -1
- package/dist/esm/components/SelectDate/SelectDateV2.js +0 -223
- package/dist/esm/components/SelectDate/SelectDateV2.js.map +0 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts +0 -45
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.d.ts.map +0 -1
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js +0 -241
- package/dist/esm/components/Steppers/DateStepper/DateStepperV2.js.map +0 -1
|
@@ -6,33 +6,32 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.SelectDate = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
9
|
-
var
|
|
10
|
-
var _DatePickerForm = require("./DatePickerForm");
|
|
9
|
+
var _momentTimezone = _interopRequireDefault(require("moment-timezone"));
|
|
11
10
|
var _SelectDateTarget = require("./SelectDateTarget");
|
|
12
11
|
var _Styles = require("./Styles");
|
|
13
12
|
var _dateUtils = require("../../utils/dateUtils");
|
|
14
|
-
var
|
|
15
|
-
var _Menu = require("../Menu/Menu");
|
|
16
|
-
var _Tooltip = require("../Tooltip/Tooltip");
|
|
13
|
+
var _DatePicker = require("../DatePicker/DatePicker");
|
|
17
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
18
15
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
19
16
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
20
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
21
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
24
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
25
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
26
|
-
var getUtcTimestampFromDate = function getUtcTimestampFromDate(date) {
|
|
27
|
-
return _moment.default.utc([date.getFullYear(), date.getMonth(), date.getDate()]).unix();
|
|
28
|
-
};
|
|
29
17
|
var isDayInRange = function isDayInRange(day, data) {
|
|
18
|
+
var fromMoment = _momentTimezone.default.unix(data.from).utc();
|
|
19
|
+
var toMoment = _momentTimezone.default.unix(data.to).utc();
|
|
30
20
|
if (data.repeating) {
|
|
31
|
-
var
|
|
32
|
-
var
|
|
33
|
-
|
|
21
|
+
var year = day.year();
|
|
22
|
+
var from = _momentTimezone.default.utc({
|
|
23
|
+
year,
|
|
24
|
+
month: fromMoment.month(),
|
|
25
|
+
date: fromMoment.date()
|
|
26
|
+
});
|
|
27
|
+
var to = _momentTimezone.default.utc({
|
|
28
|
+
year,
|
|
29
|
+
month: toMoment.month(),
|
|
30
|
+
date: toMoment.date()
|
|
31
|
+
});
|
|
32
|
+
return day.isSameOrAfter(from, "day") && day.isSameOrBefore(to, "day");
|
|
34
33
|
}
|
|
35
|
-
return day
|
|
34
|
+
return day.isSameOrAfter(fromMoment, "day") && day.isSameOrBefore(toMoment, "day");
|
|
36
35
|
};
|
|
37
36
|
var SelectDate = exports.SelectDate = function SelectDate(_ref) {
|
|
38
37
|
var _ref$changeMode = _ref.changeMode,
|
|
@@ -59,8 +58,6 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
|
|
|
59
58
|
onToggleDatePicker = _ref.onToggleDatePicker,
|
|
60
59
|
_ref$required = _ref.required,
|
|
61
60
|
dateRequired = _ref$required === void 0 ? false : _ref$required,
|
|
62
|
-
_ref$defaultTimezoneA = _ref.defaultTimezoneAware,
|
|
63
|
-
defaultTimezoneAware = _ref$defaultTimezoneA === void 0 ? false : _ref$defaultTimezoneA,
|
|
64
61
|
_ref$longDateFormat = _ref.longDateFormat,
|
|
65
62
|
longDateFormat = _ref$longDateFormat === void 0 ? false : _ref$longDateFormat,
|
|
66
63
|
_ref$defaultShowDateP = _ref.defaultShowDatePicker,
|
|
@@ -78,7 +75,7 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
|
|
|
78
75
|
targetTextClassName = _ref.targetTextClassName,
|
|
79
76
|
targetIconClassName = _ref.targetIconClassName,
|
|
80
77
|
backgroundElementClass = _ref.backgroundElementClass,
|
|
81
|
-
|
|
78
|
+
dateFormat = _ref.dateFormat,
|
|
82
79
|
defaultMonth = _ref.defaultMonth,
|
|
83
80
|
_ref$daysToModify = _ref.daysToModify,
|
|
84
81
|
daysToModify = _ref$daysToModify === void 0 ? [] : _ref$daysToModify,
|
|
@@ -87,7 +84,7 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
|
|
|
87
84
|
_ref$weekendLabel = _ref.weekendLabel,
|
|
88
85
|
weekendLabel = _ref$weekendLabel === void 0 ? "Weekend" : _ref$weekendLabel,
|
|
89
86
|
_ref$nonWorkingDaysOf = _ref.nonWorkingDaysOfWeek,
|
|
90
|
-
|
|
87
|
+
_nonWorkingDaysOfWeek = _ref$nonWorkingDaysOf === void 0 ? [] : _ref$nonWorkingDaysOf,
|
|
91
88
|
_ref$nonWorkingDaysOf2 = _ref.nonWorkingDaysOfWeekLabel,
|
|
92
89
|
nonWorkingDaysOfWeekLabel = _ref$nonWorkingDaysOf2 === void 0 ? "Unavailable" : _ref$nonWorkingDaysOf2,
|
|
93
90
|
_ref$weekendIsSelecta = _ref.weekendIsSelectable,
|
|
@@ -97,159 +94,28 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
|
|
|
97
94
|
popperClassName = _ref.popperClassName,
|
|
98
95
|
popperTooltipStyle = _ref.popperTooltipStyle,
|
|
99
96
|
position = _ref.position,
|
|
100
|
-
disableDaysBefore = _ref.disableDaysBefore
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
var localization = (0, _Localization.useLocalization)();
|
|
106
|
-
var dateFormat = passedDateFormat ? passedDateFormat : localization.dateFormat;
|
|
97
|
+
disableDaysBefore = _ref.disableDaysBefore,
|
|
98
|
+
enableYearPicker = _ref.enableYearPicker,
|
|
99
|
+
disableAnimations = _ref.disableAnimations,
|
|
100
|
+
disabledDaysAfter = _ref.disabledDaysAfter,
|
|
101
|
+
onChange = _ref.onChange;
|
|
107
102
|
var labelText = (0, _react.useMemo)(function () {
|
|
108
103
|
if (!selectedDays) {
|
|
109
104
|
return defaultLabelText;
|
|
105
|
+
} else if (!selectedDays.from && !selectedDays.to) {
|
|
106
|
+
return defaultLabelText;
|
|
110
107
|
} else {
|
|
111
|
-
var
|
|
112
|
-
var
|
|
113
|
-
|
|
114
|
-
var formattedStartDate = (0, _dateUtils.formatDate)(startDate, dateFormat, longDateFormat);
|
|
115
|
-
if (selectedDays.from === selectedDays.to) {
|
|
108
|
+
var formattedEndDate = selectedDays.to ? (0, _dateUtils.formatDate)((0, _DatePicker.toMoment)(selectedDays.to), dateFormat, longDateFormat) : "";
|
|
109
|
+
var formattedStartDate = selectedDays.from ? (0, _dateUtils.formatDate)((0, _DatePicker.toMoment)(selectedDays === null || selectedDays === void 0 ? void 0 : selectedDays.from), dateFormat, longDateFormat) : "";
|
|
110
|
+
if (selectedDays.to && selectedDays.from && (0, _DatePicker.toMoment)(selectedDays.from).isSame((0, _DatePicker.toMoment)(selectedDays.to))) {
|
|
116
111
|
return formattedEndDate;
|
|
117
112
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}, [selectedDays, dateFormat, timezoneAware, defaultLabelText, longDateFormat]);
|
|
121
|
-
var modifiedDates = (0, _react.useMemo)(function () {
|
|
122
|
-
if (typeof selectedDays === "object" && !!selectedDays.from && !!selectedDays.to) {
|
|
123
|
-
if (timezoneAware) {
|
|
124
|
-
return {
|
|
125
|
-
from: _moment.default.unix(selectedDays.from).toDate(),
|
|
126
|
-
to: _moment.default.unix(selectedDays.to).toDate()
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
var offsetFrom = _moment.default.unix(selectedDays.from).utcOffset() * 60;
|
|
130
|
-
var offsetTo = _moment.default.unix(selectedDays.to).utcOffset() * 60;
|
|
131
|
-
return {
|
|
132
|
-
from: new Date((selectedDays.from - offsetFrom) * 1000),
|
|
133
|
-
to: new Date((selectedDays.to - offsetTo) * 1000)
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
}, [selectedDays, timezoneAware]);
|
|
137
|
-
var handleModifiedSave = (0, _react.useCallback)(function (selectedDates) {
|
|
138
|
-
setTimezoneAware(false);
|
|
139
|
-
if (typeof onSave === "function") {
|
|
140
|
-
if (typeof selectedDates === "object" && Object.prototype.hasOwnProperty.call(selectedDates, "from") && Object.prototype.hasOwnProperty.call(selectedDates, "to")) {
|
|
141
|
-
onSave({
|
|
142
|
-
from: getUtcTimestampFromDate(selectedDates.from),
|
|
143
|
-
to: getUtcTimestampFromDate(selectedDates.to)
|
|
144
|
-
});
|
|
145
|
-
} else {
|
|
146
|
-
onSave(undefined);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}, [onSave]);
|
|
150
|
-
var getDefaultMonth = (0, _react.useCallback)(function () {
|
|
151
|
-
var date = new Date();
|
|
152
|
-
if (typeof selectedDays === "object" && !!selectedDays.from) {
|
|
153
|
-
date = timezoneAware ? new Date(selectedDays.from * 1000) : new Date((selectedDays.from - _moment.default.unix(selectedDays.from).utcOffset() * 60) * 1000);
|
|
154
|
-
} else if (defaultMonth) {
|
|
155
|
-
date = defaultMonth;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
// forcing second day in month
|
|
159
|
-
return new Date(date.getFullYear(), date.getMonth(), 2);
|
|
160
|
-
}, [defaultMonth, selectedDays, timezoneAware]);
|
|
161
|
-
var _useState3 = (0, _react.useState)(getDefaultMonth),
|
|
162
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
163
|
-
month = _useState4[0],
|
|
164
|
-
setMonth = _useState4[1];
|
|
165
|
-
var handleMonthChange = (0, _react.useCallback)(function (month) {
|
|
166
|
-
setMonth(month);
|
|
167
|
-
}, [setMonth]);
|
|
168
|
-
var _useState5 = (0, _react.useState)(modifiedDates),
|
|
169
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
|
170
|
-
newDates = _useState6[0],
|
|
171
|
-
setNewDates = _useState6[1];
|
|
172
|
-
var _useState7 = (0, _react.useState)(false),
|
|
173
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
|
174
|
-
showDiscardModal = _useState8[0],
|
|
175
|
-
setShowDiscardModal = _useState8[1];
|
|
176
|
-
var _useState9 = (0, _react.useState)(defaultShowDatePicker),
|
|
177
|
-
_useState10 = _slicedToArray(_useState9, 2),
|
|
178
|
-
showDatePicker = _useState10[0],
|
|
179
|
-
setShowDatePicker = _useState10[1];
|
|
180
|
-
var disabledSaveButton = (0, _react.useMemo)(function () {
|
|
181
|
-
return (modifiedDates === null || modifiedDates === void 0 ? void 0 : modifiedDates.from) === (newDates === null || newDates === void 0 ? void 0 : newDates.from) && (modifiedDates === null || modifiedDates === void 0 ? void 0 : modifiedDates.to) === (newDates === null || newDates === void 0 ? void 0 : newDates.to);
|
|
182
|
-
}, [modifiedDates, newDates]);
|
|
183
|
-
(0, _react.useEffect)(function () {
|
|
184
|
-
setShowDatePicker(defaultShowDatePicker);
|
|
185
|
-
}, [defaultShowDatePicker]);
|
|
186
|
-
(0, _react.useEffect)(function () {
|
|
187
|
-
setNewDates(modifiedDates);
|
|
188
|
-
}, [modifiedDates]);
|
|
189
|
-
(0, _react.useEffect)(function () {
|
|
190
|
-
typeof onToggleDatePicker === "function" && onToggleDatePicker(showDatePicker);
|
|
191
|
-
}, [showDatePicker, onToggleDatePicker]);
|
|
192
|
-
(0, _react.useEffect)(function () {
|
|
193
|
-
if (!showDatePicker) {
|
|
194
|
-
setMonth(getDefaultMonth());
|
|
195
|
-
}
|
|
196
|
-
}, [showDatePicker, getDefaultMonth]);
|
|
197
|
-
var handleSave = (0, _react.useCallback)(function () {
|
|
198
|
-
handleModifiedSave(newDates);
|
|
199
|
-
setShowDatePicker(false);
|
|
200
|
-
}, [newDates, handleModifiedSave]);
|
|
201
|
-
var handleChange = (0, _react.useCallback)(function (dates) {
|
|
202
|
-
if (mode !== "atomic") {
|
|
203
|
-
handleModifiedSave(dates);
|
|
204
|
-
}
|
|
205
|
-
setNewDates(dates);
|
|
206
|
-
}, [mode, handleModifiedSave]);
|
|
207
|
-
var handleBeforeCloseMenu = (0, _react.useCallback)(function () {
|
|
208
|
-
var result = true;
|
|
209
|
-
if (modifiedDates && !newDates || !modifiedDates && newDates) {
|
|
210
|
-
result = false;
|
|
211
|
-
}
|
|
212
|
-
var selectedDaysFrom = modifiedDates === null || modifiedDates === void 0 ? void 0 : modifiedDates.from;
|
|
213
|
-
var selectedDaysTo = modifiedDates === null || modifiedDates === void 0 ? void 0 : modifiedDates.to;
|
|
214
|
-
var newDatesFrom = newDates === null || newDates === void 0 ? void 0 : newDates.from;
|
|
215
|
-
var newDatesTo = newDates === null || newDates === void 0 ? void 0 : newDates.to;
|
|
216
|
-
if (selectedDaysFrom && newDatesFrom && selectedDaysTo && newDatesTo && ((0, _moment.default)(selectedDaysFrom).format("DD-MM-YYYY") !== (0, _moment.default)(newDatesFrom).format("DD-MM-YYYY") || (0, _moment.default)(selectedDaysTo).format("DD-MM-YYYY") !== (0, _moment.default)(newDatesTo).format("DD-MM-YYYY"))) {
|
|
217
|
-
result = false;
|
|
218
|
-
}
|
|
219
|
-
if (!result) {
|
|
220
|
-
setShowDiscardModal(true);
|
|
221
|
-
}
|
|
222
|
-
return result;
|
|
223
|
-
}, [modifiedDates, newDates]);
|
|
224
|
-
var handleClose = (0, _react.useCallback)(function () {
|
|
225
|
-
if (mode !== "atomic" || handleBeforeCloseMenu()) {
|
|
226
|
-
typeof onCancel === "function" && onCancel();
|
|
227
|
-
setShowDatePicker(false);
|
|
228
|
-
}
|
|
229
|
-
}, [mode, onCancel, handleBeforeCloseMenu]);
|
|
230
|
-
var handleCancel = (0, _react.useCallback)(function (event) {
|
|
231
|
-
event && event.preventDefault();
|
|
232
|
-
return handleClose();
|
|
233
|
-
}, [handleClose]);
|
|
234
|
-
var handleShowDatePicker = (0, _react.useCallback)(function () {
|
|
235
|
-
setShowDatePicker(!showDatePicker);
|
|
236
|
-
}, [showDatePicker]);
|
|
237
|
-
var handleCloseDiscardModal = (0, _react.useCallback)(function () {
|
|
238
|
-
setShowDiscardModal(false);
|
|
239
|
-
}, []);
|
|
240
|
-
var handleClear = (0, _react.useCallback)(function () {
|
|
241
|
-
if (!dateRequired) {
|
|
242
|
-
setNewDates(undefined);
|
|
243
|
-
if (mode === "instant") {
|
|
244
|
-
handleModifiedSave(undefined);
|
|
113
|
+
if (!selectedDays.to && selectedDays.from) {
|
|
114
|
+
return formattedStartDate;
|
|
245
115
|
}
|
|
116
|
+
return "".concat(formattedStartDate, " - ").concat(formattedEndDate);
|
|
246
117
|
}
|
|
247
|
-
}, [
|
|
248
|
-
var handleSaveDiscardModal = (0, _react.useCallback)(function () {
|
|
249
|
-
setNewDates(modifiedDates);
|
|
250
|
-
setShowDiscardModal(false);
|
|
251
|
-
setShowDatePicker(false);
|
|
252
|
-
}, [modifiedDates]);
|
|
118
|
+
}, [selectedDays, dateFormat, defaultLabelText, longDateFormat]);
|
|
253
119
|
var modifiers = (0, _react.useMemo)(function () {
|
|
254
120
|
var userAvailabilities = daysToModify.filter(function (data) {
|
|
255
121
|
return data.type === "user_day_off";
|
|
@@ -262,122 +128,63 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
|
|
|
262
128
|
});
|
|
263
129
|
return {
|
|
264
130
|
userAvailability: function userAvailability(day) {
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
return userAvailabilities.some(function (data) {
|
|
268
|
-
return isDayInRange(currentDay, data);
|
|
131
|
+
var matchedData = userAvailabilities.find(function (data) {
|
|
132
|
+
return isDayInRange(day, data);
|
|
269
133
|
});
|
|
134
|
+
return {
|
|
135
|
+
matched: !!matchedData,
|
|
136
|
+
title: matchedData ? matchedData.title : null
|
|
137
|
+
};
|
|
270
138
|
},
|
|
271
139
|
weekend: function weekend(day) {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
140
|
+
var isWeekend = weekends.includes(day.day());
|
|
141
|
+
return {
|
|
142
|
+
matched: isWeekend,
|
|
143
|
+
title: isWeekend ? weekendLabel : null
|
|
144
|
+
};
|
|
275
145
|
},
|
|
276
146
|
nonWorkingDay: function nonWorkingDay(day) {
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
147
|
+
if (weekends.includes(day.day())) {
|
|
148
|
+
return {
|
|
149
|
+
matched: true,
|
|
150
|
+
title: ""
|
|
151
|
+
};
|
|
282
152
|
}
|
|
283
153
|
var nonWorkingDays = [...selectableGlobalDaysOff, ...globalDaysOff];
|
|
284
|
-
var
|
|
285
|
-
|
|
286
|
-
return isDayInRange(currentDay, data);
|
|
154
|
+
var matchedData = nonWorkingDays.find(function (data) {
|
|
155
|
+
return isDayInRange(day, data);
|
|
287
156
|
});
|
|
157
|
+
return {
|
|
158
|
+
matched: !!matchedData,
|
|
159
|
+
title: matchedData ? matchedData.title : null
|
|
160
|
+
};
|
|
161
|
+
},
|
|
162
|
+
nonWorkingDaysOfWeek: function nonWorkingDaysOfWeek(day) {
|
|
163
|
+
var isNonWorkingDay = _nonWorkingDaysOfWeek.includes(day.day());
|
|
164
|
+
return {
|
|
165
|
+
matched: isNonWorkingDay,
|
|
166
|
+
title: isNonWorkingDay ? nonWorkingDaysOfWeekLabel : null
|
|
167
|
+
};
|
|
288
168
|
},
|
|
289
169
|
day_disabled: function day_disabled(day) {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
return true;
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
// return true if day is weekend day
|
|
296
|
-
if (!weekendIsSelectable && weekends.some(function (value) {
|
|
297
|
-
return value === day.getDay();
|
|
298
|
-
})) {
|
|
299
|
-
return true;
|
|
300
|
-
}
|
|
301
|
-
// construct new date because react-day-picker returns date with hours set
|
|
302
|
-
var currentDay = new Date(day.getFullYear(), day.getMonth(), day.getDate());
|
|
303
|
-
return globalDaysOff.some(function (data) {
|
|
304
|
-
return isDayInRange(currentDay, data);
|
|
170
|
+
var globalDayOff = globalDaysOff.find(function (data) {
|
|
171
|
+
return isDayInRange(day, data);
|
|
305
172
|
});
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
173
|
+
return {
|
|
174
|
+
matched: !!globalDayOff,
|
|
175
|
+
title: null
|
|
176
|
+
};
|
|
309
177
|
}
|
|
310
178
|
};
|
|
311
|
-
}, [daysToModify,
|
|
312
|
-
var renderDay = (0, _react.useCallback)(function (props) {
|
|
313
|
-
var titles = [];
|
|
314
|
-
if (weekends.some(function (value) {
|
|
315
|
-
return props.date.getDay() === value;
|
|
316
|
-
})) {
|
|
317
|
-
titles.push(weekendLabel);
|
|
318
|
-
}
|
|
319
|
-
if (nonWorkingDaysOfWeek.includes(props.date.getDay())) {
|
|
320
|
-
titles.push(nonWorkingDaysOfWeekLabel);
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
// construct new date because react-day-picker returns date with hours set
|
|
324
|
-
var currentDay = new Date(props.date.getFullYear(), props.date.getMonth(), props.date.getDate());
|
|
325
|
-
daysToModify.forEach(function (data) {
|
|
326
|
-
if (isDayInRange(currentDay, data)) {
|
|
327
|
-
titles.push(data.title);
|
|
328
|
-
}
|
|
329
|
-
});
|
|
330
|
-
var child = /*#__PURE__*/_react.default.createElement("div", {
|
|
331
|
-
className: "c-DayPicker-Day-Number"
|
|
332
|
-
}, props.date.getDate());
|
|
333
|
-
if (titles.length) {
|
|
334
|
-
var title = /*#__PURE__*/_react.default.createElement("div", {
|
|
335
|
-
key: "title-wrapper-".concat(props.date.getDate())
|
|
336
|
-
}, titles.map(function (title, index) {
|
|
337
|
-
return /*#__PURE__*/_react.default.createElement("div", {
|
|
338
|
-
key: "title-text-".concat(index)
|
|
339
|
-
}, title);
|
|
340
|
-
}));
|
|
341
|
-
return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
|
|
342
|
-
title: title,
|
|
343
|
-
popperTooltipClassName: popperTooltipClassName,
|
|
344
|
-
popperTooltipStyle: popperTooltipStyle
|
|
345
|
-
}, child);
|
|
346
|
-
}
|
|
347
|
-
return child;
|
|
348
|
-
}, [weekends, nonWorkingDaysOfWeek, daysToModify, weekendLabel, nonWorkingDaysOfWeekLabel, popperTooltipClassName, popperTooltipStyle]);
|
|
349
|
-
var renderDatePickerForm = (0, _react.useCallback)(function () {
|
|
350
|
-
return /*#__PURE__*/_react.default.createElement(_DatePickerForm.DatePickerForm, {
|
|
351
|
-
onMonthChange: handleMonthChange,
|
|
352
|
-
month: month,
|
|
353
|
-
mode: mode,
|
|
354
|
-
selectionMode: selectionMode,
|
|
355
|
-
dateRequired: dateRequired,
|
|
356
|
-
selectedDays: newDates,
|
|
357
|
-
firstDayOfWeek: firstDayOfWeek,
|
|
358
|
-
saveButtonText: saveButtonText,
|
|
359
|
-
cancelButtonText: cancelButtonText,
|
|
360
|
-
clearButtonText: clearButtonText,
|
|
361
|
-
onDayClick: onDayClick,
|
|
362
|
-
onSave: handleSave,
|
|
363
|
-
onChange: handleChange,
|
|
364
|
-
onCancel: handleCancel,
|
|
365
|
-
onClear: handleClear,
|
|
366
|
-
disabledSaveButton: disabledSaveButton,
|
|
367
|
-
modifiers: modifiers,
|
|
368
|
-
renderDay: renderDay
|
|
369
|
-
});
|
|
370
|
-
}, [handleMonthChange, month, mode, selectionMode, dateRequired, newDates, firstDayOfWeek, saveButtonText, cancelButtonText, clearButtonText, onDayClick, handleSave, handleChange, handleCancel, handleClear, disabledSaveButton, modifiers, renderDay]);
|
|
179
|
+
}, [daysToModify, _nonWorkingDaysOfWeek, nonWorkingDaysOfWeekLabel, weekendLabel, weekends]);
|
|
371
180
|
var renderTargetEl = (0, _react.useMemo)(function () {
|
|
372
181
|
if (labelType === "icon" && icon) {
|
|
373
182
|
return /*#__PURE__*/_react.default.createElement(_SelectDateTarget.SelectDateTarget, {
|
|
374
183
|
icon: icon,
|
|
375
184
|
title: tooltipText,
|
|
376
185
|
targetIconClassName: targetIconClassName,
|
|
377
|
-
forceHideTooltip: showDatePicker,
|
|
378
186
|
popperTooltipClassName: popperTooltipClassName,
|
|
379
|
-
popperTooltipStyle: popperTooltipStyle
|
|
380
|
-
active: showDatePicker
|
|
187
|
+
popperTooltipStyle: popperTooltipStyle
|
|
381
188
|
});
|
|
382
189
|
}
|
|
383
190
|
if (typeof labelType === "function") {
|
|
@@ -389,29 +196,68 @@ var SelectDate = exports.SelectDate = function SelectDate(_ref) {
|
|
|
389
196
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
390
197
|
className: targetTextClassName
|
|
391
198
|
}, labelText));
|
|
392
|
-
}, [icon, labelText, labelType, popperTooltipClassName, popperTooltipStyle,
|
|
199
|
+
}, [icon, labelText, labelType, popperTooltipClassName, popperTooltipStyle, targetClassName, targetIconClassName, targetTextClassName, tooltipText]);
|
|
393
200
|
return /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectDate, {
|
|
394
201
|
className: "select-date"
|
|
395
|
-
}, labelType !== "inline" ? /*#__PURE__*/_react.default.createElement(
|
|
202
|
+
}, labelType !== "inline" ? /*#__PURE__*/_react.default.createElement(_DatePicker.DatePicker, {
|
|
396
203
|
target: renderTargetEl,
|
|
397
|
-
open: showDatePicker,
|
|
398
|
-
onOpen: handleShowDatePicker,
|
|
399
|
-
onBeforeClose: handleBeforeCloseMenu,
|
|
400
|
-
onClose: handleClose,
|
|
401
204
|
position: position,
|
|
402
205
|
menuClassName: menuClassName,
|
|
403
206
|
popperClassName: popperClassName,
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
207
|
+
month: defaultMonth,
|
|
208
|
+
instant: mode === "instant",
|
|
209
|
+
mode: selectionMode,
|
|
210
|
+
required: dateRequired,
|
|
211
|
+
selected: selectedDays,
|
|
212
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
213
|
+
saveLabel: saveButtonText,
|
|
214
|
+
cancelLabel: cancelButtonText,
|
|
215
|
+
clearLabel: clearButtonText,
|
|
216
|
+
onSave: onSave,
|
|
217
|
+
onChange: onChange,
|
|
218
|
+
onClose: onCancel,
|
|
219
|
+
modifiers: modifiers,
|
|
220
|
+
modalHeaderText: modalHeaderText,
|
|
221
|
+
modalDiscardMessage: modalDiscardMessage,
|
|
222
|
+
modalDiscardBtnText: modalDiscardBtnText,
|
|
223
|
+
modalCancelBtnText: modalCancelBtnText,
|
|
224
|
+
disabledDaysBefore: disableDaysBefore,
|
|
225
|
+
disabledDaysAfter: disabledDaysAfter,
|
|
226
|
+
backgroundElementClass: backgroundElementClass,
|
|
227
|
+
disabled: weekendIsSelectable ? [] : weekends,
|
|
228
|
+
popperTooltipClassName: popperTooltipClassName,
|
|
229
|
+
popperTooltipStyle: popperTooltipStyle,
|
|
230
|
+
open: defaultShowDatePicker,
|
|
231
|
+
onCalendarToggle: onToggleDatePicker,
|
|
232
|
+
onDayClick: onDayClick,
|
|
233
|
+
enableConfirmModal: mode === "atomic" && !dateRequired,
|
|
234
|
+
disableYearPicker: !enableYearPicker,
|
|
235
|
+
disableAnimations: disableAnimations,
|
|
236
|
+
showControls: true
|
|
237
|
+
}) : /*#__PURE__*/_react.default.createElement(_DatePicker.DatePicker, {
|
|
238
|
+
month: defaultMonth,
|
|
239
|
+
instant: mode === "instant",
|
|
240
|
+
mode: selectionMode,
|
|
241
|
+
required: dateRequired,
|
|
242
|
+
selected: selectedDays,
|
|
243
|
+
firstDayOfWeek: firstDayOfWeek,
|
|
244
|
+
saveLabel: saveButtonText,
|
|
245
|
+
cancelLabel: cancelButtonText,
|
|
246
|
+
clearLabel: clearButtonText,
|
|
247
|
+
disabledDaysBefore: disableDaysBefore,
|
|
248
|
+
disabledDaysAfter: disabledDaysAfter,
|
|
249
|
+
popperTooltipClassName: popperTooltipClassName,
|
|
250
|
+
popperTooltipStyle: popperTooltipStyle,
|
|
251
|
+
disabled: weekendIsSelectable ? [] : weekends,
|
|
252
|
+
onSave: onSave,
|
|
253
|
+
onChange: onChange,
|
|
254
|
+
modifiers: modifiers,
|
|
255
|
+
onDayClick: onDayClick,
|
|
256
|
+
disableYearPicker: !enableYearPicker,
|
|
257
|
+
disableAnimations: disableAnimations,
|
|
258
|
+
showControls: true,
|
|
259
|
+
open: true
|
|
260
|
+
}));
|
|
415
261
|
};
|
|
416
262
|
SelectDate.displayName = "SelectDate";
|
|
417
263
|
//# sourceMappingURL=SelectDate.js.map
|