@alfalab/core-components-date-time-input 1.1.0

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.
@@ -0,0 +1,147 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var parse = require('date-fns/parse');
6
+ var dateFnsIsValid = require('date-fns/isValid');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var parse__default = /*#__PURE__*/_interopDefaultLegacy(parse);
11
+ var dateFnsIsValid__default = /*#__PURE__*/_interopDefaultLegacy(dateFnsIsValid);
12
+
13
+ /* eslint-disable no-useless-escape */
14
+ var DATE_FORMAT = 'dd.MM.yyyy';
15
+ var DATE_MASK = [
16
+ /\d/,
17
+ /\d/,
18
+ '.',
19
+ /\d/,
20
+ /\d/,
21
+ '.',
22
+ /\d/,
23
+ /\d/,
24
+ /\d/,
25
+ /\d/,
26
+ ',',
27
+ ' ',
28
+ /\d/,
29
+ /\d/,
30
+ ':',
31
+ /\d/,
32
+ /\d/,
33
+ ];
34
+ var isCompleteDateInput = function (input) { return input.length === DATE_MASK.length; };
35
+ var parseDateString = function (value, dateFormat) {
36
+ if (dateFormat === void 0) { dateFormat = DATE_FORMAT; }
37
+ return parse__default['default'](value, dateFormat, new Date());
38
+ };
39
+ var isValidTimeFormat = function (value) {
40
+ var timeArr = value.split(':');
41
+ var hours = timeArr[0];
42
+ var mins = timeArr[1];
43
+ if (hours.length !== 2 || Number(hours) > 23) {
44
+ return false;
45
+ }
46
+ if (mins.length !== 2 || Number(mins) > 59) {
47
+ return false;
48
+ }
49
+ return true;
50
+ };
51
+ var isValid = function (inputValue) {
52
+ var inputValueArr = inputValue.split(', ');
53
+ var date = inputValueArr[0];
54
+ var time = inputValueArr[1];
55
+ return (!inputValue ||
56
+ (isCompleteDateInput(inputValue) &&
57
+ dateFnsIsValid__default['default'](parseDateString(date)) &&
58
+ isValidTimeFormat(time)));
59
+ };
60
+ var format = function (value) {
61
+ return value
62
+ .replace(/^(\d\d)(\d)$/, '$1.$2') // 121 => 12.1
63
+ .replace(/^(\d\d)\.(\d\d)(\d)$/, '$1.$2.$3') // 12.122 => 12.12.2
64
+ .replace(/^(\d\d)\d\.(.*)/, '$1.$2') // 123.12.2005 => 12.12.2005
65
+ .replace(/^(\d\d\.\d\d)\d\.(.*)/, '$1.$2') // 12.123.2005 => 12.12.2005
66
+ .replace(/\.$/, '') // 12. => 12
67
+ .replace(/\ $/, '') // 1 2 => 12
68
+ .replace(/\:$/, '') // 1:2 => 12
69
+ .replace(/^(\d\d)(\d.*)/, '$1.$2') // 1212 => 12.12
70
+ .replace(/^(\d\d.\d\d)(\d.*)/, '$1.$2') // 12.122 => 12.12.2
71
+ .replace(/^(\d\d\.\d\d)(\d\d\d\d)/, '$1.$2') // 12.122005 => 12.12.2005
72
+ .replace(/^(\d\d)(\d\d\.\d\d\d\d)/, '$1.$2') // 1212.2005 => 12.12.2005
73
+ .replace(/^(\d\d.\d\d\.\d\d\d\d),/, '$1') // 12.12.2005 => 12.12.2005
74
+ .replace(/^(\d\d.\d\d\.\d\d\d\d)(\d)/, '$1, $2') // 12.12.20050 => 12.12.2005, 0
75
+ .replace(/^(\d\d.\d\d\.\d\d\d\d),(\d.*)/, '$1, $2') // 12.12.2005,00:00 => 12.12.2005, 00:00
76
+ .replace(/^(\d\d.\d\d\.\d\d\d\d) (\d.*)/, '$1, $2') // 12.12.2005 00:00 => 12.12.2005, 00:00
77
+ .replace(/^(\d\d.\d\d\.\d\d\d\d)(\d.*)/, '$1, $2') // 12.12.200500:00=> 12.12.2005, 00:00
78
+ .replace(/^(\d\d.\d\d\.\d\d\d\d), (\d\d):/, '$1, $2') // 12.12.2005, 00: => 12.12.2005, 00
79
+ .replace(/^(\d\d.\d\d\.\d\d\d\d), (\d\d)(\d)/, '$1, $2:$3');
80
+ }; // 12.12.2005, 000 => 12.12.2005, 00:0
81
+ var parseTimestampToDate = function (timestamp) {
82
+ var date = new Date(timestamp);
83
+ var year = date.getFullYear();
84
+ var month = date.getMonth() + 1;
85
+ var day = date.getDate();
86
+ if (month < 10) {
87
+ month = "0" + month;
88
+ }
89
+ if (day < 10) {
90
+ day = "0" + day;
91
+ }
92
+ return day + "." + month + "." + year;
93
+ };
94
+ var getDateWithoutTime = function (value) {
95
+ var valueArr = value.split(', ');
96
+ var day;
97
+ var month;
98
+ var year;
99
+ if (valueArr[0]) {
100
+ var date_1 = valueArr[0].split('.');
101
+ day = date_1[0], month = date_1[1], year = date_1[2];
102
+ }
103
+ var date = new Date();
104
+ date.setFullYear(Number(year), Number(month) - 1, Number(day));
105
+ date.setHours(0, 0, 0, 0);
106
+ return date;
107
+ };
108
+ var getFullDateTime = function (value) {
109
+ var valueArr = value.split(', ');
110
+ var day;
111
+ var month;
112
+ var year;
113
+ var hours;
114
+ var mins;
115
+ if (valueArr[0]) {
116
+ var date = valueArr[0].split('.');
117
+ day = date[0], month = date[1], year = date[2];
118
+ }
119
+ if (valueArr[1]) {
120
+ var time = valueArr[1].split(':');
121
+ hours = Number(time[0]);
122
+ mins = Number(time[1]);
123
+ }
124
+ var fullDate = new Date();
125
+ fullDate.setFullYear(Number(year), Number(month) - 1, Number(day));
126
+ fullDate.setHours(Number(hours) || 0);
127
+ fullDate.setMinutes(Number(mins) || 0);
128
+ return fullDate;
129
+ };
130
+ var setTimeToDate = function (value) {
131
+ if (value.length === 10 && dateFnsIsValid__default['default'](parseDateString(value))) {
132
+ return value + ", 00:00";
133
+ }
134
+ return value;
135
+ };
136
+
137
+ exports.DATE_FORMAT = DATE_FORMAT;
138
+ exports.DATE_MASK = DATE_MASK;
139
+ exports.format = format;
140
+ exports.getDateWithoutTime = getDateWithoutTime;
141
+ exports.getFullDateTime = getFullDateTime;
142
+ exports.isCompleteDateInput = isCompleteDateInput;
143
+ exports.isValid = isValid;
144
+ exports.isValidTimeFormat = isValidTimeFormat;
145
+ exports.parseDateString = parseDateString;
146
+ exports.parseTimestampToDate = parseTimestampToDate;
147
+ exports.setTimeToDate = setTimeToDate;
@@ -0,0 +1 @@
1
+ export * from "./format";
package/utils/index.js ADDED
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('date-fns/parse');
6
+ require('date-fns/isValid');
7
+ var utils_format = require('./format.js');
8
+
9
+
10
+
11
+ exports.DATE_FORMAT = utils_format.DATE_FORMAT;
12
+ exports.DATE_MASK = utils_format.DATE_MASK;
13
+ exports.format = utils_format.format;
14
+ exports.getDateWithoutTime = utils_format.getDateWithoutTime;
15
+ exports.getFullDateTime = utils_format.getFullDateTime;
16
+ exports.isCompleteDateInput = utils_format.isCompleteDateInput;
17
+ exports.isValid = utils_format.isValid;
18
+ exports.isValidTimeFormat = utils_format.isValidTimeFormat;
19
+ exports.parseDateString = utils_format.parseDateString;
20
+ exports.parseTimestampToDate = utils_format.parseTimestampToDate;
21
+ exports.setTimeToDate = utils_format.setTimeToDate;