jconsumer-shared 1.2.4 → 1.2.5
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/calendar/time/jaldee-time-service.mjs +203 -0
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/jconsumer-shared.mjs +201 -1
- package/fesm2022/jconsumer-shared.mjs.map +1 -1
- package/jconsumer-shared-1.2.5.tgz +0 -0
- package/lib/calendar/time/jaldee-time-service.d.ts +28 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/jconsumer-shared-1.2.4.tgz +0 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../date-time/datetime-processor.service";
|
|
4
|
+
export class JaldeeTimeService {
|
|
5
|
+
dateTimeProcessor;
|
|
6
|
+
moment;
|
|
7
|
+
constructor(dateTimeProcessor) {
|
|
8
|
+
this.dateTimeProcessor = dateTimeProcessor;
|
|
9
|
+
this.moment = this.dateTimeProcessor.getMoment();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param interval
|
|
14
|
+
* @param startTime
|
|
15
|
+
* @param endTime
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
getTimeSlotsFromQTimings(interval, startTime, endTime) {
|
|
19
|
+
const slotList = [];
|
|
20
|
+
// slotList.push(startTime);
|
|
21
|
+
const startTimeStr = this.moment(startTime, ['HH:mm A']).format('HH:mm A').toString();
|
|
22
|
+
let startingDTime = this.dateTimeProcessor.getDateFromTimeString(startTimeStr);
|
|
23
|
+
slotList.push(this.moment(startTime, ['HH:mm A']).format('hh:mm A').toString());
|
|
24
|
+
const endTimeStr = this.moment(endTime, ['HH:mm A']).format('HH:mm A').toString();
|
|
25
|
+
const endDTime = this.dateTimeProcessor.getDateFromTimeString(endTimeStr);
|
|
26
|
+
// tslint:disable-next-line:radix
|
|
27
|
+
const endDate = parseInt(this.moment(endDTime, ['DD']).format('DD').toString());
|
|
28
|
+
// let startingDTime = this.getDateFromTimeString(startTime);
|
|
29
|
+
let exitLoop = false;
|
|
30
|
+
while (!exitLoop) {
|
|
31
|
+
const nextTime = this.moment(startingDTime).add(interval, 'm');
|
|
32
|
+
// tslint:disable-next-line:radix
|
|
33
|
+
const nextDate = parseInt(nextTime.format('DD'));
|
|
34
|
+
const nextTimeDt = this.dateTimeProcessor.getDateFromTimeString(this.moment(nextTime, ['HH:mm A']).format('HH:mm A').toString());
|
|
35
|
+
if (nextDate === endDate) {
|
|
36
|
+
if (nextTimeDt.getTime() <= endDTime.getTime()) {
|
|
37
|
+
slotList.push(this.moment(nextTime, ['HH:mm A']).format('hh:mm A').toString());
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
exitLoop = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
exitLoop = true;
|
|
45
|
+
}
|
|
46
|
+
startingDTime = nextTimeDt;
|
|
47
|
+
}
|
|
48
|
+
return slotList;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* @param schedule_arr
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
55
|
+
arrageScheduleforDisplay(schedule_arr) {
|
|
56
|
+
const timebase = [];
|
|
57
|
+
for (let i = 0; i < schedule_arr.length; i++) {
|
|
58
|
+
const timeindx = schedule_arr[i]['sTime'].replace(/\s+/, '') + schedule_arr[i]['eTime'].replace(/\s+/, '');
|
|
59
|
+
if (timebase[timeindx] === undefined) {
|
|
60
|
+
timebase[timeindx] = new Array();
|
|
61
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
for (const obj in timebase) {
|
|
68
|
+
if (obj) {
|
|
69
|
+
const len = timebase[obj].length;
|
|
70
|
+
for (let i = 0; i < len; i++) {
|
|
71
|
+
for (let j = i + 1; j < len; j++) {
|
|
72
|
+
if (timebase[obj][j].day < timebase[obj][i].day) {
|
|
73
|
+
const tempobj = timebase[obj][i];
|
|
74
|
+
timebase[obj][i] = timebase[obj][j];
|
|
75
|
+
timebase[obj][j] = tempobj;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const displaysch = [];
|
|
82
|
+
let pday = 0;
|
|
83
|
+
for (const obj in timebase) {
|
|
84
|
+
if (obj) {
|
|
85
|
+
let curstr = '';
|
|
86
|
+
let gap = 0;
|
|
87
|
+
for (let i = 0; i < timebase[obj].length; i++) {
|
|
88
|
+
if (i === 0) {
|
|
89
|
+
curstr = this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
90
|
+
pday = timebase[obj][i].day;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
const diffs = timebase[obj][i].day - pday;
|
|
94
|
+
if (diffs > 1) {
|
|
95
|
+
if (gap >= 1) {
|
|
96
|
+
if (curstr.includes((this.dateTimeProcessor.getDay(pday)))) {
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
curstr = curstr + ' - ' + this.dateTimeProcessor.getDay(pday);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
curstr = curstr + ', ' + this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
if (i === (timebase[obj].length - 1)) {
|
|
106
|
+
curstr = curstr + ' - ' + this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
107
|
+
}
|
|
108
|
+
gap++;
|
|
109
|
+
}
|
|
110
|
+
pday = timebase[obj][i].day;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
displaysch.push({ 'time': timebase[obj][0]['sTime'] + ' - ' + timebase[obj][0]['eTime'], 'dstr': curstr, 'indx': obj, 'recurrtype': timebase[obj][0]['recurrtype'] });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return displaysch;
|
|
117
|
+
}
|
|
118
|
+
getminutesOfDay(m) {
|
|
119
|
+
return parseInt(m.minute, 10) + parseInt(m.hour, 10) * 60;
|
|
120
|
+
}
|
|
121
|
+
getTimeinMin(time) {
|
|
122
|
+
const time_min = (time.hour * 60) + time.minute;
|
|
123
|
+
return (typeof (time_min) === 'number') ? time_min : 0;
|
|
124
|
+
}
|
|
125
|
+
prepareScheduleforSaving(schedule_arr) {
|
|
126
|
+
const timebase = [];
|
|
127
|
+
for (let i = 0; i < schedule_arr.length; i++) {
|
|
128
|
+
const timeindx = schedule_arr[i]['sTime'].replace(/\s+/, '') + schedule_arr[i]['eTime'].replace(/\s+/, '');
|
|
129
|
+
if (timebase[timeindx] === undefined) {
|
|
130
|
+
timebase[timeindx] = new Array();
|
|
131
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
for (const obj in timebase) {
|
|
138
|
+
if (obj) {
|
|
139
|
+
const len = timebase[obj].length;
|
|
140
|
+
for (let i = 0; i < len; i++) {
|
|
141
|
+
for (let j = i + 1; j < len; j++) {
|
|
142
|
+
if (timebase[obj][j].day < timebase[obj][i].day) {
|
|
143
|
+
const tempobj = timebase[obj][i];
|
|
144
|
+
timebase[obj][i] = timebase[obj][j];
|
|
145
|
+
timebase[obj][j] = tempobj;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const displaysch = [];
|
|
152
|
+
for (const obj in timebase) {
|
|
153
|
+
if (obj) {
|
|
154
|
+
const curstr = [];
|
|
155
|
+
for (let i = 0; i < timebase[obj].length; i++) {
|
|
156
|
+
curstr.push(timebase[obj][i].day);
|
|
157
|
+
}
|
|
158
|
+
displaysch.push({ 'stime': timebase[obj][0]['sTime'], 'etime': timebase[obj][0]['eTime'], 'daystr': curstr });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return displaysch;
|
|
162
|
+
}
|
|
163
|
+
formatTime(hours, minutes) {
|
|
164
|
+
let sHours = hours.toString();
|
|
165
|
+
let sMinutes = minutes.toString();
|
|
166
|
+
if (hours < 10) {
|
|
167
|
+
sHours = '0' + sHours;
|
|
168
|
+
}
|
|
169
|
+
if (minutes < 10) {
|
|
170
|
+
sMinutes = '0' + sMinutes;
|
|
171
|
+
}
|
|
172
|
+
const time24 = sHours + ':' + sMinutes + ':00';
|
|
173
|
+
return time24;
|
|
174
|
+
}
|
|
175
|
+
AMHourto24Time(time12) {
|
|
176
|
+
const time = time12;
|
|
177
|
+
let hours = Number(time.match(/^(\d+)/)[1]);
|
|
178
|
+
const minutes = Number(time.match(/:(\d+)/)[1]);
|
|
179
|
+
const AMPM = time.match(/\s(.*)$/)[1];
|
|
180
|
+
if (AMPM === 'PM' && hours < 12) {
|
|
181
|
+
hours = hours + 12;
|
|
182
|
+
}
|
|
183
|
+
if (AMPM === 'AM' && hours === 12) {
|
|
184
|
+
hours = hours - 12;
|
|
185
|
+
}
|
|
186
|
+
let sHours = hours.toString();
|
|
187
|
+
let sMinutes = minutes.toString();
|
|
188
|
+
if (hours < 10) {
|
|
189
|
+
sHours = '0' + sHours;
|
|
190
|
+
}
|
|
191
|
+
if (minutes < 10) {
|
|
192
|
+
sMinutes = '0' + sMinutes;
|
|
193
|
+
}
|
|
194
|
+
const time24 = sHours + ':' + sMinutes + ':00';
|
|
195
|
+
return time24;
|
|
196
|
+
}
|
|
197
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService, deps: [{ token: i1.DateTimeProcessor }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
198
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService });
|
|
199
|
+
}
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService, decorators: [{
|
|
201
|
+
type: Injectable
|
|
202
|
+
}], ctorParameters: () => [{ type: i1.DateTimeProcessor }] });
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFsZGVlLXRpbWUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9jYWxlbmRhci90aW1lL2phbGRlZS10aW1lLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFHTjtJQUZwQixNQUFNLENBQU07SUFFWixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsd0JBQXdCLENBQUMsUUFBYSxFQUFFLFNBQWMsRUFBRSxPQUFZO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQiw0QkFBNEI7UUFDNUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0UsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDMUUsaUNBQWlDO1FBQ2pDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEYsNkRBQTZEO1FBQzdELElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztRQUNyQixPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDL0QsaUNBQWlDO1lBQ2pDLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNqSSxJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7b0JBQzdDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2dCQUNuRixDQUFDO3FCQUFNLENBQUM7b0JBQ0osUUFBUSxHQUFHLElBQUksQ0FBQztnQkFDcEIsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLENBQUM7WUFDRCxhQUFhLEdBQUcsVUFBVSxDQUFDO1FBQy9CLENBQUM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILHdCQUF3QixDQUFDLFlBQWlCO1FBQ3RDLE1BQU0sUUFBUSxHQUFRLEVBQUUsQ0FBQztRQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzNHLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNuQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDakMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0wsQ0FBQztRQUNELEtBQUssTUFBTSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDTixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUNqQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQy9CLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7NEJBQzlDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDakMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQzt3QkFDL0IsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixLQUFLLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNoQixJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUM7Z0JBQ1osS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7d0JBQ1YsTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUM3RCxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztvQkFDaEMsQ0FBQzt5QkFBTSxDQUFDO3dCQUNKLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO3dCQUMxQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQzs0QkFDWixJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQ0FDWCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dDQUM3RCxDQUFDO3FDQUFNLENBQUM7b0NBQ0osTUFBTSxHQUFHLE1BQU0sR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQ0FDbEUsQ0FBQzs0QkFDTCxDQUFDOzRCQUNELE1BQU0sR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUNqRixDQUFDOzZCQUFNLENBQUM7NEJBQ0osSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0NBQ25DLE1BQU0sR0FBRyxNQUFNLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDOzRCQUNsRixDQUFDOzRCQUNELEdBQUcsRUFBRSxDQUFDO3dCQUNWLENBQUM7d0JBQ0QsSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7b0JBQ2hDLENBQUM7Z0JBQ0wsQ0FBQztnQkFDRCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMxSyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxlQUFlLENBQUMsQ0FBQztRQUNiLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFDRCxZQUFZLENBQUMsSUFBSTtRQUNiLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2hELE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCx3QkFBd0IsQ0FBQyxZQUFZO1FBQ2pDLE1BQU0sUUFBUSxHQUFRLEVBQUUsQ0FBQztRQUN6QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzNHLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUNuQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDakMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QyxDQUFDO1FBQ0wsQ0FBQztRQUNELEtBQUssTUFBTSxHQUFHLElBQUksUUFBUSxFQUFFLENBQUM7WUFDekIsSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDTixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO2dCQUNqQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7b0JBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQy9CLElBQUksUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7NEJBQzlDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDakMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs0QkFDcEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQzt3QkFDL0IsQ0FBQztvQkFDTCxDQUFDO2dCQUNMLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUN0QixLQUFLLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3pCLElBQUksR0FBRyxFQUFFLENBQUM7Z0JBQ04sTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO29CQUM1QyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDdEMsQ0FBQztnQkFDRCxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2xILENBQUM7UUFDTCxDQUFDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBTztRQUNyQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2IsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksT0FBTyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2YsUUFBUSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUMvQyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBQ0QsY0FBYyxDQUFDLE1BQU07UUFDakIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLElBQUksSUFBSSxLQUFLLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFBQyxLQUFLLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUFDLENBQUM7UUFDeEQsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEVBQUUsQ0FBQztZQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQUMsQ0FBQztRQUMxRCxJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDOUIsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2IsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksT0FBTyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2YsUUFBUSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUMvQyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO3dHQXZMUSxpQkFBaUI7NEdBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFGN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEYXRlVGltZVByb2Nlc3NvciB9IGZyb20gXCIuLi9kYXRlLXRpbWUvZGF0ZXRpbWUtcHJvY2Vzc29yLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuXHJcbmV4cG9ydCBjbGFzcyBKYWxkZWVUaW1lU2VydmljZSB7XHJcbiAgICBtb21lbnQ6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGVUaW1lUHJvY2Vzc29yOiBEYXRlVGltZVByb2Nlc3Nvcikge1xyXG4gICAgICAgIHRoaXMubW9tZW50ID0gdGhpcy5kYXRlVGltZVByb2Nlc3Nvci5nZXRNb21lbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGludGVydmFsIFxyXG4gICAgICogQHBhcmFtIHN0YXJ0VGltZSBcclxuICAgICAqIEBwYXJhbSBlbmRUaW1lIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIGdldFRpbWVTbG90c0Zyb21RVGltaW5ncyhpbnRlcnZhbDogYW55LCBzdGFydFRpbWU6IGFueSwgZW5kVGltZTogYW55KSB7XHJcbiAgICAgICAgY29uc3Qgc2xvdExpc3QgPSBbXTtcclxuICAgICAgICAvLyBzbG90TGlzdC5wdXNoKHN0YXJ0VGltZSk7XHJcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lU3RyID0gdGhpcy5tb21lbnQoc3RhcnRUaW1lLCBbJ0hIOm1tIEEnXSkuZm9ybWF0KCdISDptbSBBJykudG9TdHJpbmcoKTtcclxuICAgICAgICBsZXQgc3RhcnRpbmdEVGltZSA9IHRoaXMuZGF0ZVRpbWVQcm9jZXNzb3IuZ2V0RGF0ZUZyb21UaW1lU3RyaW5nKHN0YXJ0VGltZVN0cik7XHJcbiAgICAgICAgc2xvdExpc3QucHVzaCh0aGlzLm1vbWVudChzdGFydFRpbWUsIFsnSEg6bW0gQSddKS5mb3JtYXQoJ2hoOm1tIEEnKS50b1N0cmluZygpKTtcclxuICAgICAgICBjb25zdCBlbmRUaW1lU3RyID0gdGhpcy5tb21lbnQoZW5kVGltZSwgWydISDptbSBBJ10pLmZvcm1hdCgnSEg6bW0gQScpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgY29uc3QgZW5kRFRpbWUgPSB0aGlzLmRhdGVUaW1lUHJvY2Vzc29yLmdldERhdGVGcm9tVGltZVN0cmluZyhlbmRUaW1lU3RyKTtcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cmFkaXhcclxuICAgICAgICBjb25zdCBlbmREYXRlID0gcGFyc2VJbnQodGhpcy5tb21lbnQoZW5kRFRpbWUsIFsnREQnXSkuZm9ybWF0KCdERCcpLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIC8vIGxldCBzdGFydGluZ0RUaW1lID0gdGhpcy5nZXREYXRlRnJvbVRpbWVTdHJpbmcoc3RhcnRUaW1lKTtcclxuICAgICAgICBsZXQgZXhpdExvb3AgPSBmYWxzZTtcclxuICAgICAgICB3aGlsZSAoIWV4aXRMb29wKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5leHRUaW1lID0gdGhpcy5tb21lbnQoc3RhcnRpbmdEVGltZSkuYWRkKGludGVydmFsLCAnbScpO1xyXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cmFkaXhcclxuICAgICAgICAgICAgY29uc3QgbmV4dERhdGUgPSBwYXJzZUludChuZXh0VGltZS5mb3JtYXQoJ0REJykpO1xyXG4gICAgICAgICAgICBjb25zdCBuZXh0VGltZUR0ID0gdGhpcy5kYXRlVGltZVByb2Nlc3Nvci5nZXREYXRlRnJvbVRpbWVTdHJpbmcodGhpcy5tb21lbnQobmV4dFRpbWUsIFsnSEg6bW0gQSddKS5mb3JtYXQoJ0hIOm1tIEEnKS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgaWYgKG5leHREYXRlID09PSBlbmREYXRlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobmV4dFRpbWVEdC5nZXRUaW1lKCkgPD0gZW5kRFRpbWUuZ2V0VGltZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2xvdExpc3QucHVzaCh0aGlzLm1vbWVudChuZXh0VGltZSwgWydISDptbSBBJ10pLmZvcm1hdCgnaGg6bW0gQScpLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBleGl0TG9vcCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBleGl0TG9vcCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3RhcnRpbmdEVGltZSA9IG5leHRUaW1lRHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzbG90TGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHNjaGVkdWxlX2FyciBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBhcnJhZ2VTY2hlZHVsZWZvckRpc3BsYXkoc2NoZWR1bGVfYXJyOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB0aW1lYmFzZTogYW55ID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzY2hlZHVsZV9hcnIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgdGltZWluZHggPSBzY2hlZHVsZV9hcnJbaV1bJ3NUaW1lJ10ucmVwbGFjZSgvXFxzKy8sICcnKSArIHNjaGVkdWxlX2FycltpXVsnZVRpbWUnXS5yZXBsYWNlKC9cXHMrLywgJycpO1xyXG4gICAgICAgICAgICBpZiAodGltZWJhc2VbdGltZWluZHhdID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHRpbWViYXNlW3RpbWVpbmR4XSA9IG5ldyBBcnJheSgpO1xyXG4gICAgICAgICAgICAgICAgdGltZWJhc2VbdGltZWluZHhdLnB1c2goc2NoZWR1bGVfYXJyW2ldKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRpbWViYXNlW3RpbWVpbmR4XS5wdXNoKHNjaGVkdWxlX2FycltpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmogaW4gdGltZWJhc2UpIHtcclxuICAgICAgICAgICAgaWYgKG9iaikge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGVuID0gdGltZWJhc2Vbb2JqXS5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgbGVuOyBqKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWViYXNlW29ial1bal0uZGF5IDwgdGltZWJhc2Vbb2JqXVtpXS5kYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBvYmogPSB0aW1lYmFzZVtvYmpdW2ldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWJhc2Vbb2JqXVtpXSA9IHRpbWViYXNlW29ial1bal07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lYmFzZVtvYmpdW2pdID0gdGVtcG9iajtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkaXNwbGF5c2NoID0gW107XHJcbiAgICAgICAgbGV0IHBkYXkgPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3Qgb2JqIGluIHRpbWViYXNlKSB7XHJcbiAgICAgICAgICAgIGlmIChvYmopIHtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJzdHIgPSAnJztcclxuICAgICAgICAgICAgICAgIGxldCBnYXAgPSAwO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aW1lYmFzZVtvYmpdLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc3RyID0gdGhpcy5kYXRlVGltZVByb2Nlc3Nvci5nZXREYXkodGltZWJhc2Vbb2JqXVtpXS5kYXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwZGF5ID0gdGltZWJhc2Vbb2JqXVtpXS5kYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlmZnMgPSB0aW1lYmFzZVtvYmpdW2ldLmRheSAtIHBkYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaWZmcyA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnYXAgPj0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJzdHIuaW5jbHVkZXMoKHRoaXMuZGF0ZVRpbWVQcm9jZXNzb3IuZ2V0RGF5KHBkYXkpKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzdHIgPSBjdXJzdHIgKyAnIC0gJyArIHRoaXMuZGF0ZVRpbWVQcm9jZXNzb3IuZ2V0RGF5KHBkYXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnN0ciA9IGN1cnN0ciArICcsICcgKyB0aGlzLmRhdGVUaW1lUHJvY2Vzc29yLmdldERheSh0aW1lYmFzZVtvYmpdW2ldLmRheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PT0gKHRpbWViYXNlW29ial0ubGVuZ3RoIC0gMSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzdHIgPSBjdXJzdHIgKyAnIC0gJyArIHRoaXMuZGF0ZVRpbWVQcm9jZXNzb3IuZ2V0RGF5KHRpbWViYXNlW29ial1baV0uZGF5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcCsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBkYXkgPSB0aW1lYmFzZVtvYmpdW2ldLmRheTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5c2NoLnB1c2goeyAndGltZSc6IHRpbWViYXNlW29ial1bMF1bJ3NUaW1lJ10gKyAnIC0gJyArIHRpbWViYXNlW29ial1bMF1bJ2VUaW1lJ10sICdkc3RyJzogY3Vyc3RyLCAnaW5keCc6IG9iaiwgJ3JlY3VycnR5cGUnOiB0aW1lYmFzZVtvYmpdWzBdWydyZWN1cnJ0eXBlJ10gfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlzY2g7XHJcbiAgICB9XHJcbiAgICBnZXRtaW51dGVzT2ZEYXkobSkge1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludChtLm1pbnV0ZSwgMTApICsgcGFyc2VJbnQobS5ob3VyLCAxMCkgKiA2MDtcclxuICAgIH1cclxuICAgIGdldFRpbWVpbk1pbih0aW1lKSB7XHJcbiAgICAgICAgY29uc3QgdGltZV9taW4gPSAodGltZS5ob3VyICogNjApICsgdGltZS5taW51dGU7XHJcbiAgICAgICAgcmV0dXJuICh0eXBlb2YgKHRpbWVfbWluKSA9PT0gJ251bWJlcicpID8gdGltZV9taW4gOiAwO1xyXG4gICAgfVxyXG4gICAgcHJlcGFyZVNjaGVkdWxlZm9yU2F2aW5nKHNjaGVkdWxlX2Fycikge1xyXG4gICAgICAgIGNvbnN0IHRpbWViYXNlOiBhbnkgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNjaGVkdWxlX2Fyci5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCB0aW1laW5keCA9IHNjaGVkdWxlX2FycltpXVsnc1RpbWUnXS5yZXBsYWNlKC9cXHMrLywgJycpICsgc2NoZWR1bGVfYXJyW2ldWydlVGltZSddLnJlcGxhY2UoL1xccysvLCAnJyk7XHJcbiAgICAgICAgICAgIGlmICh0aW1lYmFzZVt0aW1laW5keF0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgdGltZWJhc2VbdGltZWluZHhdID0gbmV3IEFycmF5KCk7XHJcbiAgICAgICAgICAgICAgICB0aW1lYmFzZVt0aW1laW5keF0ucHVzaChzY2hlZHVsZV9hcnJbaV0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGltZWJhc2VbdGltZWluZHhdLnB1c2goc2NoZWR1bGVfYXJyW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IG9iaiBpbiB0aW1lYmFzZSkge1xyXG4gICAgICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsZW4gPSB0aW1lYmFzZVtvYmpdLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBsZW47IGorKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGltZWJhc2Vbb2JqXVtqXS5kYXkgPCB0aW1lYmFzZVtvYmpdW2ldLmRheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVtcG9iaiA9IHRpbWViYXNlW29ial1baV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lYmFzZVtvYmpdW2ldID0gdGltZWJhc2Vbb2JqXVtqXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWViYXNlW29ial1bal0gPSB0ZW1wb2JqO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGRpc3BsYXlzY2ggPSBbXTtcclxuICAgICAgICBmb3IgKGNvbnN0IG9iaiBpbiB0aW1lYmFzZSkge1xyXG4gICAgICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJzdHIgPSBbXTtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGltZWJhc2Vbb2JqXS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnN0ci5wdXNoKHRpbWViYXNlW29ial1baV0uZGF5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGRpc3BsYXlzY2gucHVzaCh7ICdzdGltZSc6IHRpbWViYXNlW29ial1bMF1bJ3NUaW1lJ10sICdldGltZSc6IHRpbWViYXNlW29ial1bMF1bJ2VUaW1lJ10sICdkYXlzdHInOiBjdXJzdHIgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlzY2g7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybWF0VGltZShob3VycywgbWludXRlcykge1xyXG4gICAgICAgIGxldCBzSG91cnMgPSBob3Vycy50b1N0cmluZygpO1xyXG4gICAgICAgIGxldCBzTWludXRlcyA9IG1pbnV0ZXMudG9TdHJpbmcoKTtcclxuICAgICAgICBpZiAoaG91cnMgPCAxMCkge1xyXG4gICAgICAgICAgICBzSG91cnMgPSAnMCcgKyBzSG91cnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChtaW51dGVzIDwgMTApIHtcclxuICAgICAgICAgICAgc01pbnV0ZXMgPSAnMCcgKyBzTWludXRlcztcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdGltZTI0ID0gc0hvdXJzICsgJzonICsgc01pbnV0ZXMgKyAnOjAwJztcclxuICAgICAgICByZXR1cm4gdGltZTI0O1xyXG4gICAgfVxyXG4gICAgQU1Ib3VydG8yNFRpbWUodGltZTEyKSB7XHJcbiAgICAgICAgY29uc3QgdGltZSA9IHRpbWUxMjtcclxuICAgICAgICBsZXQgaG91cnMgPSBOdW1iZXIodGltZS5tYXRjaCgvXihcXGQrKS8pWzFdKTtcclxuICAgICAgICBjb25zdCBtaW51dGVzID0gTnVtYmVyKHRpbWUubWF0Y2goLzooXFxkKykvKVsxXSk7XHJcbiAgICAgICAgY29uc3QgQU1QTSA9IHRpbWUubWF0Y2goL1xccyguKikkLylbMV07XHJcbiAgICAgICAgaWYgKEFNUE0gPT09ICdQTScgJiYgaG91cnMgPCAxMikgeyBob3VycyA9IGhvdXJzICsgMTI7IH1cclxuICAgICAgICBpZiAoQU1QTSA9PT0gJ0FNJyAmJiBob3VycyA9PT0gMTIpIHsgaG91cnMgPSBob3VycyAtIDEyOyB9XHJcbiAgICAgICAgbGV0IHNIb3VycyA9IGhvdXJzLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgbGV0IHNNaW51dGVzID0gbWludXRlcy50b1N0cmluZygpO1xyXG4gICAgICAgIGlmIChob3VycyA8IDEwKSB7XHJcbiAgICAgICAgICAgIHNIb3VycyA9ICcwJyArIHNIb3VycztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG1pbnV0ZXMgPCAxMCkge1xyXG4gICAgICAgICAgICBzTWludXRlcyA9ICcwJyArIHNNaW51dGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0aW1lMjQgPSBzSG91cnMgKyAnOicgKyBzTWludXRlcyArICc6MDAnO1xyXG4gICAgICAgIHJldHVybiB0aW1lMjQ7XHJcbiAgICB9XHJcbn1cclxuIl19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -46,6 +46,7 @@ export * from './lib/pipes/short-filename/short-file-name.pipe';
|
|
|
46
46
|
export * from './lib/form-message/form-message-display.service';
|
|
47
47
|
export * from './lib/form-message/form-message-display.module';
|
|
48
48
|
export * from './lib/calendar/date-time/datetime-processor.service';
|
|
49
|
+
export * from './lib/calendar/time/jaldee-time-service';
|
|
49
50
|
export * from './lib/timezone-converter';
|
|
50
51
|
export * from './lib/form-message/form-success-display/form-success-display.component';
|
|
51
52
|
export * from './lib/form-message/field-error-display/field-error-display.component';
|
|
@@ -74,4 +75,4 @@ export * from './lib/injector-resolver';
|
|
|
74
75
|
export * from './lib/j-gallery/j-gallery.service';
|
|
75
76
|
export * from './lib/j-gallery/j-gallery.module';
|
|
76
77
|
export * from './lib/j-gallery/j-gallery.component';
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyxpREFBaUQsQ0FBQztBQUNoRSxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3RUFBd0UsQ0FBQztBQUN2RixjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgamNvbnN1bWVyLXNoYXJlZFxyXG4gKi9cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXRpbGl0eS9yZW1vdGUtbG9hZGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS1tZXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Vic2NyaXB0aW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90b2FzdC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aGVtZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaThuLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL29yZGVyLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hY2NvdW50LXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQtYWNjb3VudC5ndWFyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC1hY2NvdW50LnJlc29sdmVyJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYXV0aC1zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsZS1zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tbW9uLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdW1lci1zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYm9va2luZy1zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZ3JvdXAtc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3ItbWVzc2FnZS5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZXJyb3ItbWVzc2FnZS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXNzaW9uLXN0b3JhZ2Uuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Byb2plY3QtY29uc3RhbnRzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvd29yZC1wcm9jZXNzb3Iuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2N1cnJlbmN5LXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wcm9qZWN0LW1lc3NhZ2VzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcmF6b3JwYXkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BheXRtLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9zYWZlLWh0bWwvc2FmZWh0bWwucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3NhZmUtaHRtbC9zYWZlaHRtbC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9saW1pdC10by9saW1pdFRvLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9saW1pdC10by9saW1pdFRvLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2ZpbHRlci9maWx0ZXIucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2ZpbHRlci9maWx0ZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvY2FwaXRhbGl6ZS9jYXBpdGFsaXplLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9jYXBpdGFsaXplL2NhcGl0YWxpemUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvYXV0b2xpbmsvYXV0b2xpbmsucGlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2F1dG9saW5rL2F1dG9saW5rLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2RhdGUtZm9ybWF0L2RhdGUtZm9ybWF0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2RhdGUtZm9ybWF0L2RhdGUtZm9ybWF0LnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9zaG9ydC1maWxlbmFtZS9zaG9ydC1maWxlLW5hbWUubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvc2hvcnQtZmlsZW5hbWUvc2hvcnQtZmlsZS1uYW1lLnBpcGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLW1lc3NhZ2UvZm9ybS1tZXNzYWdlLWRpc3BsYXkuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tbWVzc2FnZS9mb3JtLW1lc3NhZ2UtZGlzcGxheS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWxlbmRhci9kYXRlLXRpbWUvZGF0ZXRpbWUtcHJvY2Vzc29yLnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jYWxlbmRhci90aW1lL2phbGRlZS10aW1lLXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lem9uZS1jb252ZXJ0ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9mb3JtLW1lc3NhZ2UvZm9ybS1zdWNjZXNzLWRpc3BsYXkvZm9ybS1zdWNjZXNzLWRpc3BsYXkuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZm9ybS1tZXNzYWdlL2ZpZWxkLWVycm9yLWRpc3BsYXkvZmllbGQtZXJyb3ItZGlzcGxheS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9za2VsZXRvbi9za2VsZXRvbi1sb2FkaW5nLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NrZWxldG9uL3NrZWxldG9uLWxvYWRpbmcubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIubW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcXVlc3Rpb25haXJlL3F1ZXN0aW9uYWlyZS1zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcXVlc3Rpb25haXJlL2VkaXQvcXVlc3Rpb25uYWlyZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9xdWVzdGlvbmFpcmUvZWRpdC9xdWVzdGlvbm5haXJlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nob3d1cGxvYWRmaWxlL3Nob3d1cGxvYWRmaWxlLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nob3d1cGxvYWRmaWxlL3Nob3d1cGxvYWRmaWxlLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bob25lLWlucHV0L3Bob25lLWlucHV0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Bob25lLWlucHV0L3Bob25lLWlucHV0Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbmZpcm0vY29uZmlybS1ib3guY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29uZmlybS9jb25maXJtLWJveC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9wYXltZW50L21vZGVzL3BheW1lbnQtbW9kZXMuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcGF5bWVudC9tb2Rlcy9wYXltZW50LW1vZGVzLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BheW1lbnQvcGF5bWVudC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXF1ZXN0LWRpYWxvZy9yZXF1ZXN0LWRpYWxvZy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZXF1ZXN0LWRpYWxvZy9yZXF1ZXN0LWRpYWxvZy5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90d2lsaW8tc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21lZGlhLXNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lbnZpcm9ubWVudC5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvaW5qZWN0b3ItcmVzb2x2ZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9qLWdhbGxlcnkvai1nYWxsZXJ5LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9qLWdhbGxlcnkvai1nYWxsZXJ5Lm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2otZ2FsbGVyeS9qLWdhbGxlcnkuY29tcG9uZW50JzsiXX0=
|
|
@@ -4844,6 +4844,206 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
4844
4844
|
}]
|
|
4845
4845
|
}], ctorParameters: () => [{ type: ServiceMeta }] });
|
|
4846
4846
|
|
|
4847
|
+
class JaldeeTimeService {
|
|
4848
|
+
dateTimeProcessor;
|
|
4849
|
+
moment;
|
|
4850
|
+
constructor(dateTimeProcessor) {
|
|
4851
|
+
this.dateTimeProcessor = dateTimeProcessor;
|
|
4852
|
+
this.moment = this.dateTimeProcessor.getMoment();
|
|
4853
|
+
}
|
|
4854
|
+
/**
|
|
4855
|
+
*
|
|
4856
|
+
* @param interval
|
|
4857
|
+
* @param startTime
|
|
4858
|
+
* @param endTime
|
|
4859
|
+
* @returns
|
|
4860
|
+
*/
|
|
4861
|
+
getTimeSlotsFromQTimings(interval, startTime, endTime) {
|
|
4862
|
+
const slotList = [];
|
|
4863
|
+
// slotList.push(startTime);
|
|
4864
|
+
const startTimeStr = this.moment(startTime, ['HH:mm A']).format('HH:mm A').toString();
|
|
4865
|
+
let startingDTime = this.dateTimeProcessor.getDateFromTimeString(startTimeStr);
|
|
4866
|
+
slotList.push(this.moment(startTime, ['HH:mm A']).format('hh:mm A').toString());
|
|
4867
|
+
const endTimeStr = this.moment(endTime, ['HH:mm A']).format('HH:mm A').toString();
|
|
4868
|
+
const endDTime = this.dateTimeProcessor.getDateFromTimeString(endTimeStr);
|
|
4869
|
+
// tslint:disable-next-line:radix
|
|
4870
|
+
const endDate = parseInt(this.moment(endDTime, ['DD']).format('DD').toString());
|
|
4871
|
+
// let startingDTime = this.getDateFromTimeString(startTime);
|
|
4872
|
+
let exitLoop = false;
|
|
4873
|
+
while (!exitLoop) {
|
|
4874
|
+
const nextTime = this.moment(startingDTime).add(interval, 'm');
|
|
4875
|
+
// tslint:disable-next-line:radix
|
|
4876
|
+
const nextDate = parseInt(nextTime.format('DD'));
|
|
4877
|
+
const nextTimeDt = this.dateTimeProcessor.getDateFromTimeString(this.moment(nextTime, ['HH:mm A']).format('HH:mm A').toString());
|
|
4878
|
+
if (nextDate === endDate) {
|
|
4879
|
+
if (nextTimeDt.getTime() <= endDTime.getTime()) {
|
|
4880
|
+
slotList.push(this.moment(nextTime, ['HH:mm A']).format('hh:mm A').toString());
|
|
4881
|
+
}
|
|
4882
|
+
else {
|
|
4883
|
+
exitLoop = true;
|
|
4884
|
+
}
|
|
4885
|
+
}
|
|
4886
|
+
else {
|
|
4887
|
+
exitLoop = true;
|
|
4888
|
+
}
|
|
4889
|
+
startingDTime = nextTimeDt;
|
|
4890
|
+
}
|
|
4891
|
+
return slotList;
|
|
4892
|
+
}
|
|
4893
|
+
/**
|
|
4894
|
+
*
|
|
4895
|
+
* @param schedule_arr
|
|
4896
|
+
* @returns
|
|
4897
|
+
*/
|
|
4898
|
+
arrageScheduleforDisplay(schedule_arr) {
|
|
4899
|
+
const timebase = [];
|
|
4900
|
+
for (let i = 0; i < schedule_arr.length; i++) {
|
|
4901
|
+
const timeindx = schedule_arr[i]['sTime'].replace(/\s+/, '') + schedule_arr[i]['eTime'].replace(/\s+/, '');
|
|
4902
|
+
if (timebase[timeindx] === undefined) {
|
|
4903
|
+
timebase[timeindx] = new Array();
|
|
4904
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
4905
|
+
}
|
|
4906
|
+
else {
|
|
4907
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
4908
|
+
}
|
|
4909
|
+
}
|
|
4910
|
+
for (const obj in timebase) {
|
|
4911
|
+
if (obj) {
|
|
4912
|
+
const len = timebase[obj].length;
|
|
4913
|
+
for (let i = 0; i < len; i++) {
|
|
4914
|
+
for (let j = i + 1; j < len; j++) {
|
|
4915
|
+
if (timebase[obj][j].day < timebase[obj][i].day) {
|
|
4916
|
+
const tempobj = timebase[obj][i];
|
|
4917
|
+
timebase[obj][i] = timebase[obj][j];
|
|
4918
|
+
timebase[obj][j] = tempobj;
|
|
4919
|
+
}
|
|
4920
|
+
}
|
|
4921
|
+
}
|
|
4922
|
+
}
|
|
4923
|
+
}
|
|
4924
|
+
const displaysch = [];
|
|
4925
|
+
let pday = 0;
|
|
4926
|
+
for (const obj in timebase) {
|
|
4927
|
+
if (obj) {
|
|
4928
|
+
let curstr = '';
|
|
4929
|
+
let gap = 0;
|
|
4930
|
+
for (let i = 0; i < timebase[obj].length; i++) {
|
|
4931
|
+
if (i === 0) {
|
|
4932
|
+
curstr = this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
4933
|
+
pday = timebase[obj][i].day;
|
|
4934
|
+
}
|
|
4935
|
+
else {
|
|
4936
|
+
const diffs = timebase[obj][i].day - pday;
|
|
4937
|
+
if (diffs > 1) {
|
|
4938
|
+
if (gap >= 1) {
|
|
4939
|
+
if (curstr.includes((this.dateTimeProcessor.getDay(pday)))) {
|
|
4940
|
+
}
|
|
4941
|
+
else {
|
|
4942
|
+
curstr = curstr + ' - ' + this.dateTimeProcessor.getDay(pday);
|
|
4943
|
+
}
|
|
4944
|
+
}
|
|
4945
|
+
curstr = curstr + ', ' + this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
4946
|
+
}
|
|
4947
|
+
else {
|
|
4948
|
+
if (i === (timebase[obj].length - 1)) {
|
|
4949
|
+
curstr = curstr + ' - ' + this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
4950
|
+
}
|
|
4951
|
+
gap++;
|
|
4952
|
+
}
|
|
4953
|
+
pday = timebase[obj][i].day;
|
|
4954
|
+
}
|
|
4955
|
+
}
|
|
4956
|
+
displaysch.push({ 'time': timebase[obj][0]['sTime'] + ' - ' + timebase[obj][0]['eTime'], 'dstr': curstr, 'indx': obj, 'recurrtype': timebase[obj][0]['recurrtype'] });
|
|
4957
|
+
}
|
|
4958
|
+
}
|
|
4959
|
+
return displaysch;
|
|
4960
|
+
}
|
|
4961
|
+
getminutesOfDay(m) {
|
|
4962
|
+
return parseInt(m.minute, 10) + parseInt(m.hour, 10) * 60;
|
|
4963
|
+
}
|
|
4964
|
+
getTimeinMin(time) {
|
|
4965
|
+
const time_min = (time.hour * 60) + time.minute;
|
|
4966
|
+
return (typeof (time_min) === 'number') ? time_min : 0;
|
|
4967
|
+
}
|
|
4968
|
+
prepareScheduleforSaving(schedule_arr) {
|
|
4969
|
+
const timebase = [];
|
|
4970
|
+
for (let i = 0; i < schedule_arr.length; i++) {
|
|
4971
|
+
const timeindx = schedule_arr[i]['sTime'].replace(/\s+/, '') + schedule_arr[i]['eTime'].replace(/\s+/, '');
|
|
4972
|
+
if (timebase[timeindx] === undefined) {
|
|
4973
|
+
timebase[timeindx] = new Array();
|
|
4974
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
4975
|
+
}
|
|
4976
|
+
else {
|
|
4977
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
4978
|
+
}
|
|
4979
|
+
}
|
|
4980
|
+
for (const obj in timebase) {
|
|
4981
|
+
if (obj) {
|
|
4982
|
+
const len = timebase[obj].length;
|
|
4983
|
+
for (let i = 0; i < len; i++) {
|
|
4984
|
+
for (let j = i + 1; j < len; j++) {
|
|
4985
|
+
if (timebase[obj][j].day < timebase[obj][i].day) {
|
|
4986
|
+
const tempobj = timebase[obj][i];
|
|
4987
|
+
timebase[obj][i] = timebase[obj][j];
|
|
4988
|
+
timebase[obj][j] = tempobj;
|
|
4989
|
+
}
|
|
4990
|
+
}
|
|
4991
|
+
}
|
|
4992
|
+
}
|
|
4993
|
+
}
|
|
4994
|
+
const displaysch = [];
|
|
4995
|
+
for (const obj in timebase) {
|
|
4996
|
+
if (obj) {
|
|
4997
|
+
const curstr = [];
|
|
4998
|
+
for (let i = 0; i < timebase[obj].length; i++) {
|
|
4999
|
+
curstr.push(timebase[obj][i].day);
|
|
5000
|
+
}
|
|
5001
|
+
displaysch.push({ 'stime': timebase[obj][0]['sTime'], 'etime': timebase[obj][0]['eTime'], 'daystr': curstr });
|
|
5002
|
+
}
|
|
5003
|
+
}
|
|
5004
|
+
return displaysch;
|
|
5005
|
+
}
|
|
5006
|
+
formatTime(hours, minutes) {
|
|
5007
|
+
let sHours = hours.toString();
|
|
5008
|
+
let sMinutes = minutes.toString();
|
|
5009
|
+
if (hours < 10) {
|
|
5010
|
+
sHours = '0' + sHours;
|
|
5011
|
+
}
|
|
5012
|
+
if (minutes < 10) {
|
|
5013
|
+
sMinutes = '0' + sMinutes;
|
|
5014
|
+
}
|
|
5015
|
+
const time24 = sHours + ':' + sMinutes + ':00';
|
|
5016
|
+
return time24;
|
|
5017
|
+
}
|
|
5018
|
+
AMHourto24Time(time12) {
|
|
5019
|
+
const time = time12;
|
|
5020
|
+
let hours = Number(time.match(/^(\d+)/)[1]);
|
|
5021
|
+
const minutes = Number(time.match(/:(\d+)/)[1]);
|
|
5022
|
+
const AMPM = time.match(/\s(.*)$/)[1];
|
|
5023
|
+
if (AMPM === 'PM' && hours < 12) {
|
|
5024
|
+
hours = hours + 12;
|
|
5025
|
+
}
|
|
5026
|
+
if (AMPM === 'AM' && hours === 12) {
|
|
5027
|
+
hours = hours - 12;
|
|
5028
|
+
}
|
|
5029
|
+
let sHours = hours.toString();
|
|
5030
|
+
let sMinutes = minutes.toString();
|
|
5031
|
+
if (hours < 10) {
|
|
5032
|
+
sHours = '0' + sHours;
|
|
5033
|
+
}
|
|
5034
|
+
if (minutes < 10) {
|
|
5035
|
+
sMinutes = '0' + sMinutes;
|
|
5036
|
+
}
|
|
5037
|
+
const time24 = sHours + ':' + sMinutes + ':00';
|
|
5038
|
+
return time24;
|
|
5039
|
+
}
|
|
5040
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService, deps: [{ token: DateTimeProcessor }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5041
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService });
|
|
5042
|
+
}
|
|
5043
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService, decorators: [{
|
|
5044
|
+
type: Injectable
|
|
5045
|
+
}], ctorParameters: () => [{ type: DateTimeProcessor }] });
|
|
5046
|
+
|
|
4847
5047
|
class TimezoneConverter {
|
|
4848
5048
|
constructor() {
|
|
4849
5049
|
}
|
|
@@ -7529,5 +7729,5 @@ function setupInjectionContextForLoadChildren(route) {
|
|
|
7529
7729
|
* Generated bundle index. Do not edit.
|
|
7530
7730
|
*/
|
|
7531
7731
|
|
|
7532
|
-
export { AccountService, AuthService, AutolinkPipe, AutolinkPipeModule, BookingService, CapitalizeFirstPipe, CapitalizeFirstPipeModule, CommonService, ConfirmBoxComponent, ConfirmBoxModule, ConsumerService, CurrencyService, DateFormatPipe, DateFormatPipeModule, DateTimeProcessor, EnvironmentService, ErrorMessagingService, ErrrorMessageModule, FieldErrorDisplayComponent, FileService, FilterPipe, FilterPipeModule, FormMessageDisplayModule, FormMessageDisplayService, FormSuccessDisplayComponent, GroupStorageService, HttpLoaderFactory, I8nModule, JGalleryComponent, JGalleryModule, JGalleryService, LoadingSpinnerComponent, LoadingSpinnerModule, LocalStorageService, MediaService, Messages, OrderService, PaymentModesComponent, PaymentModesModule, PaymentsModule, PaytmService, PhoneInputComponent, PhoneInputModule, QuestionaireService, QuestionnaireComponent, QuestionnaireModule, RazorpayService, RequestDialogComponent, RequestDialogModule, SafeHtmlModule, SafeHtmlPipe, ServiceMeta, SessionStorageService, SharedAccountGuard, SharedAccountResolver, SharedService, ShortFileNameModule, ShortFileNamePipe, ShowuploadfileComponent, ShowuploadfileModule, SkeletonLoadingComponent, SkeletonLoadingModule, StorageService, SubscriptionService, ThemeService, TimezoneConverter, ToastService, TruncateModule, TruncatePipe, TwilioService, WordProcessor, loadRemoteModuleWithCache, projectConstantsLocal, setupInjectionContextForLoadChildren };
|
|
7732
|
+
export { AccountService, AuthService, AutolinkPipe, AutolinkPipeModule, BookingService, CapitalizeFirstPipe, CapitalizeFirstPipeModule, CommonService, ConfirmBoxComponent, ConfirmBoxModule, ConsumerService, CurrencyService, DateFormatPipe, DateFormatPipeModule, DateTimeProcessor, EnvironmentService, ErrorMessagingService, ErrrorMessageModule, FieldErrorDisplayComponent, FileService, FilterPipe, FilterPipeModule, FormMessageDisplayModule, FormMessageDisplayService, FormSuccessDisplayComponent, GroupStorageService, HttpLoaderFactory, I8nModule, JGalleryComponent, JGalleryModule, JGalleryService, JaldeeTimeService, LoadingSpinnerComponent, LoadingSpinnerModule, LocalStorageService, MediaService, Messages, OrderService, PaymentModesComponent, PaymentModesModule, PaymentsModule, PaytmService, PhoneInputComponent, PhoneInputModule, QuestionaireService, QuestionnaireComponent, QuestionnaireModule, RazorpayService, RequestDialogComponent, RequestDialogModule, SafeHtmlModule, SafeHtmlPipe, ServiceMeta, SessionStorageService, SharedAccountGuard, SharedAccountResolver, SharedService, ShortFileNameModule, ShortFileNamePipe, ShowuploadfileComponent, ShowuploadfileModule, SkeletonLoadingComponent, SkeletonLoadingModule, StorageService, SubscriptionService, ThemeService, TimezoneConverter, ToastService, TruncateModule, TruncatePipe, TwilioService, WordProcessor, loadRemoteModuleWithCache, projectConstantsLocal, setupInjectionContextForLoadChildren };
|
|
7533
7733
|
//# sourceMappingURL=jconsumer-shared.mjs.map
|