UNPKG

3.07 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3exports.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};
14var getComparisonMaxDate = function (utils, strictCompareDates, date) {
15 if (strictCompareDates) {
16 return date;
17 }
18 return utils.endOfDay(date);
19};
20var getComparisonMinDate = function (utils, strictCompareDates, date) {
21 if (strictCompareDates) {
22 return date;
23 }
24 return utils.startOfDay(date);
25};
26exports.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 // if null - do not show error
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};
55function 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}
62exports.pick12hOr24hFormat = pick12hOr24hFormat;
63function makeMaskFromFormat(format, numberMaskChar) {
64 return format.replace(/[a-z]/gi, numberMaskChar);
65}
66exports.makeMaskFromFormat = makeMaskFromFormat;
67exports.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}; };