myrta-ui 17.2.0 → 17.2.2
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/esm2022/lib/components/form/input-date-time/helpers/cursor-position.mjs +24 -19
- package/esm2022/lib/components/form/input-date-time/helpers/formatting-from-models.mjs +11 -3
- package/esm2022/lib/components/form/input-date-time/helpers/validate-value-models.mjs +64 -33
- package/esm2022/lib/components/form/input-date-time/helpers/value-parser.mjs +39 -18
- package/esm2022/lib/components/form/input-date-time/input-date-time.component.mjs +121 -49
- package/esm2022/lib/components/form/input-date-time/models/input-date-time.model.mjs +1 -1
- package/fesm2022/myrta-ui.mjs +244 -137
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/form/input-date-time/helpers/cursor-position.d.ts +4 -1
- package/lib/components/form/input-date-time/helpers/validate-value-models.d.ts +5 -5
- package/lib/components/form/input-date-time/helpers/value-parser.d.ts +1 -1
- package/lib/components/form/input-date-time/input-date-time.component.d.ts +10 -3
- package/lib/components/form/input-date-time/models/input-date-time.model.d.ts +1 -1
- package/package.json +1 -1
- package/esm2022/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.mjs +0 -37
- package/esm2022/lib/components/gallery/components/gallery-item/gallery-item.component.mjs +0 -115
- package/esm2022/lib/components/gallery/constants/custom-buttons-default.mjs +0 -7
- package/esm2022/lib/components/gallery/constants/thumbs-config-default.mjs +0 -5
- package/esm2022/lib/components/gallery/gallery.component.mjs +0 -203
- package/esm2022/lib/components/gallery/gallery.module.mjs +0 -50
- package/esm2022/lib/components/gallery/models/gallery-item.model.mjs +0 -2
- package/esm2022/lib/components/gallery/services/gallery.service.mjs +0 -33
- package/lib/components/gallery/components/gallery-confirm-modal/gallery-confirm-modal.component.d.ts +0 -20
- package/lib/components/gallery/components/gallery-item/gallery-item.component.d.ts +0 -38
- package/lib/components/gallery/constants/custom-buttons-default.d.ts +0 -3
- package/lib/components/gallery/constants/thumbs-config-default.d.ts +0 -2
- package/lib/components/gallery/gallery.component.d.ts +0 -38
- package/lib/components/gallery/gallery.module.d.ts +0 -15
- package/lib/components/gallery/models/gallery-item.model.d.ts +0 -24
- package/lib/components/gallery/services/gallery.service.d.ts +0 -14
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
export const markPosition = (start, end,
|
|
2
|
-
if (start)
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export const markPosition = (start, end, format = 'DD.MM.YYYY') => {
|
|
2
|
+
if (start === null)
|
|
3
|
+
return { start: 0, end: 0 };
|
|
4
|
+
// Определяем разделитель
|
|
5
|
+
const separator = format.includes('.') ? '.' : (format.includes('-') ? '-' : '');
|
|
6
|
+
const parts = format.split(separator);
|
|
7
|
+
let currentPos = 0;
|
|
8
|
+
for (const part of parts) {
|
|
9
|
+
const partLength = part.length;
|
|
10
|
+
const partEnd = currentPos + partLength;
|
|
11
|
+
// Если курсор находится внутри текущего сегмента (или на его границе)
|
|
12
|
+
if (start <= partEnd) {
|
|
13
|
+
return { start: currentPos, end: partEnd };
|
|
5
14
|
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
return { start:
|
|
14
|
-
}
|
|
15
|
-
else if (start === 15) {
|
|
16
|
-
return { start: 14, end: 16 };
|
|
17
|
-
}
|
|
18
|
-
else {
|
|
19
|
-
return { start, end };
|
|
15
|
+
// Плюсуем длину сегмента и 1 символ разделителя
|
|
16
|
+
currentPos = partEnd + 1;
|
|
17
|
+
}
|
|
18
|
+
// Если есть время (после пробела)
|
|
19
|
+
if (start > format.length) {
|
|
20
|
+
const timeStart = format.length + 1;
|
|
21
|
+
if (start <= timeStart + 2) {
|
|
22
|
+
return { start: timeStart, end: timeStart + 2 }; // Часы
|
|
20
23
|
}
|
|
24
|
+
return { start: timeStart + 3, end: timeStart + 5 }; // Минуты
|
|
21
25
|
}
|
|
26
|
+
return { start: start || 0, end: end || 0 };
|
|
22
27
|
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Vyc29yLXBvc2l0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZGF0ZS10aW1lL2hlbHBlcnMvY3Vyc29yLXBvc2l0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUMxQixLQUFvQixFQUNwQixHQUFrQixFQUNsQixTQUFpQixZQUFZLEVBQ0csRUFBRTtJQUNsQyxJQUFJLEtBQUssS0FBSyxJQUFJO1FBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBRWhELHlCQUF5QjtJQUN6QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqRixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXRDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUVuQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDL0IsTUFBTSxPQUFPLEdBQUcsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUV4QyxzRUFBc0U7UUFDdEUsSUFBSSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7WUFDckIsT0FBTyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzdDLENBQUM7UUFFRCxnREFBZ0Q7UUFDaEQsVUFBVSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELGtDQUFrQztJQUNsQyxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDcEMsSUFBSSxLQUFLLElBQUksU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPO1FBQzFELENBQUM7UUFDRCxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVM7SUFDaEUsQ0FBQztJQUVELE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQzlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBtYXJrUG9zaXRpb24gPSAoXHJcbiAgc3RhcnQ6IG51bWJlciB8IG51bGwsIFxyXG4gIGVuZDogbnVtYmVyIHwgbnVsbCwgXHJcbiAgZm9ybWF0OiBzdHJpbmcgPSAnREQuTU0uWVlZWSdcclxuKTogeyBzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciB9ID0+IHtcclxuICBpZiAoc3RhcnQgPT09IG51bGwpIHJldHVybiB7IHN0YXJ0OiAwLCBlbmQ6IDAgfTtcclxuXHJcbiAgLy8g0J7Qv9GA0LXQtNC10LvRj9C10Lwg0YDQsNC30LTQtdC70LjRgtC10LvRjFxyXG4gIGNvbnN0IHNlcGFyYXRvciA9IGZvcm1hdC5pbmNsdWRlcygnLicpID8gJy4nIDogKGZvcm1hdC5pbmNsdWRlcygnLScpID8gJy0nIDogJycpO1xyXG4gIGNvbnN0IHBhcnRzID0gZm9ybWF0LnNwbGl0KHNlcGFyYXRvcik7XHJcbiAgXHJcbiAgbGV0IGN1cnJlbnRQb3MgPSAwO1xyXG5cclxuICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcclxuICAgIGNvbnN0IHBhcnRMZW5ndGggPSBwYXJ0Lmxlbmd0aDtcclxuICAgIGNvbnN0IHBhcnRFbmQgPSBjdXJyZW50UG9zICsgcGFydExlbmd0aDtcclxuXHJcbiAgICAvLyDQldGB0LvQuCDQutGD0YDRgdC+0YAg0L3QsNGF0L7QtNC40YLRgdGPINCy0L3Rg9GC0YDQuCDRgtC10LrRg9GJ0LXQs9C+INGB0LXQs9C80LXQvdGC0LAgKNC40LvQuCDQvdCwINC10LPQviDQs9GA0LDQvdC40YbQtSlcclxuICAgIGlmIChzdGFydCA8PSBwYXJ0RW5kKSB7XHJcbiAgICAgIHJldHVybiB7IHN0YXJ0OiBjdXJyZW50UG9zLCBlbmQ6IHBhcnRFbmQgfTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8g0J/Qu9GO0YHRg9C10Lwg0LTQu9C40L3RgyDRgdC10LPQvNC10L3RgtCwINC4IDEg0YHQuNC80LLQvtC7INGA0LDQt9C00LXQu9C40YLQtdC70Y9cclxuICAgIGN1cnJlbnRQb3MgPSBwYXJ0RW5kICsgMTtcclxuICB9XHJcblxyXG4gIC8vINCV0YHQu9C4INC10YHRgtGMINCy0YDQtdC80Y8gKNC/0L7RgdC70LUg0L/RgNC+0LHQtdC70LApXHJcbiAgaWYgKHN0YXJ0ID4gZm9ybWF0Lmxlbmd0aCkge1xyXG4gICAgY29uc3QgdGltZVN0YXJ0ID0gZm9ybWF0Lmxlbmd0aCArIDE7XHJcbiAgICBpZiAoc3RhcnQgPD0gdGltZVN0YXJ0ICsgMikge1xyXG4gICAgICByZXR1cm4geyBzdGFydDogdGltZVN0YXJ0LCBlbmQ6IHRpbWVTdGFydCArIDIgfTsgLy8g0KfQsNGB0YtcclxuICAgIH1cclxuICAgIHJldHVybiB7IHN0YXJ0OiB0aW1lU3RhcnQgKyAzLCBlbmQ6IHRpbWVTdGFydCArIDUgfTsgLy8g0JzQuNC90YPRgtGLXHJcbiAgfVxyXG5cclxuICByZXR1cm4geyBzdGFydDogc3RhcnQgfHwgMCwgZW5kOiBlbmQgfHwgMCB9O1xyXG59OyJdfQ==
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
2
|
export const formattingFromModels = (dateModel, timeModel, timepicker) => {
|
|
3
|
+
// Если части даты отсутствуют в модели (например, при формате MM.YYYY),
|
|
4
|
+
// подставляем значения по умолчанию, чтобы dayjs мог собрать валидный объект Date.
|
|
5
|
+
const year = dateModel.year || dayjs().format('YYYY');
|
|
6
|
+
const month = dateModel.month || '01';
|
|
7
|
+
const day = dateModel.day || '01'; // Вот здесь магия: если дня нет, берем первое число
|
|
8
|
+
const dateString = `${year}-${month}-${day}`;
|
|
3
9
|
if (timepicker) {
|
|
4
|
-
|
|
10
|
+
const hour = timeModel.hour || '00';
|
|
11
|
+
const minute = timeModel.minute || '00';
|
|
12
|
+
return dayjs(`${dateString} ${hour}:${minute}`, 'YYYY-MM-DD HH:mm');
|
|
5
13
|
}
|
|
6
14
|
else {
|
|
7
|
-
return dayjs(
|
|
15
|
+
return dayjs(dateString, 'YYYY-MM-DD');
|
|
8
16
|
}
|
|
9
17
|
};
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0dGluZy1mcm9tLW1vZGVscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2lucHV0LWRhdGUtdGltZS9oZWxwZXJzL2Zvcm1hdHRpbmctZnJvbS1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFnQixNQUFNLE9BQU8sQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQW9CLEVBQUUsU0FBb0IsRUFBRSxVQUFtQixFQUFTLEVBQUU7SUFDN0cseUVBQXlFO0lBQ3pFLG1GQUFtRjtJQUNuRixNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0RCxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQztJQUN0QyxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLG9EQUFvRDtJQUV2RixNQUFNLFVBQVUsR0FBRyxHQUFHLElBQUksSUFBSSxLQUFLLElBQUksR0FBRyxFQUFFLENBQUM7SUFFN0MsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNmLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO1FBQ3hDLE9BQU8sS0FBSyxDQUFDLEdBQUcsVUFBVSxJQUFJLElBQUksSUFBSSxNQUFNLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxLQUFLLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlTW9kZWwsIFRpbWVNb2RlbCB9IGZyb20gJy4vdmFsaWRhdGUtdmFsdWUtbW9kZWxzJztcclxuaW1wb3J0IGRheWpzLCB7IERheWpzIH0gZnJvbSAnZGF5anMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGZvcm1hdHRpbmdGcm9tTW9kZWxzID0gKGRhdGVNb2RlbDogRGF0ZU1vZGVsLCB0aW1lTW9kZWw6IFRpbWVNb2RlbCwgdGltZXBpY2tlcjogYm9vbGVhbik6IERheWpzID0+IHtcclxuICAvLyDQldGB0LvQuCDRh9Cw0YHRgtC4INC00LDRgtGLINC+0YLRgdGD0YLRgdGC0LLRg9GO0YIg0LIg0LzQvtC00LXQu9C4ICjQvdCw0L/RgNC40LzQtdGALCDQv9GA0Lgg0YTQvtGA0LzQsNGC0LUgTU0uWVlZWSksIFxyXG4gIC8vINC/0L7QtNGB0YLQsNCy0LvRj9C10Lwg0LfQvdCw0YfQtdC90LjRjyDQv9C+INGD0LzQvtC70YfQsNC90LjRjiwg0YfRgtC+0LHRiyBkYXlqcyDQvNC+0LMg0YHQvtCx0YDQsNGC0Ywg0LLQsNC70LjQtNC90YvQuSDQvtCx0YrQtdC60YIgRGF0ZS5cclxuICBjb25zdCB5ZWFyID0gZGF0ZU1vZGVsLnllYXIgfHwgZGF5anMoKS5mb3JtYXQoJ1lZWVknKTtcclxuICBjb25zdCBtb250aCA9IGRhdGVNb2RlbC5tb250aCB8fCAnMDEnO1xyXG4gIGNvbnN0IGRheSA9IGRhdGVNb2RlbC5kYXkgfHwgJzAxJzsgLy8g0JLQvtGCINC30LTQtdGB0Ywg0LzQsNCz0LjRjzog0LXRgdC70Lgg0LTQvdGPINC90LXRgiwg0LHQtdGA0LXQvCDQv9C10YDQstC+0LUg0YfQuNGB0LvQvlxyXG5cclxuICBjb25zdCBkYXRlU3RyaW5nID0gYCR7eWVhcn0tJHttb250aH0tJHtkYXl9YDtcclxuXHJcbiAgaWYgKHRpbWVwaWNrZXIpIHtcclxuICAgIGNvbnN0IGhvdXIgPSB0aW1lTW9kZWwuaG91ciB8fCAnMDAnO1xyXG4gICAgY29uc3QgbWludXRlID0gdGltZU1vZGVsLm1pbnV0ZSB8fCAnMDAnO1xyXG4gICAgcmV0dXJuIGRheWpzKGAke2RhdGVTdHJpbmd9ICR7aG91cn06JHttaW51dGV9YCwgJ1lZWVktTU0tREQgSEg6bW0nKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmV0dXJuIGRheWpzKGRhdGVTdHJpbmcsICdZWVlZLU1NLUREJyk7XHJcbiAgfVxyXG59Il19
|
|
@@ -1,60 +1,91 @@
|
|
|
1
1
|
import dayjs from 'dayjs';
|
|
2
2
|
import customParseFormat from 'dayjs/plugin/customParseFormat';
|
|
3
3
|
dayjs.extend(customParseFormat);
|
|
4
|
-
export const validateDateModel = (value) => {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
4
|
+
export const validateDateModel = (value, format = 'DD.MM.YYYY') => {
|
|
5
|
+
if (!value)
|
|
6
|
+
return { view: '', day: '', month: '', year: '', invalid: true };
|
|
7
|
+
// Отделяем дату от времени, если оно есть
|
|
8
|
+
const dateStr = value.split(' ')[0];
|
|
9
|
+
// Динамически определяем разделитель (точка, дефис или слэш)
|
|
10
|
+
const separator = format.includes('.') ? '.' : (format.includes('-') ? '-' : (format.includes('/') ? '/' : ''));
|
|
11
|
+
const formatParts = format.split(separator);
|
|
12
|
+
const valueParts = dateStr.split(separator);
|
|
13
|
+
let day = '', month = '', year = '';
|
|
14
|
+
// Распределяем значения по частям модели на основе формата
|
|
15
|
+
formatParts.forEach((part, index) => {
|
|
16
|
+
const val = valueParts[index] || '';
|
|
17
|
+
if (part.toUpperCase().includes('D'))
|
|
18
|
+
day = validateDay(val);
|
|
19
|
+
if (part.toUpperCase().includes('M'))
|
|
20
|
+
month = validateMonth(val);
|
|
21
|
+
if (part.toUpperCase().includes('Y'))
|
|
22
|
+
year = val;
|
|
23
|
+
});
|
|
24
|
+
// Собираем view строго по формату, используя отвалидированные части
|
|
25
|
+
const view = formatParts
|
|
26
|
+
.map((part) => {
|
|
27
|
+
if (part.toUpperCase().includes('D'))
|
|
28
|
+
return day;
|
|
29
|
+
if (part.toUpperCase().includes('M'))
|
|
30
|
+
return month;
|
|
31
|
+
if (part.toUpperCase().includes('Y'))
|
|
32
|
+
return year;
|
|
33
|
+
return '';
|
|
34
|
+
})
|
|
35
|
+
.filter(val => val !== '')
|
|
36
|
+
.join(separator);
|
|
37
|
+
// Валидация: длина строки должна соответствовать формату, и дата должна быть реальной
|
|
38
|
+
const isFullLength = dateStr.length === format.length;
|
|
39
|
+
const isValidDate = dayjs(dateStr, format, true).isValid();
|
|
10
40
|
return {
|
|
11
|
-
view
|
|
12
|
-
day
|
|
13
|
-
month
|
|
14
|
-
year
|
|
15
|
-
invalid: !(
|
|
41
|
+
view,
|
|
42
|
+
day,
|
|
43
|
+
month,
|
|
44
|
+
year,
|
|
45
|
+
invalid: !(isFullLength && isValidDate)
|
|
16
46
|
};
|
|
17
47
|
};
|
|
18
48
|
export const validateTimeModel = (value) => {
|
|
19
49
|
const splitDateAndTime = value.split(' ');
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
50
|
+
const timeStr = splitDateAndTime[1] || '';
|
|
51
|
+
const timeArray = timeStr ? timeStr.split(':') : [];
|
|
52
|
+
const hour = validateHours(timeArray[0] || '');
|
|
53
|
+
const minutes = validateMinutes(timeArray[1] || '');
|
|
23
54
|
return {
|
|
24
|
-
view: `${hour}${minutes ? ':' + minutes : ''}
|
|
55
|
+
view: hour ? `${hour}${minutes ? ':' + minutes : ''}` : '',
|
|
25
56
|
hour: hour,
|
|
26
57
|
minute: minutes,
|
|
27
|
-
invalid:
|
|
58
|
+
invalid: timeStr ? timeStr.length !== 5 : true
|
|
28
59
|
};
|
|
29
60
|
};
|
|
30
61
|
export const validateDay = (value) => {
|
|
31
|
-
if (
|
|
62
|
+
if (!value)
|
|
63
|
+
return '';
|
|
64
|
+
const num = Number(value);
|
|
65
|
+
if (num > 31)
|
|
32
66
|
return '31';
|
|
33
|
-
|
|
34
|
-
if (value === '00') {
|
|
67
|
+
if (value === '00')
|
|
35
68
|
return '01';
|
|
36
|
-
}
|
|
37
69
|
return value;
|
|
38
70
|
};
|
|
39
71
|
export const validateMonth = (value) => {
|
|
40
|
-
if (
|
|
72
|
+
if (!value)
|
|
73
|
+
return '';
|
|
74
|
+
const num = Number(value);
|
|
75
|
+
if (num > 12)
|
|
41
76
|
return '12';
|
|
42
|
-
|
|
43
|
-
if (value === '00') {
|
|
77
|
+
if (value === '00')
|
|
44
78
|
return '01';
|
|
45
|
-
}
|
|
46
79
|
return value;
|
|
47
80
|
};
|
|
48
81
|
export const validateHours = (value) => {
|
|
49
|
-
if (
|
|
50
|
-
return '
|
|
51
|
-
|
|
52
|
-
return value;
|
|
82
|
+
if (!value)
|
|
83
|
+
return '';
|
|
84
|
+
return Number(value) > 23 ? '23' : value;
|
|
53
85
|
};
|
|
54
86
|
export const validateMinutes = (value) => {
|
|
55
|
-
if (
|
|
56
|
-
return '
|
|
57
|
-
|
|
58
|
-
return value;
|
|
87
|
+
if (!value)
|
|
88
|
+
return '';
|
|
89
|
+
return Number(value) > 59 ? '59' : value;
|
|
59
90
|
};
|
|
60
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtdmFsdWUtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZGF0ZS10aW1lL2hlbHBlcnMvdmFsaWRhdGUtdmFsdWUtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBRS9ELEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtBQUUvQixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQWEsRUFBYSxFQUFFO0lBQzVELE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUN6QyxNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFDaEQsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUMzQyxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO0lBQy9DLE1BQU0sSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUE7SUFFL0IsT0FBTztRQUNMLElBQUksRUFBRSxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFH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bnRlbnQiOlsiaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IGN1c3RvbVBhcnNlRm9ybWF0IGZyb20gJ2RheWpzL3BsdWdpbi9jdXN0b21QYXJzZUZvcm1hdCc7XHJcblxyXG5kYXlqcy5leHRlbmQoY3VzdG9tUGFyc2VGb3JtYXQpXHJcblxyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVEYXRlTW9kZWwgPSAodmFsdWU6IHN0cmluZyk6IERhdGVNb2RlbCA9PiB7XHJcbiAgY29uc3Qgc3BsaXREYXRlQW5kVGltZSA9IHZhbHVlLnNwbGl0KCcgJylcclxuICBjb25zdCBkYXRlQXJyYXkgPSBzcGxpdERhdGVBbmRUaW1lWzBdLnNwbGl0KCcuJylcclxuICBjb25zdCBkYXkgPSB2YWxpZGF0ZURheShkYXRlQXJyYXlbMF0pIHx8ICcnXHJcbiAgY29uc3QgbW9udGggPSB2YWxpZGF0ZU1vbnRoKGRhdGVBcnJheVsxXSkgfHwgJydcclxuICBjb25zdCB5ZWFyID0gZGF0ZUFycmF5WzJdIHx8ICcnXHJcblxyXG4gIHJldHVybiB7XHJcbiAgICB2aWV3OiBgJHtkYXl9JHttb250aCA/ICcuJyArIG1vbnRoIDogJyd9JHt5ZWFyID8gJy4nICsgeWVhciA6IHZhbHVlWzVdID8gJy4nICsgJycgOiAnJ31gLFxyXG4gICAgZGF5OiBkYXksXHJcbiAgICBtb250aDogbW9udGgsXHJcbiAgICB5ZWFyOiB5ZWFyLFxyXG4gICAgaW52YWxpZDogIShkYXlqcyhgJHtkYXRlQXJyYXlbMl19LSR7ZGF0ZUFycmF5WzFdfS0ke2RhdGVBcnJheVswXX1gLCAnWVlZWS1NTS1ERCcpLmlzVmFsaWQoKSAmJiBzcGxpdERhdGVBbmRUaW1lWzBdLmxlbmd0aCA9PT0gMTApXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVUaW1lTW9kZWwgPSAodmFsdWU6IHN0cmluZyk6IFRpbWVNb2RlbCA9PiB7XHJcbiAgY29uc3Qgc3BsaXREYXRlQW5kVGltZSA9IHZhbHVlLnNwbGl0KCcgJylcclxuICBjb25zdCB0aW1lQXJyYXkgPSBzcGxpdERhdGVBbmRUaW1lWzFdID8gc3BsaXREYXRlQW5kVGltZVsxXS5zcGxpdCgnOicpIDogJydcclxuICBjb25zdCBob3VyID0gdmFsaWRhdGVIb3Vycyh0aW1lQXJyYXlbMF0pIHx8ICcnXHJcbiAgY29uc3QgbWludXRlcyA9IHZhbGlkYXRlTWludXRlcyh0aW1lQXJyYXlbMV0pIHx8ICcnXHJcblxyXG4gIHJldHVybiB7XHJcbiAgICB2aWV3OiBgJHtob3VyfSR7bWludXRlcyA/ICc6JyArIG1pbnV0ZXMgOiAnJ31gLFxyXG4gICAgaG91cjogaG91cixcclxuICAgIG1pbnV0ZTogbWludXRlcyxcclxuICAgIGludmFsaWQ6ICEhc3BsaXREYXRlQW5kVGltZVsxXSA/IHNwbGl0RGF0ZUFuZFRpbWVbMV0ubGVuZ3RoICE9PSA1IDogdHJ1ZVxyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRGF5ID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIGlmIChOdW1iZXIodmFsdWUpID4gMzEpIHtcclxuICAgIHJldHVybiAnMzEnXHJcbiAgfVxyXG4gIGlmICh2YWx1ZSA9PT0gJzAwJykge1xyXG4gICAgcmV0dXJuICcwMSdcclxuICB9XHJcbiAgcmV0dXJuIHZhbHVlXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZU1vbnRoID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIGlmIChOdW1iZXIodmFsdWUpID4gMTIpIHtcclxuICAgIHJldHVybiAnMTInXHJcbiAgfVxyXG4gIGlmICh2YWx1ZSA9PT0gJzAwJykge1xyXG4gICAgcmV0dXJuICcwMSdcclxuICB9XHJcbiAgcmV0dXJuIHZhbHVlXHJcbn1cclxuXHJcblxyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVIb3VycyA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICBpZiAoTnVtYmVyKHZhbHVlKSA+IDIzKSB7XHJcbiAgICByZXR1cm4gJzIzJ1xyXG4gIH1cclxuICByZXR1cm4gdmFsdWVcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlTWludXRlcyA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICBpZiAoTnVtYmVyKHZhbHVlKSA+IDU5KSB7XHJcbiAgICByZXR1cm4gJzU5J1xyXG4gIH1cclxuICByZXR1cm4gdmFsdWVcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgRGF0ZU1vZGVsID0ge1xyXG4gIHZpZXc6IHN0cmluZyxcclxuICBkYXk6IHN0cmluZyxcclxuICBtb250aDogc3RyaW5nLFxyXG4gIHllYXI6IHN0cmluZyxcclxuICBpbnZhbGlkOiBib29sZWFuXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFRpbWVNb2RlbCA9IHtcclxuICB2aWV3OiBzdHJpbmcsXHJcbiAgaG91cjogc3RyaW5nLFxyXG4gIG1pbnV0ZTogc3RyaW5nLFxyXG4gIGludmFsaWQ6IGJvb2xlYW5cclxufVxyXG4iXX0=
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtdmFsdWUtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZGF0ZS10aW1lL2hlbHBlcnMvdmFsaWRhdGUtdmFsdWUtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBRS9ELEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQUVoQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLEtBQWEsRUFBRSxTQUFpQixZQUFZLEVBQWEsRUFBRTtJQUMzRixJQUFJLENBQUMsS0FBSztRQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUU3RSwwQ0FBMEM7SUFDMUMsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVwQyw2REFBNkQ7SUFDN0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEgsTUFBTSxXQUFXLEdBQUcsTUFB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TUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBYSxFQUFVLEVBQUU7SUFDdkQsSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN0QixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQzNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBkYXlqcyBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCBjdXN0b21QYXJzZUZvcm1hdCBmcm9tICdkYXlqcy9wbHVnaW4vY3VzdG9tUGFyc2VGb3JtYXQnO1xyXG5cclxuZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcclxuXHJcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZURhdGVNb2RlbCA9ICh2YWx1ZTogc3RyaW5nLCBmb3JtYXQ6IHN0cmluZyA9ICdERC5NTS5ZWVlZJyk6IERhdGVNb2RlbCA9PiB7XHJcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuIHsgdmlldzogJycsIGRheTogJycsIG1vbnRoOiAnJywgeWVhcjogJycsIGludmFsaWQ6IHRydWUgfTtcclxuXHJcbiAgLy8g0J7RgtC00LXQu9GP0LXQvCDQtNCw0YLRgyDQvtGCINCy0YDQtdC80LXQvdC4LCDQtdGB0LvQuCDQvtC90L4g0LXRgdGC0YxcclxuICBjb25zdCBkYXRlU3RyID0gdmFsdWUuc3BsaXQoJyAnKVswXTtcclxuICBcclxuICAvLyDQlNC40L3QsNC80LjRh9C10YHQutC4INC+0L/RgNC10LTQtdC70Y/QtdC8INGA0LDQt9C00LXQu9C40YLQtdC70YwgKNGC0L7Rh9C60LAsINC00LXRhNC40YEg0LjQu9C4INGB0LvRjdGIKVxyXG4gIGNvbnN0IHNlcGFyYXRvciA9IGZvcm1hdC5pbmNsdWRlcygnLicpID8gJy4nIDogKGZvcm1hdC5pbmNsdWRlcygnLScpID8gJy0nIDogKGZvcm1hdC5pbmNsdWRlcygnLycpID8gJy8nIDogJycpKTtcclxuICBjb25zdCBmb3JtYXRQYXJ0cyA9IGZvcm1hdC5zcGxpdChzZXBhcmF0b3IpO1xyXG4gIGNvbnN0IHZhbHVlUGFydHMgPSBkYXRlU3RyLnNwbGl0KHNlcGFyYXRvcik7XHJcblxyXG4gIGxldCBkYXkgPSAnJywgbW9udGggPSAnJywgeWVhciA9ICcnO1xyXG5cclxuICAvLyDQoNCw0YHQv9GA0LXQtNC10LvRj9C10Lwg0LfQvdCw0YfQtdC90LjRjyDQv9C+INGH0LDRgdGC0Y/QvCDQvNC+0LTQtdC70Lgg0L3QsCDQvtGB0L3QvtCy0LUg0YTQvtGA0LzQsNGC0LBcclxuICBmb3JtYXRQYXJ0cy5mb3JFYWNoKChwYXJ0LCBpbmRleCkgPT4ge1xyXG4gICAgY29uc3QgdmFsID0gdmFsdWVQYXJ0c1tpbmRleF0gfHwgJyc7XHJcbiAgICBpZiAocGFydC50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCdEJykpIGRheSA9IHZhbGlkYXRlRGF5KHZhbCk7XHJcbiAgICBpZiAocGFydC50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCdNJykpIG1vbnRoID0gdmFsaWRhdGVNb250aCh2YWwpO1xyXG4gICAgaWYgKHBhcnQudG9VcHBlckNhc2UoKS5pbmNsdWRlcygnWScpKSB5ZWFyID0gdmFsO1xyXG4gIH0pO1xyXG5cclxuICAvLyDQodC+0LHQuNGA0LDQtdC8IHZpZXcg0YHRgtGA0L7Qs9C+INC/0L4g0YTQvtGA0LzQsNGC0YMsINC40YHQv9C+0LvRjNC30YPRjyDQvtGC0LLQsNC70LjQtNC40YDQvtCy0LDQvdC90YvQtSDRh9Cw0YHRgtC4XHJcbiAgY29uc3QgdmlldyA9IGZvcm1hdFBhcnRzXHJcbiAgICAubWFwKChwYXJ0KSA9PiB7XHJcbiAgICAgIGlmIChwYXJ0LnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoJ0QnKSkgcmV0dXJuIGRheTtcclxuICAgICAgaWYgKHBhcnQudG9VcHBlckNhc2UoKS5pbmNsdWRlcygnTScpKSByZXR1cm4gbW9udGg7XHJcbiAgICAgIGlmIChwYXJ0LnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoJ1knKSkgcmV0dXJuIHllYXI7XHJcbiAgICAgIHJldHVybiAnJztcclxuICAgIH0pXHJcbiAgICAuZmlsdGVyKHZhbCA9PiB2YWwgIT09ICcnKVxyXG4gICAgLmpvaW4oc2VwYXJhdG9yKTtcclxuXHJcbiAgLy8g0JLQsNC70LjQtNCw0YbQuNGPOiDQtNC70LjQvdCwINGB0YLRgNC+0LrQuCDQtNC+0LvQttC90LAg0YHQvtC+0YLQstC10YLRgdGC0LLQvtCy0LDRgtGMINGE0L7RgNC80LDRgtGDLCDQuCDQtNCw0YLQsCDQtNC+0LvQttC90LAg0LHRi9GC0Ywg0YDQtdCw0LvRjNC90L7QuVxyXG4gIGNvbnN0IGlzRnVsbExlbmd0aCA9IGRhdGVTdHIubGVuZ3RoID09PSBmb3JtYXQubGVuZ3RoO1xyXG4gIGNvbnN0IGlzVmFsaWREYXRlID0gZGF5anMoZGF0ZVN0ciwgZm9ybWF0LCB0cnVlKS5pc1ZhbGlkKCk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICB2aWV3LFxyXG4gICAgZGF5LFxyXG4gICAgbW9udGgsXHJcbiAgICB5ZWFyLFxyXG4gICAgaW52YWxpZDogIShpc0Z1bGxMZW5ndGggJiYgaXNWYWxpZERhdGUpXHJcbiAgfTtcclxufTtcclxuXHJcbmV4cG9ydCBjb25zdCB2YWxpZGF0ZVRpbWVNb2RlbCA9ICh2YWx1ZTogc3RyaW5nKTogVGltZU1vZGVsID0+IHtcclxuICBjb25zdCBzcGxpdERhdGVBbmRUaW1lID0gdmFsdWUuc3BsaXQoJyAnKTtcclxuICBjb25zdCB0aW1lU3RyID0gc3BsaXREYXRlQW5kVGltZVsxXSB8fCAnJztcclxuICBjb25zdCB0aW1lQXJyYXkgPSB0aW1lU3RyID8gdGltZVN0ci5zcGxpdCgnOicpIDogW107XHJcbiAgXHJcbiAgY29uc3QgaG91ciA9IHZhbGlkYXRlSG91cnModGltZUFycmF5WzBdIHx8ICcnKTtcclxuICBjb25zdCBtaW51dGVzID0gdmFsaWRhdGVNaW51dGVzKHRpbWVBcnJheVsxXSB8fCAnJyk7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICB2aWV3OiBob3VyID8gYCR7aG91cn0ke21pbnV0ZXMgPyAnOicgKyBtaW51dGVzIDogJyd9YCA6ICcnLFxyXG4gICAgaG91cjogaG91cixcclxuICAgIG1pbnV0ZTogbWludXRlcyxcclxuICAgIGludmFsaWQ6IHRpbWVTdHIgPyB0aW1lU3RyLmxlbmd0aCAhPT0gNSA6IHRydWVcclxuICB9O1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlRGF5ID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIGlmICghdmFsdWUpIHJldHVybiAnJztcclxuICBjb25zdCBudW0gPSBOdW1iZXIodmFsdWUpO1xyXG4gIGlmIChudW0gPiAzMSkgcmV0dXJuICczMSc7XHJcbiAgaWYgKHZhbHVlID09PSAnMDAnKSByZXR1cm4gJzAxJztcclxuICByZXR1cm4gdmFsdWU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNb250aCA9ICh2YWx1ZTogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcbiAgY29uc3QgbnVtID0gTnVtYmVyKHZhbHVlKTtcclxuICBpZiAobnVtID4gMTIpIHJldHVybiAnMTInO1xyXG4gIGlmICh2YWx1ZSA9PT0gJzAwJykgcmV0dXJuICcwMSc7XHJcbiAgcmV0dXJuIHZhbHVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGNvbnN0IHZhbGlkYXRlSG91cnMgPSAodmFsdWU6IHN0cmluZyk6IHN0cmluZyA9PiB7XHJcbiAgaWYgKCF2YWx1ZSkgcmV0dXJuICcnO1xyXG4gIHJldHVybiBOdW1iZXIodmFsdWUpID4gMjMgPyAnMjMnIDogdmFsdWU7XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgdmFsaWRhdGVNaW51dGVzID0gKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xyXG4gIGlmICghdmFsdWUpIHJldHVybiAnJztcclxuICByZXR1cm4gTnVtYmVyKHZhbHVlKSA+IDU5ID8gJzU5JyA6IHZhbHVlO1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEYXRlTW9kZWwge1xyXG4gIHZpZXc6IHN0cmluZztcclxuICBkYXk6IHN0cmluZztcclxuICBtb250aDogc3RyaW5nO1xyXG4gIHllYXI6IHN0cmluZztcclxuICBpbnZhbGlkOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVNb2RlbCB7XHJcbiAgdmlldzogc3RyaW5nO1xyXG4gIGhvdXI6IHN0cmluZztcclxuICBtaW51dGU6IHN0cmluZztcclxuICBpbnZhbGlkOiBib29sZWFuO1xyXG59Il19
|
|
@@ -2,32 +2,53 @@ import { Timezone } from '../enum/timezone';
|
|
|
2
2
|
import dayjs from 'dayjs';
|
|
3
3
|
import tz from 'dayjs/plugin/timezone';
|
|
4
4
|
import utc from 'dayjs/plugin/utc';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
dayjs.extend(utc);
|
|
6
|
+
dayjs.extend(tz);
|
|
7
|
+
export const dateModelValueParse = (value, timezone, format = 'DD.MM.YYYY' // Добавили формат с дефолтным значением
|
|
8
|
+
) => {
|
|
9
|
+
if (!value) {
|
|
10
|
+
return { view: '', day: '', month: '', year: '', invalid: true };
|
|
11
|
+
}
|
|
12
|
+
const date = timezone === 'default'
|
|
13
|
+
? dayjs(value)
|
|
14
|
+
: dayjs.utc(value).utcOffset(Timezone[timezone]);
|
|
15
|
+
if (!date.isValid()) {
|
|
16
|
+
return { view: '', day: '', month: '', year: '', invalid: true };
|
|
17
|
+
}
|
|
9
18
|
const day = date.date();
|
|
10
19
|
const month = date.month() + 1;
|
|
11
20
|
const year = date.year();
|
|
12
|
-
const formattedDay = String(day).
|
|
13
|
-
const formattedMonth = String(month).
|
|
14
|
-
const
|
|
21
|
+
const formattedDay = String(day).padStart(2, '0');
|
|
22
|
+
const formattedMonth = String(month).padStart(2, '0');
|
|
23
|
+
const formattedYear = String(year);
|
|
24
|
+
// Формируем view динамически на основе переданного формата
|
|
25
|
+
// Это предотвратит появление лишних цифр (например, дня, если он не нужен)
|
|
26
|
+
const view = format
|
|
27
|
+
.replace(/DD/g, formattedDay)
|
|
28
|
+
.replace(/MM/g, formattedMonth)
|
|
29
|
+
.replace(/YYYY/g, formattedYear);
|
|
15
30
|
return {
|
|
16
|
-
view:
|
|
17
|
-
day: formattedDay,
|
|
18
|
-
month: formattedMonth,
|
|
19
|
-
year:
|
|
20
|
-
invalid:
|
|
31
|
+
view: view,
|
|
32
|
+
day: format.includes('D') ? formattedDay : '',
|
|
33
|
+
month: format.includes('M') ? formattedMonth : '',
|
|
34
|
+
year: format.includes('Y') ? formattedYear : '',
|
|
35
|
+
invalid: false
|
|
21
36
|
};
|
|
22
37
|
};
|
|
23
38
|
export const timeModelValueParse = (value, timezone) => {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
39
|
+
if (!value) {
|
|
40
|
+
return { view: '', hour: '', minute: '', invalid: true };
|
|
41
|
+
}
|
|
42
|
+
const date = timezone === 'default'
|
|
43
|
+
? dayjs(value)
|
|
44
|
+
: dayjs.utc(value).utcOffset(Timezone[timezone]);
|
|
45
|
+
if (!date.isValid()) {
|
|
46
|
+
return { view: '', hour: '', minute: '', invalid: true };
|
|
47
|
+
}
|
|
27
48
|
const hour = date.hour();
|
|
28
49
|
const minute = date.minute();
|
|
29
|
-
const formattedHour = String(hour).
|
|
30
|
-
const formattedMinute = String(minute).
|
|
50
|
+
const formattedHour = String(hour).padStart(2, '0');
|
|
51
|
+
const formattedMinute = String(minute).padStart(2, '0');
|
|
31
52
|
const timeString = `${formattedHour}:${formattedMinute}`;
|
|
32
53
|
return {
|
|
33
54
|
view: timeString,
|
|
@@ -36,4 +57,4 @@ export const timeModelValueParse = (value, timezone) => {
|
|
|
36
57
|
invalid: timeString.length !== 5
|
|
37
58
|
};
|
|
38
59
|
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtcGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXlydGEtdWkvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vaW5wdXQtZGF0ZS10aW1lL2hlbHBlcnMvdmFsdWUtcGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQWdCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBQzFCLE9BQU8sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZDLE9BQU8sR0FBRyxNQUFNLGtCQUFrQixDQUFDO0FBRW5DLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVqQixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxLQUFhLEVBQ2IsUUFBc0IsRUFDdEIsU0FBaUIsWUFBWSxDQUFDLHdDQUF3QztFQUMzRCxFQUFFO0lBQ2IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ25FLENBQUM7SUFFRCxNQUFNLElBQUksR0FBRyxRQUFRLEtBQUssU0FBUztRQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNkLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUVuRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7UUFDcEIsT0FBTyxFQUFFLElB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RCxPQUFPO1FBQ0wsSUFBSSxFQUFFLFVBQVU7UUFDaEIsSUFBSSxFQUFFLGFBQWE7UUFDbkIsTUFBTSxFQUFFLGVBQWU7UUFDdkIsT0FBTyxFQUFFLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQztLQUNqQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZU1vZGVsLCBUaW1lTW9kZWwgfSBmcm9tICcuL3ZhbGlkYXRlLXZhbHVlLW1vZGVscyc7XHJcbmltcG9ydCB7IFRpbWV6b25lLCBUaW1lem9uZVR5cGUgfSBmcm9tICcuLi9lbnVtL3RpbWV6b25lJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHR6IGZyb20gJ2RheWpzL3BsdWdpbi90aW1lem9uZSc7XHJcbmltcG9ydCB1dGMgZnJvbSAnZGF5anMvcGx1Z2luL3V0Yyc7XHJcblxyXG5kYXlqcy5leHRlbmQodXRjKTtcclxuZGF5anMuZXh0ZW5kKHR6KTtcclxuXHJcbmV4cG9ydCBjb25zdCBkYXRlTW9kZWxWYWx1ZVBhcnNlID0gKFxyXG4gIHZhbHVlOiBzdHJpbmcsIFxyXG4gIHRpbWV6b25lOiBUaW1lem9uZVR5cGUsIFxyXG4gIGZvcm1hdDogc3RyaW5nID0gJ0RELk1NLllZWVknIC8vINCU0L7QsdCw0LLQuNC70Lgg0YTQvtGA0LzQsNGCINGBINC00LXRhNC+0LvRgtC90YvQvCDQt9C90LDRh9C10L3QuNC10LxcclxuKTogRGF0ZU1vZGVsID0+IHtcclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4geyB2aWV3OiAnJywgZGF5OiAnJywgbW9udGg6ICcnLCB5ZWFyOiAnJywgaW52YWxpZDogdHJ1ZSB9O1xyXG4gIH1cclxuXHJcbiAgY29uc3QgZGF0ZSA9IHRpbWV6b25lID09PSAnZGVmYXVsdCcgXHJcbiAgICA/IGRheWpzKHZhbHVlKSBcclxuICAgIDogZGF5anMudXRjKHZhbHVlKS51dGNPZmZzZXQoVGltZXpvbmVbdGltZXpvbmVdKTtcclxuXHJcbiAgaWYgKCFkYXRlLmlzVmFsaWQoKSkge1xyXG4gICAgcmV0dXJuIHsgdmlldzogJycsIGRheTogJycsIG1vbnRoOiAnJywgeWVhcjogJycsIGludmFsaWQ6IHRydWUgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0IGRheSA9IGRhdGUuZGF0ZSgpO1xyXG4gIGNvbnN0IG1vbnRoID0gZGF0ZS5tb250aCgpICsgMTtcclxuICBjb25zdCB5ZWFyID0gZGF0ZS55ZWFyKCk7XHJcblxyXG4gIGNvbnN0IGZvcm1hdHRlZERheSA9IFN0cmluZyhkYXkpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgY29uc3QgZm9ybWF0dGVkTW9udGggPSBTdHJpbmcobW9udGgpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgY29uc3QgZm9ybWF0dGVkWWVhciA9IFN0cmluZyh5ZWFyKTtcclxuXHJcbiAgLy8g0KTQvtGA0LzQuNGA0YPQtdC8IHZpZXcg0LTQuNC90LDQvNC40YfQtdGB0LrQuCDQvdCwINC+0YHQvdC+0LLQtSDQv9C10YDQtdC00LDQvdC90L7Qs9C+INGE0L7RgNC80LDRgtCwXHJcbiAgLy8g0K3RgtC+INC/0YDQtdC00L7RgtCy0YDQsNGC0LjRgiDQv9C+0Y/QstC70LXQvdC40LUg0LvQuNGI0L3QuNGFINGG0LjRhNGAICjQvdCw0L/RgNC40LzQtdGALCDQtNC90Y8sINC10YHQu9C4INC+0L0g0L3QtSDQvdGD0LbQtdC9KVxyXG4gIGNvbnN0IHZpZXcgPSBmb3JtYXRcclxuICAgIC5yZXBsYWNlKC9ERC9nLCBmb3JtYXR0ZWREYXkpXHJcbiAgICAucmVwbGFjZSgvTU0vZywgZm9ybWF0dGVkTW9udGgpXHJcbiAgICAucmVwbGFjZSgvWVlZWS9nLCBmb3JtYXR0ZWRZZWFyKTtcclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIHZpZXc6IHZpZXcsXHJcbiAgICBkYXk6IGZvcm1hdC5pbmNsdWRlcygnRCcpID8gZm9ybWF0dGVkRGF5IDogJycsXHJcbiAgICBtb250aDogZm9ybWF0LmluY2x1ZGVzKCdNJykgPyBmb3JtYXR0ZWRNb250aCA6ICcnLFxyXG4gICAgeWVhcjogZm9ybWF0LmluY2x1ZGVzKCdZJykgPyBmb3JtYXR0ZWRZZWFyIDogJycsXHJcbiAgICBpbnZhbGlkOiBmYWxzZVxyXG4gIH07XHJcbn07XHJcblxyXG5leHBvcnQgY29uc3QgdGltZU1vZGVsVmFsdWVQYXJzZSA9ICh2YWx1ZTogc3RyaW5nLCB0aW1lem9uZTogVGltZXpvbmVUeXBlKTogVGltZU1vZGVsID0+IHtcclxuICBpZiAoIXZhbHVlKSB7XHJcbiAgICByZXR1cm4geyB2aWV3OiAnJywgaG91cjogJycsIG1pbnV0ZTogJycsIGludmFsaWQ6IHRydWUgfTtcclxuICB9XHJcblxyXG4gIGNvbnN0IGRhdGUgPSB0aW1lem9uZSA9PT0gJ2RlZmF1bHQnIFxyXG4gICAgPyBkYXlqcyh2YWx1ZSkgXHJcbiAgICA6IGRheWpzLnV0Yyh2YWx1ZSkudXRjT2Zmc2V0KFRpbWV6b25lW3RpbWV6b25lXSk7XHJcblxyXG4gIGlmICghZGF0ZS5pc1ZhbGlkKCkpIHtcclxuICAgIHJldHVybiB7IHZpZXc6ICcnLCBob3VyOiAnJywgbWludXRlOiAnJywgaW52YWxpZDogdHJ1ZSB9O1xyXG4gIH1cclxuXHJcbiAgY29uc3QgaG91ciA9IGRhdGUuaG91cigpO1xyXG4gIGNvbnN0IG1pbnV0ZSA9IGRhdGUubWludXRlKCk7XHJcbiAgY29uc3QgZm9ybWF0dGVkSG91ciA9IFN0cmluZyhob3VyKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gIGNvbnN0IGZvcm1hdHRlZE1pbnV0ZSA9IFN0cmluZyhtaW51dGUpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgY29uc3QgdGltZVN0cmluZyA9IGAke2Zvcm1hdHRlZEhvdXJ9OiR7Zm9ybWF0dGVkTWludXRlfWA7XHJcblxyXG4gIHJldHVybiB7XHJcbiAgICB2aWV3OiB0aW1lU3RyaW5nLFxyXG4gICAgaG91cjogZm9ybWF0dGVkSG91cixcclxuICAgIG1pbnV0ZTogZm9ybWF0dGVkTWludXRlLFxyXG4gICAgaW52YWxpZDogdGltZVN0cmluZy5sZW5ndGggIT09IDVcclxuICB9O1xyXG59OyJdfQ==
|