1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.getDisplayDate = function (value, format, utils, isEmpty, _a) {
|
4 | var invalidLabel = _a.invalidLabel, emptyLabel = _a.emptyLabel, labelFunc = _a.labelFunc;
|
5 | var date = utils.date(value);
|
6 | if (labelFunc) {
|
7 | return labelFunc(isEmpty ? null : date, invalidLabel);
|
8 | }
|
9 | if (isEmpty) {
|
10 | return emptyLabel || '';
|
11 | }
|
12 | return utils.isValid(date) ? utils.format(date, format) : invalidLabel;
|
13 | };
|
14 | var getComparisonMaxDate = function (utils, strictCompareDates, date) {
|
15 | if (strictCompareDates) {
|
16 | return date;
|
17 | }
|
18 | return utils.endOfDay(date);
|
19 | };
|
20 | var getComparisonMinDate = function (utils, strictCompareDates, date) {
|
21 | if (strictCompareDates) {
|
22 | return date;
|
23 | }
|
24 | return utils.startOfDay(date);
|
25 | };
|
26 | exports.validate = function (value, utils, _a // DateTimePicker doesn't support
|
27 | ) {
|
28 | var maxDate = _a.maxDate, minDate = _a.minDate, disablePast = _a.disablePast, disableFuture = _a.disableFuture, maxDateMessage = _a.maxDateMessage, minDateMessage = _a.minDateMessage, invalidDateMessage = _a.invalidDateMessage, strictCompareDates = _a.strictCompareDates;
|
29 | var parsedValue = utils.date(value);
|
30 |
|
31 | if (value === null) {
|
32 | return '';
|
33 | }
|
34 | if (!utils.isValid(value)) {
|
35 | return invalidDateMessage;
|
36 | }
|
37 | if (maxDate &&
|
38 | utils.isAfter(parsedValue, getComparisonMaxDate(utils, !!strictCompareDates, utils.date(maxDate)))) {
|
39 | return maxDateMessage;
|
40 | }
|
41 | if (disableFuture &&
|
42 | utils.isAfter(parsedValue, getComparisonMaxDate(utils, !!strictCompareDates, utils.date()))) {
|
43 | return maxDateMessage;
|
44 | }
|
45 | if (minDate &&
|
46 | utils.isBefore(parsedValue, getComparisonMinDate(utils, !!strictCompareDates, utils.date(minDate)))) {
|
47 | return minDateMessage;
|
48 | }
|
49 | if (disablePast &&
|
50 | utils.isBefore(parsedValue, getComparisonMinDate(utils, !!strictCompareDates, utils.date()))) {
|
51 | return minDateMessage;
|
52 | }
|
53 | return '';
|
54 | };
|
55 | function pick12hOr24hFormat(userFormat, ampm, formats) {
|
56 | if (ampm === void 0) { ampm = true; }
|
57 | if (userFormat) {
|
58 | return userFormat;
|
59 | }
|
60 | return ampm ? formats['12h'] : formats['24h'];
|
61 | }
|
62 | exports.pick12hOr24hFormat = pick12hOr24hFormat;
|
63 | function makeMaskFromFormat(format, numberMaskChar) {
|
64 | return format.replace(/[a-z]/gi, numberMaskChar);
|
65 | }
|
66 | exports.makeMaskFromFormat = makeMaskFromFormat;
|
67 | exports.maskedDateFormatter = function (mask, numberMaskChar, refuse) { return function (value) {
|
68 | var result = '';
|
69 | var parsed = value.replace(refuse, '');
|
70 | if (parsed === '') {
|
71 | return parsed;
|
72 | }
|
73 | var i = 0;
|
74 | var n = 0;
|
75 | while (i < mask.length) {
|
76 | var maskChar = mask[i];
|
77 | if (maskChar === numberMaskChar && n < parsed.length) {
|
78 | var parsedChar = parsed[n];
|
79 | result += parsedChar;
|
80 | n += 1;
|
81 | }
|
82 | else {
|
83 | result += maskChar;
|
84 | }
|
85 | i += 1;
|
86 | }
|
87 | return result;
|
88 | }; };
|