sf-i-events 1.0.1
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/CHANGELOG.md +41 -0
- package/LICENSE +28 -0
- package/README copy.md +588 -0
- package/README.md +3 -0
- package/coverage/lcov-report/base.css +224 -0
- package/coverage/lcov-report/block-navigation.js +87 -0
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +146 -0
- package/coverage/lcov-report/prettify.css +1 -0
- package/coverage/lcov-report/prettify.js +2 -0
- package/coverage/lcov-report/sf-i-select.ts.html +4384 -0
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +196 -0
- package/coverage/lcov.info +1719 -0
- package/dev/index.html +476 -0
- package/index.html +11 -0
- package/package.json +84 -0
- package/rollup.config.js +38 -0
- package/sf-i-events.d.ts +69 -0
- package/sf-i-events.d.ts.map +1 -0
- package/sf-i-events.js +617 -0
- package/sf-i-events.js.map +1 -0
- package/src/sf-i-events.ts +726 -0
- package/src/test/sf-i-form_test.ts +23 -0
- package/src/util.ts +56 -0
- package/test/sf-i-form_test.d.ts +7 -0
- package/test/sf-i-form_test.d.ts.map +1 -0
- package/test/sf-i-form_test.js +18 -0
- package/test/sf-i-form_test.js.map +1 -0
- package/test/sf-i-select_test.d.ts +7 -0
- package/test/sf-i-select_test.d.ts.map +1 -0
- package/test/sf-i-select_test.js +18 -0
- package/test/sf-i-select_test.js.map +1 -0
- package/test/sf-nav_profile_test.d.ts +7 -0
- package/test/sf-nav_profile_test.d.ts.map +1 -0
- package/test/sf-nav_profile_test.js +139 -0
- package/test/sf-nav_profile_test.js.map +1 -0
- package/test/sf-nav_test.d.ts +7 -0
- package/test/sf-nav_test.d.ts.map +1 -0
- package/test/sf-nav_test.js +358 -0
- package/test/sf-nav_test.js.map +1 -0
- package/tsconfig.json +33 -0
- package/util.d.ts +9 -0
- package/util.d.ts.map +1 -0
- package/util.js +47 -0
- package/util.js.map +1 -0
- package/web-dev-server.config.js +25 -0
- package/web-test-runner.config.js +124 -0
package/sf-i-events.js
ADDED
|
@@ -0,0 +1,617 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2022 Superflow.dev
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
7
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
9
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
10
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
11
|
+
};
|
|
12
|
+
import { LitElement, html, css } from 'lit';
|
|
13
|
+
// import {customElement, query, queryAssignedElements, property} from 'lit/decorators.js';
|
|
14
|
+
import { customElement, query, property } from 'lit/decorators.js';
|
|
15
|
+
import Util from './util';
|
|
16
|
+
// import {LitElement, html, css} from 'lit';
|
|
17
|
+
// import {customElement} from 'lit/decorators.js';
|
|
18
|
+
/*
|
|
19
|
+
|
|
20
|
+
Modes: View, Add, Edit, Delete, Admin
|
|
21
|
+
DB: partitionKey, rangeKey, values
|
|
22
|
+
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* SfIEvents element.
|
|
26
|
+
* @fires renderComplete - When the list is populated
|
|
27
|
+
* @fires valueChanged - When the value is changed
|
|
28
|
+
* @property apiId - backend api id
|
|
29
|
+
* @property label - input label
|
|
30
|
+
* @property name - name of the input
|
|
31
|
+
* @property mode - mode of operation
|
|
32
|
+
* @property selectedId - id to preselect
|
|
33
|
+
* @property selectedValue - callback function
|
|
34
|
+
*/
|
|
35
|
+
let SfIEvents = class SfIEvents extends LitElement {
|
|
36
|
+
constructor() {
|
|
37
|
+
super();
|
|
38
|
+
this.calendar = [];
|
|
39
|
+
this.monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
40
|
+
this.events = null;
|
|
41
|
+
this.getApiBodyList = () => {
|
|
42
|
+
return JSON.parse(this.apiBodyList);
|
|
43
|
+
};
|
|
44
|
+
this.getApiBodyDetail = () => {
|
|
45
|
+
return JSON.parse(this.apiBodyDetail);
|
|
46
|
+
};
|
|
47
|
+
this.flow = "";
|
|
48
|
+
this.prepareXhr = async (data, url, loaderElement, authorization) => {
|
|
49
|
+
if (loaderElement != null) {
|
|
50
|
+
loaderElement.innerHTML = '<div class="lds-dual-ring"></div>';
|
|
51
|
+
}
|
|
52
|
+
return await Util.callApi(url, data, authorization);
|
|
53
|
+
};
|
|
54
|
+
this.clearMessages = () => {
|
|
55
|
+
this._SfRowError.style.display = 'none';
|
|
56
|
+
this._SfRowErrorMessage.innerHTML = '';
|
|
57
|
+
this._SfRowSuccess.style.display = 'none';
|
|
58
|
+
this._SfRowSuccessMessage.innerHTML = '';
|
|
59
|
+
};
|
|
60
|
+
this.setError = (msg) => {
|
|
61
|
+
this._SfRowError.style.display = 'flex';
|
|
62
|
+
this._SfRowErrorMessage.innerHTML = msg;
|
|
63
|
+
this._SfRowSuccess.style.display = 'none';
|
|
64
|
+
this._SfRowSuccessMessage.innerHTML = '';
|
|
65
|
+
};
|
|
66
|
+
this.setSuccess = (msg) => {
|
|
67
|
+
this._SfRowError.style.display = 'none';
|
|
68
|
+
this._SfRowErrorMessage.innerHTML = '';
|
|
69
|
+
this._SfRowSuccess.style.display = 'flex';
|
|
70
|
+
this._SfRowSuccessMessage.innerHTML = msg;
|
|
71
|
+
};
|
|
72
|
+
this.getLastDayOfLastMonth = (month, year) => {
|
|
73
|
+
const date = new Date(year, month, 0);
|
|
74
|
+
console.log('last date of last month', month, date.getDate());
|
|
75
|
+
return date.getDate();
|
|
76
|
+
};
|
|
77
|
+
this.getLastDayOfMonth = (month, year) => {
|
|
78
|
+
const date = new Date(year, month + 1, 0);
|
|
79
|
+
return date.getDate();
|
|
80
|
+
};
|
|
81
|
+
this.getBlanks = (month, year) => {
|
|
82
|
+
const date = new Date(("0" + (month + 1)).slice(-2) + '/01/' + year);
|
|
83
|
+
const day = date.getDay();
|
|
84
|
+
return day;
|
|
85
|
+
};
|
|
86
|
+
this.insertDates = (month, year) => {
|
|
87
|
+
var html = "";
|
|
88
|
+
html += '<div class="d-flex align-center flex-grow flex-wrap">';
|
|
89
|
+
const dateNumber = this.getLastDayOfLastMonth(month, year);
|
|
90
|
+
for (var i = 0; i < this.getBlanks(month, year); i++) {
|
|
91
|
+
html += '<div class="day-item date-item-before">';
|
|
92
|
+
html += dateNumber - (this.getBlanks(month, year) - i - 1);
|
|
93
|
+
html += '</div>';
|
|
94
|
+
}
|
|
95
|
+
for (i = 0; i < this.getLastDayOfMonth(month, year); i++) {
|
|
96
|
+
const mmdd = ("0" + month).slice(-2) + "/" + ("0" + (i + 1)).slice(-2);
|
|
97
|
+
if (this.events[mmdd] != null) {
|
|
98
|
+
console.log('found not null event');
|
|
99
|
+
html += '<div class="day-item date-item-selected">';
|
|
100
|
+
html += (i + 1);
|
|
101
|
+
html += '</div>';
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
html += '<div class="day-item date-item">';
|
|
105
|
+
html += (i + 1);
|
|
106
|
+
html += '</div>';
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
for (i = 0; i < 42 - (this.getBlanks(month, year) + this.getLastDayOfMonth(month, year)); i++) {
|
|
110
|
+
html += '<div class="day-item date-item-before">';
|
|
111
|
+
html += (i + 1);
|
|
112
|
+
html += '</div>';
|
|
113
|
+
}
|
|
114
|
+
html += '</div>';
|
|
115
|
+
return html;
|
|
116
|
+
};
|
|
117
|
+
this.insertDayNames = () => {
|
|
118
|
+
var html = "";
|
|
119
|
+
html += '<div class="d-flex align-center flex-grow">';
|
|
120
|
+
html += '<div class="day-item">';
|
|
121
|
+
html += 'S';
|
|
122
|
+
html += '</div>';
|
|
123
|
+
html += '<div class="day-item">';
|
|
124
|
+
html += 'M';
|
|
125
|
+
html += '</div>';
|
|
126
|
+
html += '<div class="day-item">';
|
|
127
|
+
html += 'T';
|
|
128
|
+
html += '</div>';
|
|
129
|
+
html += '<div class="day-item">';
|
|
130
|
+
html += 'W';
|
|
131
|
+
html += '</div>';
|
|
132
|
+
html += '<div class="day-item">';
|
|
133
|
+
html += 'T';
|
|
134
|
+
html += '</div>';
|
|
135
|
+
html += '<div class="day-item">';
|
|
136
|
+
html += 'F';
|
|
137
|
+
html += '</div>';
|
|
138
|
+
html += '<div class="day-item">';
|
|
139
|
+
html += 'S';
|
|
140
|
+
html += '</div>';
|
|
141
|
+
html += '</div>';
|
|
142
|
+
return html;
|
|
143
|
+
};
|
|
144
|
+
this.renderCalendar = () => {
|
|
145
|
+
console.log('redering calendar', this.events);
|
|
146
|
+
var startDate = new Date(this.calendarStartMM + '/' + this.calendarStartDD + '/' + this.calendarStartYYYY);
|
|
147
|
+
var html = '';
|
|
148
|
+
for (var i = 0; i < 12; i++) {
|
|
149
|
+
html += '<div class="calendar-item d-flex flex-col flex-grow">';
|
|
150
|
+
html += '<div class="d-flex">';
|
|
151
|
+
html += '<div class="title-item">' + this.monthNames[startDate.getMonth()] + ' ' + startDate.getFullYear() + '</div>';
|
|
152
|
+
html += '</div>';
|
|
153
|
+
html += this.insertDayNames();
|
|
154
|
+
html += this.insertDates(startDate.getMonth(), startDate.getFullYear());
|
|
155
|
+
html += '</div>';
|
|
156
|
+
startDate.setMonth(startDate.getMonth() + 1);
|
|
157
|
+
}
|
|
158
|
+
this._SfCalendarContainer.innerHTML = html;
|
|
159
|
+
};
|
|
160
|
+
this.processEvent = (value) => {
|
|
161
|
+
console.log('processing due date', value.duedate.replace(/['"]+/g, ''));
|
|
162
|
+
const duedateArr = value.duedate.replace(/['"]+/g, '').split(",");
|
|
163
|
+
const startMonth = parseInt(this.calendarStartMM) - 1;
|
|
164
|
+
for (var i = 0; i < duedateArr.length; i++) {
|
|
165
|
+
const dateArr = duedateArr[i].split("/");
|
|
166
|
+
console.log('datearr', dateArr);
|
|
167
|
+
if (dateArr[2] == "*") {
|
|
168
|
+
if (dateArr[1] == "*") {
|
|
169
|
+
var j = startMonth;
|
|
170
|
+
while (true) {
|
|
171
|
+
if (j === (startMonth - 1)) {
|
|
172
|
+
break;
|
|
173
|
+
}
|
|
174
|
+
const mmdd = ("0" + j).slice(-2) + "/" + ("0" + dateArr[0]).slice(-2);
|
|
175
|
+
if (this.events == null) {
|
|
176
|
+
this.events = {};
|
|
177
|
+
}
|
|
178
|
+
this.events[mmdd] = value;
|
|
179
|
+
j++;
|
|
180
|
+
if (j === 12) {
|
|
181
|
+
j = 0;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
const mmdd = ("0" + dateArr[1]).slice(-2) + "/" + ("0" + dateArr[0]).slice(-2);
|
|
187
|
+
if (this.events == null) {
|
|
188
|
+
this.events = {};
|
|
189
|
+
}
|
|
190
|
+
this.events[mmdd] = value;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
console.log('calendar processed', this.calendar);
|
|
195
|
+
console.log('event processed', this.events);
|
|
196
|
+
};
|
|
197
|
+
this.fetchDetail = async (value) => {
|
|
198
|
+
const body = this.getApiBodyList();
|
|
199
|
+
body.id = value;
|
|
200
|
+
console.log('detail', value, body);
|
|
201
|
+
let url = "https://" + this.apiIdDetail + ".execute-api.us-east-1.amazonaws.com/test/" + this.apiMethodDetail;
|
|
202
|
+
const authorization = btoa(Util.readCookie('email') + ":" + Util.readCookie('accessToken'));
|
|
203
|
+
const xhr = (await this.prepareXhr(body, url, this._SfLoader, authorization));
|
|
204
|
+
this._SfLoader.innerHTML = '';
|
|
205
|
+
if (xhr.status == 200) {
|
|
206
|
+
const jsonRespose = JSON.parse(xhr.responseText);
|
|
207
|
+
console.log('jsonResponse', jsonRespose);
|
|
208
|
+
this.processEvent(jsonRespose.data.value);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
const jsonRespose = JSON.parse(xhr.responseText);
|
|
212
|
+
this.setError(jsonRespose.error);
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
this.fetchList = async () => {
|
|
216
|
+
const body = this.getApiBodyList();
|
|
217
|
+
let url = "https://" + this.apiIdList + ".execute-api.us-east-1.amazonaws.com/test/" + this.apiMethodList;
|
|
218
|
+
const authorization = btoa(Util.readCookie('email') + ":" + Util.readCookie('accessToken'));
|
|
219
|
+
const xhr = (await this.prepareXhr(body, url, this._SfLoader, authorization));
|
|
220
|
+
this._SfLoader.innerHTML = '';
|
|
221
|
+
if (xhr.status == 200) {
|
|
222
|
+
const jsonRespose = JSON.parse(xhr.responseText);
|
|
223
|
+
const fieldArr = JSON.parse(jsonRespose.data.value[this.apiResponseFieldList]);
|
|
224
|
+
for (var i = 0; i < fieldArr.length; i++) {
|
|
225
|
+
console.log(fieldArr[i]);
|
|
226
|
+
await this.fetchDetail(fieldArr[i]);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
else {
|
|
230
|
+
const jsonRespose = JSON.parse(xhr.responseText);
|
|
231
|
+
this.setError(jsonRespose.error);
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
this.initCalendar = async () => {
|
|
235
|
+
var newDate = null;
|
|
236
|
+
var newMonth = null;
|
|
237
|
+
var newYear = null;
|
|
238
|
+
var startDate = new Date(this.calendarStartMM + '/' + this.calendarStartDD + '/' + this.calendarStartYYYY);
|
|
239
|
+
console.log('startDate', startDate);
|
|
240
|
+
do {
|
|
241
|
+
this.calendar.push(startDate);
|
|
242
|
+
startDate.setDate(startDate.getDate() + 1);
|
|
243
|
+
newDate = ("0" + startDate.getDate()).slice(-2);
|
|
244
|
+
newMonth = ("0" + startDate.getMonth()).slice(-2);
|
|
245
|
+
newYear = (startDate.getFullYear());
|
|
246
|
+
} while (!(newDate == this.calendarStartDD && newMonth == (("0" + ((parseInt(this.calendarStartMM) - 1) + "")).slice(-2)) && newYear === (parseInt(this.calendarStartYYYY) + 1)));
|
|
247
|
+
console.log(this.calendar);
|
|
248
|
+
};
|
|
249
|
+
this.initInputs = () => {
|
|
250
|
+
this.calendarStartDD = ("0" + this.calendarStartDD).slice(-2);
|
|
251
|
+
this.calendarStartMM = ("0" + this.calendarStartMM).slice(-2);
|
|
252
|
+
};
|
|
253
|
+
this.loadMode = async () => {
|
|
254
|
+
this.initInputs();
|
|
255
|
+
this.initCalendar();
|
|
256
|
+
await this.fetchList();
|
|
257
|
+
this.renderCalendar();
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
firstUpdated(_changedProperties) {
|
|
261
|
+
this.loadMode();
|
|
262
|
+
}
|
|
263
|
+
connectedCallback() {
|
|
264
|
+
super.connectedCallback();
|
|
265
|
+
}
|
|
266
|
+
render() {
|
|
267
|
+
return html `
|
|
268
|
+
|
|
269
|
+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
|
270
|
+
<div class="SfIEventsC">
|
|
271
|
+
|
|
272
|
+
<div class="d-flex justify-center">
|
|
273
|
+
<div class="loader-element"></div>
|
|
274
|
+
</div>
|
|
275
|
+
<div class="d-flex justify-center">
|
|
276
|
+
<div class="lb"></div>
|
|
277
|
+
<div class="d-flex flex-grow flex-wrap justify-center align-start" id="calendar-container">
|
|
278
|
+
|
|
279
|
+
</div>
|
|
280
|
+
<div class="rb"></div>
|
|
281
|
+
</div>
|
|
282
|
+
<div class="d-flex justify-between">
|
|
283
|
+
<div class="lb"></div>
|
|
284
|
+
<div>
|
|
285
|
+
<div class="div-row-error div-row-submit gone">
|
|
286
|
+
<div part="errormsg" class="div-row-error-message"></div>
|
|
287
|
+
</div>
|
|
288
|
+
<div class="div-row-success div-row-submit gone">
|
|
289
|
+
<div part="successmsg" class="div-row-success-message"></div>
|
|
290
|
+
</div>
|
|
291
|
+
</div>
|
|
292
|
+
<div class="rb"></div>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
|
|
296
|
+
`;
|
|
297
|
+
}
|
|
298
|
+
};
|
|
299
|
+
SfIEvents.styles = css `
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
.SfIEventsC {
|
|
303
|
+
display: flex;
|
|
304
|
+
flex-direction: column;
|
|
305
|
+
align-items: stretch;
|
|
306
|
+
justify-content: space-between;
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
.flex-grow {
|
|
310
|
+
flex-grow: 1;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
.flex-wrap {
|
|
314
|
+
flex-wrap: wrap;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
.left-sticky {
|
|
318
|
+
left: 0px;
|
|
319
|
+
position: sticky;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.link {
|
|
323
|
+
text-decoration: underline;
|
|
324
|
+
cursor: pointer;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
.gone {
|
|
328
|
+
display: none
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
.loader-element {
|
|
332
|
+
position: fixed;
|
|
333
|
+
right: 10px;
|
|
334
|
+
top: 10px;
|
|
335
|
+
margin-left: 5px;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
#calendar-container {
|
|
339
|
+
width: 90%;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
.day-item {
|
|
343
|
+
width: 14%;
|
|
344
|
+
margin-bottom: 5px;
|
|
345
|
+
text-align: center;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
.date-item {
|
|
349
|
+
font-size: 80%;
|
|
350
|
+
color: #333;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
.date-item-before {
|
|
354
|
+
font-size: 80%;
|
|
355
|
+
color: #999;
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
.date-item-selected {
|
|
359
|
+
color: white;
|
|
360
|
+
background-color: #cd0078;
|
|
361
|
+
border-radius: 8px;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
.title-item {
|
|
365
|
+
margin-bottom: 10px;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
.calendar-item {
|
|
369
|
+
width: 90%;
|
|
370
|
+
margin-bottom: 20px;
|
|
371
|
+
}
|
|
372
|
+
|
|
373
|
+
.td-head {
|
|
374
|
+
text-transform: capitalize;
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
.td-body {
|
|
378
|
+
padding: 5px;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
.td-dark {
|
|
382
|
+
background-color: #e9e9e9;
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
.td-highlight {
|
|
386
|
+
background-color: black;
|
|
387
|
+
color: white;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
.td-light {
|
|
391
|
+
background-color: #f6f6f6;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
td {
|
|
395
|
+
white-space: nowrap;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
.align-start {
|
|
399
|
+
align-items: flex-start;
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
.align-end {
|
|
403
|
+
align-items: flex-end;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
.align-center {
|
|
407
|
+
align-items: center;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
.lds-dual-ring {
|
|
411
|
+
display: inline-block;
|
|
412
|
+
width: 50px;
|
|
413
|
+
height: 50px;
|
|
414
|
+
}
|
|
415
|
+
.lds-dual-ring:after {
|
|
416
|
+
content: " ";
|
|
417
|
+
display: block;
|
|
418
|
+
width: 50px;
|
|
419
|
+
height: 50px;
|
|
420
|
+
margin: 0px;
|
|
421
|
+
border-radius: 50%;
|
|
422
|
+
border: 2px solid #fff;
|
|
423
|
+
border-color: #888 #ddd #888 #ddd;
|
|
424
|
+
background-color: white;
|
|
425
|
+
animation: lds-dual-ring 0.8s linear infinite;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.lds-dual-ring-lg {
|
|
429
|
+
display: inline-block;
|
|
430
|
+
width: 30px;
|
|
431
|
+
height: 30px;
|
|
432
|
+
}
|
|
433
|
+
.lds-dual-ring-lg:after {
|
|
434
|
+
content: " ";
|
|
435
|
+
display: block;
|
|
436
|
+
width: 30px;
|
|
437
|
+
height: 30px;
|
|
438
|
+
margin: 0px;
|
|
439
|
+
border-radius: 50%;
|
|
440
|
+
border: 3px solid #fff;
|
|
441
|
+
border-color: #888 #ddd #888 #ddd;
|
|
442
|
+
animation: lds-dual-ring 0.8s linear infinite;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
.div-row-error {
|
|
446
|
+
display: flex;
|
|
447
|
+
justify-content: center;
|
|
448
|
+
position: fixed;
|
|
449
|
+
position: fixed;
|
|
450
|
+
top: 0px;
|
|
451
|
+
right: 0px;
|
|
452
|
+
margin-top: 20px;
|
|
453
|
+
margin-right: 20px;
|
|
454
|
+
display: none;
|
|
455
|
+
align-items:center;
|
|
456
|
+
background-color: white;
|
|
457
|
+
border: dashed 1px red;
|
|
458
|
+
padding: 20px;
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
.div-row-error-message {
|
|
462
|
+
color: red;
|
|
463
|
+
padding: 5px;
|
|
464
|
+
background-color: white;
|
|
465
|
+
text-align: center;
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
.div-row-success {
|
|
469
|
+
display: flex;
|
|
470
|
+
justify-content: center;
|
|
471
|
+
position: fixed;
|
|
472
|
+
top: 0px;
|
|
473
|
+
right: 0px;
|
|
474
|
+
margin-top: 20px;
|
|
475
|
+
margin-right: 20px;
|
|
476
|
+
display: none;
|
|
477
|
+
align-items:center;
|
|
478
|
+
background-color: white;
|
|
479
|
+
border: dashed 1px green;
|
|
480
|
+
padding: 20px;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
.div-row-success-message {
|
|
484
|
+
color: green;
|
|
485
|
+
padding: 5px;
|
|
486
|
+
background-color: white;
|
|
487
|
+
text-align: center;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
.d-flex {
|
|
491
|
+
display: flex;
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
.flex-col {
|
|
495
|
+
flex-direction: column;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
.justify-center {
|
|
499
|
+
justify-content: center;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.justify-between {
|
|
503
|
+
justify-content: space-between;
|
|
504
|
+
}
|
|
505
|
+
|
|
506
|
+
.justify-end {
|
|
507
|
+
justify-content: flex-end;
|
|
508
|
+
}
|
|
509
|
+
|
|
510
|
+
@keyframes lds-dual-ring {
|
|
511
|
+
0% {
|
|
512
|
+
transform: rotate(0deg);
|
|
513
|
+
}
|
|
514
|
+
100% {
|
|
515
|
+
transform: rotate(360deg);
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
.hide {
|
|
520
|
+
display: none;
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
.lb {
|
|
524
|
+
width: 5%
|
|
525
|
+
}
|
|
526
|
+
.rb {
|
|
527
|
+
width: 5%
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
@media (orientation: landscape) {
|
|
531
|
+
|
|
532
|
+
.lb {
|
|
533
|
+
width: 30%
|
|
534
|
+
}
|
|
535
|
+
.rb {
|
|
536
|
+
width: 30%
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
#calendar-container {
|
|
540
|
+
width: 40%;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
.calendar-item {
|
|
544
|
+
width: 25%;
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
`;
|
|
550
|
+
__decorate([
|
|
551
|
+
property()
|
|
552
|
+
], SfIEvents.prototype, "apiIdList", void 0);
|
|
553
|
+
__decorate([
|
|
554
|
+
property()
|
|
555
|
+
], SfIEvents.prototype, "apiIdDetail", void 0);
|
|
556
|
+
__decorate([
|
|
557
|
+
property()
|
|
558
|
+
], SfIEvents.prototype, "apiMethodList", void 0);
|
|
559
|
+
__decorate([
|
|
560
|
+
property()
|
|
561
|
+
], SfIEvents.prototype, "apiMethodDetail", void 0);
|
|
562
|
+
__decorate([
|
|
563
|
+
property()
|
|
564
|
+
], SfIEvents.prototype, "apiBodyList", void 0);
|
|
565
|
+
__decorate([
|
|
566
|
+
property()
|
|
567
|
+
], SfIEvents.prototype, "apiBodyDetail", void 0);
|
|
568
|
+
__decorate([
|
|
569
|
+
property()
|
|
570
|
+
], SfIEvents.prototype, "apiResponseFieldList", void 0);
|
|
571
|
+
__decorate([
|
|
572
|
+
property()
|
|
573
|
+
], SfIEvents.prototype, "calendarStartDD", void 0);
|
|
574
|
+
__decorate([
|
|
575
|
+
property()
|
|
576
|
+
], SfIEvents.prototype, "calendarStartMM", void 0);
|
|
577
|
+
__decorate([
|
|
578
|
+
property()
|
|
579
|
+
], SfIEvents.prototype, "calendarStartYYYY", void 0);
|
|
580
|
+
__decorate([
|
|
581
|
+
property()
|
|
582
|
+
], SfIEvents.prototype, "calendar", void 0);
|
|
583
|
+
__decorate([
|
|
584
|
+
property()
|
|
585
|
+
], SfIEvents.prototype, "monthNames", void 0);
|
|
586
|
+
__decorate([
|
|
587
|
+
property()
|
|
588
|
+
], SfIEvents.prototype, "events", void 0);
|
|
589
|
+
__decorate([
|
|
590
|
+
property()
|
|
591
|
+
], SfIEvents.prototype, "mode", void 0);
|
|
592
|
+
__decorate([
|
|
593
|
+
property()
|
|
594
|
+
], SfIEvents.prototype, "flow", void 0);
|
|
595
|
+
__decorate([
|
|
596
|
+
query('.div-row-error')
|
|
597
|
+
], SfIEvents.prototype, "_SfRowError", void 0);
|
|
598
|
+
__decorate([
|
|
599
|
+
query('.div-row-error-message')
|
|
600
|
+
], SfIEvents.prototype, "_SfRowErrorMessage", void 0);
|
|
601
|
+
__decorate([
|
|
602
|
+
query('.div-row-success')
|
|
603
|
+
], SfIEvents.prototype, "_SfRowSuccess", void 0);
|
|
604
|
+
__decorate([
|
|
605
|
+
query('.div-row-success-message')
|
|
606
|
+
], SfIEvents.prototype, "_SfRowSuccessMessage", void 0);
|
|
607
|
+
__decorate([
|
|
608
|
+
query('.loader-element')
|
|
609
|
+
], SfIEvents.prototype, "_SfLoader", void 0);
|
|
610
|
+
__decorate([
|
|
611
|
+
query('#calendar-container')
|
|
612
|
+
], SfIEvents.prototype, "_SfCalendarContainer", void 0);
|
|
613
|
+
SfIEvents = __decorate([
|
|
614
|
+
customElement('sf-i-events')
|
|
615
|
+
], SfIEvents);
|
|
616
|
+
export { SfIEvents };
|
|
617
|
+
//# sourceMappingURL=sf-i-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sf-i-events.js","sourceRoot":"","sources":["src/sf-i-events.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Superflow.dev\n * SPDX-License-Identifier: MIT\n */\n\nimport {LitElement, html, css, PropertyValueMap} from 'lit';\n// import {customElement, query, queryAssignedElements, property} from 'lit/decorators.js';\nimport {customElement, query, property} from 'lit/decorators.js';\nimport Util from './util';\n// import {LitElement, html, css} from 'lit';\n// import {customElement} from 'lit/decorators.js';\n\n\n/*\n\nModes: View, Add, Edit, Delete, Admin\nDB: partitionKey, rangeKey, values\n\n*/\n\n/**\n * SfIEvents element.\n * @fires renderComplete - When the list is populated\n * @fires valueChanged - When the value is changed\n * @property apiId - backend api id\n * @property label - input label\n * @property name - name of the input\n * @property mode - mode of operation\n * @property selectedId - id to preselect\n * @property selectedValue - callback function\n */\n@customElement('sf-i-events')\nexport class SfIEvents extends LitElement {\n \n @property()\n apiIdList!: string;\n\n @property()\n apiIdDetail!: string;\n\n @property()\n apiMethodList!: string;\n\n @property()\n apiMethodDetail!: string;\n\n @property()\n apiBodyList!: string;\n\n @property()\n apiBodyDetail!: string;\n\n @property()\n apiResponseFieldList!: string;\n\n @property()\n calendarStartDD!: string;\n\n @property()\n calendarStartMM!: string;\n\n @property()\n calendarStartYYYY!: string;\n\n @property()\n calendar: Date [] = [];\n\n @property()\n monthNames: string [] = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\n @property()\n events: any = null;\n\n getApiBodyList = () => {\n return JSON.parse(this.apiBodyList);\n }\n\n getApiBodyDetail = () => {\n return JSON.parse(this.apiBodyDetail);\n }\n\n @property()\n mode!: string;\n\n @property()\n flow: string = \"\";\n\n static override styles = css`\n\n \n .SfIEventsC {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: space-between;\n }\n\n .flex-grow {\n flex-grow: 1;\n }\n\n .flex-wrap {\n flex-wrap: wrap;\n }\n\n .left-sticky {\n left: 0px;\n position: sticky;\n }\n\n .link {\n text-decoration: underline;\n cursor: pointer;\n }\n\n .gone {\n display: none\n }\n\n .loader-element {\n position: fixed;\n right: 10px;\n top: 10px;\n margin-left: 5px;\n }\n\n #calendar-container {\n width: 90%;\n }\n\n .day-item {\n width: 14%;\n margin-bottom: 5px;\n text-align: center;\n }\n\n .date-item {\n font-size: 80%;\n color: #333;\n }\n\n .date-item-before {\n font-size: 80%;\n color: #999;\n }\n\n .date-item-selected {\n color: white;\n background-color: #cd0078;\n border-radius: 8px;\n }\n\n .title-item {\n margin-bottom: 10px;\n }\n\n .calendar-item {\n width: 90%;\n margin-bottom: 20px;\n }\n\n .td-head {\n text-transform: capitalize;\n }\n\n .td-body {\n padding: 5px;\n }\n\n .td-dark {\n background-color: #e9e9e9;\n }\n\n .td-highlight {\n background-color: black;\n color: white;\n }\n\n .td-light {\n background-color: #f6f6f6;\n }\n\n td {\n white-space: nowrap;\n }\n\n .align-start {\n align-items: flex-start;\n }\n\n .align-end {\n align-items: flex-end;\n }\n\n .align-center {\n align-items: center;\n }\n \n .lds-dual-ring {\n display: inline-block;\n width: 50px;\n height: 50px;\n }\n .lds-dual-ring:after {\n content: \" \";\n display: block;\n width: 50px;\n height: 50px;\n margin: 0px;\n border-radius: 50%;\n border: 2px solid #fff;\n border-color: #888 #ddd #888 #ddd;\n background-color: white;\n animation: lds-dual-ring 0.8s linear infinite;\n }\n\n .lds-dual-ring-lg {\n display: inline-block;\n width: 30px;\n height: 30px;\n }\n .lds-dual-ring-lg:after {\n content: \" \";\n display: block;\n width: 30px;\n height: 30px;\n margin: 0px;\n border-radius: 50%;\n border: 3px solid #fff;\n border-color: #888 #ddd #888 #ddd;\n animation: lds-dual-ring 0.8s linear infinite;\n }\n\n .div-row-error {\n display: flex;\n justify-content: center;\n position: fixed;\n position: fixed;\n top: 0px;\n right: 0px;\n margin-top: 20px;\n margin-right: 20px;\n display: none;\n align-items:center;\n background-color: white;\n border: dashed 1px red;\n padding: 20px;\n }\n\n .div-row-error-message {\n color: red;\n padding: 5px;\n background-color: white;\n text-align: center;\n }\n\n .div-row-success {\n display: flex;\n justify-content: center;\n position: fixed;\n top: 0px;\n right: 0px;\n margin-top: 20px;\n margin-right: 20px;\n display: none;\n align-items:center;\n background-color: white;\n border: dashed 1px green;\n padding: 20px;\n }\n\n .div-row-success-message {\n color: green;\n padding: 5px;\n background-color: white;\n text-align: center;\n }\n\n .d-flex {\n display: flex;\n }\n\n .flex-col {\n flex-direction: column;\n }\n\n .justify-center {\n justify-content: center;\n }\n\n .justify-between {\n justify-content: space-between;\n }\n\n .justify-end {\n justify-content: flex-end;\n }\n\n @keyframes lds-dual-ring {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n } \n\n .hide {\n display: none;\n }\n\n .lb {\n width: 5%\n }\n .rb {\n width: 5%\n }\n\n @media (orientation: landscape) {\n\n .lb {\n width: 30%\n }\n .rb {\n width: 30%\n }\n\n #calendar-container {\n width: 40%;\n }\n\n .calendar-item {\n width: 25%;\n }\n\n }\n\n `;\n\n @query('.div-row-error')\n _SfRowError: any;\n\n @query('.div-row-error-message')\n _SfRowErrorMessage: any;\n\n @query('.div-row-success')\n _SfRowSuccess: any;\n\n @query('.div-row-success-message')\n _SfRowSuccessMessage: any;\n\n @query('.loader-element')\n _SfLoader: any;\n\n @query('#calendar-container')\n _SfCalendarContainer: any;\n\n prepareXhr = async (data: any, url: string, loaderElement: any, authorization: any) => {\n\n \n if(loaderElement != null) {\n loaderElement.innerHTML = '<div class=\"lds-dual-ring\"></div>';\n }\n return await Util.callApi(url, data, authorization);\n\n }\n\n clearMessages = () => {\n this._SfRowError.style.display = 'none';\n this._SfRowErrorMessage.innerHTML = '';\n this._SfRowSuccess.style.display = 'none';\n this._SfRowSuccessMessage.innerHTML = '';\n }\n\n setError = (msg: string) => {\n this._SfRowError.style.display = 'flex';\n this._SfRowErrorMessage.innerHTML = msg;\n this._SfRowSuccess.style.display = 'none';\n this._SfRowSuccessMessage.innerHTML = '';\n }\n\n setSuccess = (msg: string) => {\n this._SfRowError.style.display = 'none';\n this._SfRowErrorMessage.innerHTML = '';\n this._SfRowSuccess.style.display = 'flex';\n this._SfRowSuccessMessage.innerHTML = msg;\n }\n\n getLastDayOfLastMonth = (month: number, year: number) => {\n const date = new Date(year, month, 0);\n console.log('last date of last month', month, date.getDate());\n return date.getDate()\n }\n\n getLastDayOfMonth = (month: number, year: number) => {\n const date = new Date(year, month + 1, 0);\n return date.getDate()\n }\n\n getBlanks = (month: number, year: number) => {\n\n const date = new Date((\"0\" + (month+1)).slice(-2) + '/01/' + year);\n const day = date.getDay();\n return day;\n\n }\n\n insertDates = (month: number, year: number) => {\n\n var html = \"\";\n\n html += '<div class=\"d-flex align-center flex-grow flex-wrap\">';\n\n const dateNumber = this.getLastDayOfLastMonth(month, year);\n\n for(var i = 0; i < this.getBlanks(month, year); i++) {\n\n html += '<div class=\"day-item date-item-before\">';\n html += dateNumber-(this.getBlanks(month, year) - i - 1);\n html += '</div>'; \n\n }\n\n for(i = 0; i < this.getLastDayOfMonth(month, year); i++) {\n\n const mmdd = (\"0\" + month).slice(-2) + \"/\" + (\"0\" + (i+1)).slice(-2);\n\n if(this.events[mmdd] != null) {\n\n console.log('found not null event');\n\n html += '<div class=\"day-item date-item-selected\">';\n html += (i + 1);\n html += '</div>'; \n \n } else {\n\n html += '<div class=\"day-item date-item\">';\n html += (i + 1);\n html += '</div>'; \n \n }\n\n }\n\n for(i = 0; i < 42 - (this.getBlanks(month, year) + this.getLastDayOfMonth(month, year)); i++) {\n html += '<div class=\"day-item date-item-before\">';\n html += (i+1);\n html += '</div>'; \n }\n\n html += '</div>';\n\n return html;\n\n }\n\n insertDayNames = () => {\n\n var html = \"\";\n\n html += '<div class=\"d-flex align-center flex-grow\">';\n\n html += '<div class=\"day-item\">';\n html += 'S';\n html += '</div>';\n\n html += '<div class=\"day-item\">';\n html += 'M';\n html += '</div>';\n\n html += '<div class=\"day-item\">';\n html += 'T';\n html += '</div>';\n\n html += '<div class=\"day-item\">';\n html += 'W';\n html += '</div>';\n\n html += '<div class=\"day-item\">';\n html += 'T';\n html += '</div>';\n\n html += '<div class=\"day-item\">';\n html += 'F';\n html += '</div>';\n\n html += '<div class=\"day-item\">';\n html += 'S';\n html += '</div>';\n\n html += '</div>';\n\n return html;\n\n }\n\n renderCalendar = () => {\n\n console.log('redering calendar', this.events);\n\n var startDate = new Date(this.calendarStartMM + '/' + this.calendarStartDD + '/' + this.calendarStartYYYY);\n\n var html = '';\n\n for(var i = 0; i < 12; i++) {\n\n html += '<div class=\"calendar-item d-flex flex-col flex-grow\">';\n html += '<div class=\"d-flex\">';\n html += '<div class=\"title-item\">' + this.monthNames[startDate.getMonth()] + ' ' + startDate.getFullYear() + '</div>';\n html += '</div>';\n html += this.insertDayNames();\n html += this.insertDates(startDate.getMonth(), startDate.getFullYear());\n html += '</div>';\n\n startDate.setMonth(startDate.getMonth() + 1);\n \n }\n\n (this._SfCalendarContainer as HTMLDivElement).innerHTML = html;\n\n }\n\n processEvent = (value: any) => {\n\n console.log('processing due date', value.duedate.replace(/['\"]+/g, ''));\n const duedateArr = value.duedate.replace(/['\"]+/g, '').split(\",\") as Array<string>;\n\n const startMonth = parseInt(this.calendarStartMM) - 1;\n\n for(var i = 0; i < duedateArr.length; i++) {\n\n const dateArr = duedateArr[i].split(\"/\");\n console.log('datearr', dateArr);\n\n if(dateArr[2] == \"*\") {\n if(dateArr[1] == \"*\") {\n\n var j = startMonth;\n\n while(true) {\n\n if(j === (startMonth - 1)) {\n break;\n }\n\n const mmdd = (\"0\" +j).slice(-2) + \"/\" + (\"0\" + dateArr[0]).slice(-2);\n\n if(this.events == null) {\n this.events = {};\n }\n this.events[mmdd] = value;\n\n j++;\n\n if(j === 12) {\n j = 0;\n }\n\n } \n\n } else {\n\n const mmdd = (\"0\" +dateArr[1]).slice(-2) + \"/\" + (\"0\" + dateArr[0]).slice(-2);\n\n if(this.events == null) {\n this.events = {};\n }\n this.events[mmdd] = value;\n\n }\n }\n\n }\n\n console.log('calendar processed', this.calendar);\n console.log('event processed', this.events);\n\n }\n\n fetchDetail = async (value: any) => {\n\n const body: any = this.getApiBodyList();\n body.id = value;\n console.log('detail', value, body);\n let url = \"https://\"+this.apiIdDetail+\".execute-api.us-east-1.amazonaws.com/test/\" + this.apiMethodDetail;\n\n const authorization = btoa(Util.readCookie('email') + \":\" + Util.readCookie('accessToken'));\n const xhr : any = (await this.prepareXhr(body, url, this._SfLoader, authorization)) as any;\n this._SfLoader.innerHTML = '';\n if(xhr.status == 200) {\n\n const jsonRespose = JSON.parse(xhr.responseText);\n console.log('jsonResponse', jsonRespose);\n this.processEvent(jsonRespose.data.value)\n \n } else {\n const jsonRespose = JSON.parse(xhr.responseText);\n this.setError(jsonRespose.error);\n }\n\n }\n\n fetchList = async () => {\n\n const body: any = this.getApiBodyList();\n let url = \"https://\"+this.apiIdList+\".execute-api.us-east-1.amazonaws.com/test/\" + this.apiMethodList;\n\n const authorization = btoa(Util.readCookie('email') + \":\" + Util.readCookie('accessToken'));\n const xhr : any = (await this.prepareXhr(body, url, this._SfLoader, authorization)) as any;\n this._SfLoader.innerHTML = '';\n if(xhr.status == 200) {\n\n const jsonRespose = JSON.parse(xhr.responseText);\n const fieldArr = JSON.parse(jsonRespose.data.value[this.apiResponseFieldList]) as Array<string>;\n\n for(var i = 0; i < fieldArr.length; i++) {\n\n console.log(fieldArr[i]);\n await this.fetchDetail(fieldArr[i])\n\n }\n \n } else {\n const jsonRespose = JSON.parse(xhr.responseText);\n this.setError(jsonRespose.error);\n }\n\n }\n\n initCalendar = async () => {\n\n var newDate = null;\n var newMonth = null;\n var newYear = null;\n var startDate = new Date(this.calendarStartMM + '/' + this.calendarStartDD + '/' + this.calendarStartYYYY);\n\n console.log('startDate', startDate);\n \n do {\n\n this.calendar.push(startDate);\n startDate.setDate(startDate.getDate() + 1);\n\n newDate = (\"0\" + startDate.getDate()).slice(-2);\n newMonth = (\"0\" + startDate.getMonth()).slice(-2);\n newYear = (startDate.getFullYear());\n\n } while(!(newDate == this.calendarStartDD && newMonth == ((\"0\" + ((parseInt(this.calendarStartMM) - 1) + \"\")).slice(-2)) && newYear === (parseInt(this.calendarStartYYYY) + 1)));\n\n console.log(this.calendar);\n\n }\n\n initInputs = () => {\n\n this.calendarStartDD = (\"0\" + this.calendarStartDD).slice(-2);\n this.calendarStartMM = (\"0\" + this.calendarStartMM).slice(-2);\n\n }\n\n loadMode = async () => {\n\n this.initInputs();\n this.initCalendar();\n await this.fetchList();\n this.renderCalendar();\n\n }\n\n constructor() {\n super();\n }\n\n protected override firstUpdated(_changedProperties: PropertyValueMap<any> | Map<PropertyKey, unknown>): void {\n\n this.loadMode();\n\n }\n \n override connectedCallback() {\n super.connectedCallback()\n }\n \n override render() {\n\n return html`\n \n <link href=\"https://fonts.googleapis.com/icon?family=Material+Icons\" rel=\"stylesheet\">\n <div class=\"SfIEventsC\">\n \n <div class=\"d-flex justify-center\">\n <div class=\"loader-element\"></div>\n </div>\n <div class=\"d-flex justify-center\">\n <div class=\"lb\"></div>\n <div class=\"d-flex flex-grow flex-wrap justify-center align-start\" id=\"calendar-container\">\n \n </div>\n <div class=\"rb\"></div>\n </div>\n <div class=\"d-flex justify-between\">\n <div class=\"lb\"></div>\n <div>\n <div class=\"div-row-error div-row-submit gone\">\n <div part=\"errormsg\" class=\"div-row-error-message\"></div>\n </div>\n <div class=\"div-row-success div-row-submit gone\">\n <div part=\"successmsg\" class=\"div-row-success-message\"></div>\n </div>\n </div>\n <div class=\"rb\"></div>\n </div>\n </div>\n\n `;\n }\n\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sf-i-events': SfIEvents;\n }\n}\n"]}
|