ecabs-components 1.0.28 → 1.0.29
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/ecabs-components.mjs +4 -4
- package/esm2022/lib/base/consts/date-mask.consts.mjs +56 -56
- package/esm2022/lib/base/directives/date-mask.directive.mjs +64 -64
- package/esm2022/lib/base/directives/date-mask.directive.module.mjs +21 -21
- package/esm2022/lib/base/directives/digits-only.directive.mjs +129 -129
- package/esm2022/lib/base/directives/digits-only.directive.module.mjs +21 -21
- package/esm2022/lib/base/directives/number-border.directive.mjs +53 -53
- package/esm2022/lib/base/directives/number-border.directive.module.mjs +21 -21
- package/esm2022/lib/base/element-base.mjs +99 -99
- package/esm2022/lib/base/element-wrapper/element-wrapper.component.mjs +52 -52
- package/esm2022/lib/base/element-wrapper/element-wrapper.module.mjs +51 -51
- package/esm2022/lib/base/hint/hint.component.mjs +20 -20
- package/esm2022/lib/base/hint/hint.module.mjs +19 -19
- package/esm2022/lib/base/validation/validation.component.mjs +69 -69
- package/esm2022/lib/base/validation/validation.module.mjs +19 -19
- package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.mjs +30 -30
- package/esm2022/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.mjs +19 -19
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.mjs +15 -15
- package/esm2022/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.mjs +19 -19
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.component.mjs +62 -62
- package/esm2022/lib/ecabs-buttons/ecabs-buttons.module.mjs +20 -20
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.mjs +100 -100
- package/esm2022/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.mjs +35 -35
- package/esm2022/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.mjs +16 -16
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.component.mjs +84 -84
- package/esm2022/lib/ecabs-date-picker/ecabs-date-picker.module.mjs +47 -47
- package/esm2022/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.mjs +16 -16
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.mjs +203 -179
- package/esm2022/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.mjs +63 -63
- package/esm2022/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.mjs +16 -16
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.mjs +192 -192
- package/esm2022/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.mjs +64 -64
- package/esm2022/lib/ecabs-date-time-range-picker/time-range.directive.mjs +44 -44
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.mjs +46 -46
- package/esm2022/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.mjs +19 -19
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.component.mjs +43 -43
- package/esm2022/lib/ecabs-dialog-message/ecabs-dialog-message.module.mjs +19 -19
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.mjs +18 -18
- package/esm2022/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.mjs +18 -18
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.mjs +75 -75
- package/esm2022/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.mjs +23 -23
- package/esm2022/lib/ecabs-increment/ecabs-increment.component.mjs +77 -77
- package/esm2022/lib/ecabs-increment/ecabs-increment.module.mjs +22 -22
- package/esm2022/lib/ecabs-input/ecabs-input.component.mjs +82 -82
- package/esm2022/lib/ecabs-input/ecabs-input.module.mjs +21 -21
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.component.mjs +61 -61
- package/esm2022/lib/ecabs-language-selector/ecabs-language-selector.module.mjs +38 -38
- package/esm2022/lib/ecabs-loading/ecabs-loading.component.mjs +23 -23
- package/esm2022/lib/ecabs-loading/ecabs-loading.module.mjs +18 -18
- package/esm2022/lib/ecabs-loading/spinner/spinner.component.mjs +15 -15
- package/esm2022/lib/ecabs-note/ecabs-note.component.mjs +29 -29
- package/esm2022/lib/ecabs-note/ecabs-note.module.mjs +18 -18
- package/esm2022/lib/ecabs-phone/ecabs-phone.component.mjs +103 -103
- package/esm2022/lib/ecabs-phone/ecabs-phone.module.mjs +21 -21
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.component.mjs +49 -49
- package/esm2022/lib/ecabs-picker-header/ecabs-picker-header.module.mjs +21 -21
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.mjs +64 -64
- package/esm2022/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.mjs +31 -31
- package/esm2022/lib/ecabs-select/ecabs-select.component.mjs +309 -309
- package/esm2022/lib/ecabs-select/ecabs-select.module.mjs +59 -59
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.mjs +16 -16
- package/esm2022/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.mjs +23 -23
- package/esm2022/lib/ecabs-table/ecabs-table.component.mjs +42 -42
- package/esm2022/lib/ecabs-table/ecabs-table.module.mjs +32 -32
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.component.mjs +61 -61
- package/esm2022/lib/ecabs-textarea/ecabs-textarea.module.mjs +19 -19
- package/esm2022/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.mjs +136 -136
- package/esm2022/lib/ecabs-timepicker/config.model.mjs +1 -1
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.component.mjs +311 -311
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.module.mjs +19 -19
- package/esm2022/lib/ecabs-timepicker/ecabs-timepicker.service.mjs +30 -30
- package/esm2022/lib/ecabs-validation/ecabs-validation.component.mjs +18 -18
- package/esm2022/lib/ecabs-validation/ecabs-validation.module.mjs +18 -18
- package/esm2022/lib/models/bread-crumb.mjs +1 -1
- package/esm2022/lib/models/timepicker.models.mjs +1 -1
- package/esm2022/lib/models/validation.models.mjs +1 -1
- package/esm2022/lib/services/ecabs-components.service.mjs +31 -31
- package/esm2022/public-api.mjs +58 -58
- package/fesm2022/ecabs-components.mjs +3277 -3253
- package/fesm2022/ecabs-components.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/base/consts/date-mask.consts.d.ts +7 -7
- package/lib/base/directives/date-mask.directive.d.ts +16 -16
- package/lib/base/directives/date-mask.directive.module.d.ts +8 -8
- package/lib/base/directives/digits-only.directive.d.ts +26 -26
- package/lib/base/directives/digits-only.directive.module.d.ts +8 -8
- package/lib/base/directives/number-border.directive.d.ts +13 -13
- package/lib/base/directives/number-border.directive.module.d.ts +8 -8
- package/lib/base/element-base.d.ts +28 -28
- package/lib/base/element-wrapper/element-wrapper.component.d.ts +19 -19
- package/lib/base/element-wrapper/element-wrapper.module.d.ts +16 -16
- package/lib/base/hint/hint.component.d.ts +8 -8
- package/lib/base/hint/hint.module.d.ts +10 -10
- package/lib/base/validation/validation.component.d.ts +24 -24
- package/lib/base/validation/validation.module.d.ts +10 -10
- package/lib/ecabs-active-status-filter/ecabs-active-status-filter.component.d.ts +14 -14
- package/lib/ecabs-active-status-filter/ecabs-active-status-filter.module.d.ts +10 -10
- package/lib/ecabs-breadcrumb/ecabs-breadcrumb.component.d.ts +7 -7
- package/lib/ecabs-breadcrumb/ecabs-breadcrumb.module.d.ts +10 -10
- package/lib/ecabs-buttons/ecabs-buttons.component.d.ts +20 -20
- package/lib/ecabs-buttons/ecabs-buttons.module.d.ts +11 -11
- package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.component.d.ts +31 -31
- package/lib/ecabs-checkbox-toggle/ecabs-checkbox-toggle.module.d.ts +12 -12
- package/lib/ecabs-date-picker/components/ecabs-date-picker-header/ecabs-date-picker-header.component.d.ts +6 -6
- package/lib/ecabs-date-picker/ecabs-date-picker.component.d.ts +29 -29
- package/lib/ecabs-date-picker/ecabs-date-picker.module.d.ts +15 -15
- package/lib/ecabs-date-time-picker/components/ecabs-date-time-picker-header/ecabs-date-time-picker-header.component.d.ts +6 -6
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.component.d.ts +55 -51
- package/lib/ecabs-date-time-picker/ecabs-date-time-picker.module.d.ts +19 -19
- package/lib/ecabs-date-time-range-picker/components/ecabs-date-time-range-picker-header/ecabs-date-time-range-picker-header.component.d.ts +6 -6
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.component.d.ts +58 -58
- package/lib/ecabs-date-time-range-picker/ecabs-date-time-range-picker.module.d.ts +20 -20
- package/lib/ecabs-date-time-range-picker/time-range.directive.d.ts +15 -15
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.component.d.ts +31 -31
- package/lib/ecabs-dialog-confirm/ecabs-dialog-confirm.module.d.ts +11 -11
- package/lib/ecabs-dialog-message/ecabs-dialog-message.component.d.ts +28 -28
- package/lib/ecabs-dialog-message/ecabs-dialog-message.module.d.ts +11 -11
- package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.component.d.ts +12 -12
- package/lib/ecabs-empty-placeholder/ecabs-empty-placeholder.module.d.ts +9 -9
- package/lib/ecabs-expansion-panel/ecabs-expansion-panel.component.d.ts +28 -28
- package/lib/ecabs-expansion-panel/ecabs-expansion-panel.module.d.ts +14 -14
- package/lib/ecabs-increment/ecabs-increment.component.d.ts +26 -26
- package/lib/ecabs-increment/ecabs-increment.module.d.ts +13 -13
- package/lib/ecabs-input/ecabs-input.component.d.ts +27 -27
- package/lib/ecabs-input/ecabs-input.module.d.ts +12 -12
- package/lib/ecabs-language-selector/ecabs-language-selector.component.d.ts +20 -20
- package/lib/ecabs-language-selector/ecabs-language-selector.module.d.ts +12 -12
- package/lib/ecabs-loading/ecabs-loading.component.d.ts +8 -8
- package/lib/ecabs-loading/ecabs-loading.module.d.ts +9 -9
- package/lib/ecabs-loading/spinner/spinner.component.d.ts +6 -6
- package/lib/ecabs-note/ecabs-note.component.d.ts +7 -7
- package/lib/ecabs-note/ecabs-note.module.d.ts +9 -9
- package/lib/ecabs-phone/ecabs-phone.component.d.ts +33 -33
- package/lib/ecabs-phone/ecabs-phone.module.d.ts +12 -12
- package/lib/ecabs-picker-header/ecabs-picker-header.component.d.ts +19 -19
- package/lib/ecabs-picker-header/ecabs-picker-header.module.d.ts +12 -12
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.component.d.ts +24 -24
- package/lib/ecabs-radio-button-list/ecabs-radio-button-list.module.d.ts +11 -11
- package/lib/ecabs-select/ecabs-select.component.d.ts +71 -71
- package/lib/ecabs-select/ecabs-select.module.d.ts +15 -15
- package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.component.d.ts +8 -8
- package/lib/ecabs-table/ecabs-table-filter-wrapper/ecabs-table-filter-wrapper.module.d.ts +9 -9
- package/lib/ecabs-table/ecabs-table.component.d.ts +18 -18
- package/lib/ecabs-table/ecabs-table.module.d.ts +12 -12
- package/lib/ecabs-textarea/ecabs-textarea.component.d.ts +20 -20
- package/lib/ecabs-textarea/ecabs-textarea.module.d.ts +10 -10
- package/lib/ecabs-timepicker/componets/ecabs-time-list-panel/ecabs-time-list-panel.component.d.ts +40 -40
- package/lib/ecabs-timepicker/config.model.d.ts +5 -5
- package/lib/ecabs-timepicker/ecabs-timepicker.component.d.ts +53 -53
- package/lib/ecabs-timepicker/ecabs-timepicker.module.d.ts +10 -10
- package/lib/ecabs-timepicker/ecabs-timepicker.service.d.ts +12 -12
- package/lib/ecabs-validation/ecabs-validation.component.d.ts +10 -10
- package/lib/ecabs-validation/ecabs-validation.module.d.ts +9 -9
- package/lib/models/bread-crumb.d.ts +5 -5
- package/lib/models/timepicker.models.d.ts +6 -6
- package/lib/models/validation.models.d.ts +7 -7
- package/lib/services/ecabs-components.service.d.ts +16 -16
- package/package.json +1 -1
- package/public-api.d.ts +58 -58
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../ecabs-timepicker.service";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
export class EcabsTimeListPanelComponent {
|
|
6
|
-
constructor(elementRef, timepickerService) {
|
|
7
|
-
this.elementRef = elementRef;
|
|
8
|
-
this.timepickerService = timepickerService;
|
|
9
|
-
this.listPlacement = 'auto';
|
|
10
|
-
this.listPosition = {};
|
|
11
|
-
this.showDayStart = true;
|
|
12
|
-
this.showDayEnd = false;
|
|
13
|
-
this.position = {};
|
|
14
|
-
this.onscroll = new EventEmitter();
|
|
15
|
-
this.closeMe = new EventEmitter();
|
|
16
|
-
this.hoveredItemIndex = 0;
|
|
17
|
-
this.timeList = [];
|
|
18
|
-
}
|
|
19
|
-
handleKeydown($event) {
|
|
20
|
-
if ($event.key === 'ArrowUp') {
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
22
|
-
this.hoveredItemIndex ? this.hoveredItemIndex-- : null;
|
|
23
|
-
this.scrollTo(this.hoveredItemIndex);
|
|
24
|
-
}
|
|
25
|
-
if ($event.key === 'ArrowDown') {
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
27
|
-
this.hoveredItemIndex + 1 < this.timeList.length ? this.hoveredItemIndex++ : null;
|
|
28
|
-
this.scrollTo(this.hoveredItemIndex);
|
|
29
|
-
}
|
|
30
|
-
if ($event.key === 'Enter') {
|
|
31
|
-
this.setTime(this.timeList[this.hoveredItemIndex].value);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
ngOnInit() {
|
|
35
|
-
this.calcListItems();
|
|
36
|
-
if (this.appendTo) {
|
|
37
|
-
this.appendListTo();
|
|
38
|
-
}
|
|
39
|
-
setTimeout(() => {
|
|
40
|
-
this.listItemHeight = this.elementRef.nativeElement.querySelector('li').getBoundingClientRect().height;
|
|
41
|
-
this.selectTypedValue(this.typedValue);
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
appendListTo() {
|
|
45
|
-
const parent = document.querySelector(this.appendTo);
|
|
46
|
-
if (!parent) {
|
|
47
|
-
throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);
|
|
48
|
-
}
|
|
49
|
-
parent.appendChild(this.elementRef.nativeElement);
|
|
50
|
-
}
|
|
51
|
-
calcListItems() {
|
|
52
|
-
if (this.showDayStart) {
|
|
53
|
-
this.timeList.push({
|
|
54
|
-
value: '00:00',
|
|
55
|
-
title: this.timepickerService.getConfig().dayStart,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
for (let index = 0; index < 24; index++) {
|
|
59
|
-
for (const minute of ['00', '30']) {
|
|
60
|
-
if (index === 0 && minute === '00') {
|
|
61
|
-
continue;
|
|
62
|
-
}
|
|
63
|
-
this.timeList.push({
|
|
64
|
-
value: (index > 9 ? index + '' : '0' + index) + ':' + minute,
|
|
65
|
-
title: (index > 9 ? index + '' : '0' + index) + ':' + minute,
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (this.showDayEnd) {
|
|
70
|
-
this.timeList.push({
|
|
71
|
-
value: '23:59',
|
|
72
|
-
title: this.timepickerService.getConfig().dayEnd,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
ngOnChanges() {
|
|
77
|
-
this.selectTypedValue(this.typedValue);
|
|
78
|
-
if (this.elementRef.nativeElement) {
|
|
79
|
-
this.elementRef.nativeElement.style.top = this.listPosition.top + 'px';
|
|
80
|
-
this.elementRef.nativeElement.style.left = this.listPosition.left + 'px';
|
|
81
|
-
this.elementRef.nativeElement.style.width = this.listPosition.width + 'px';
|
|
82
|
-
if (this.appendTo) {
|
|
83
|
-
this.elementRef.nativeElement.style.position = 'fixed';
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
selectTypedValue(value) {
|
|
88
|
-
if (value) {
|
|
89
|
-
const hour = parseInt(value.split(':')[0], 10);
|
|
90
|
-
if (hour || hour === 0) {
|
|
91
|
-
this.hoveredItemIndex = hour * 2;
|
|
92
|
-
this.scrollTo(this.hoveredItemIndex);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
scrollTo(index) {
|
|
97
|
-
this.elementRef.nativeElement.querySelector('.inner-scroll').scrollTop = index * this.listItemHeight;
|
|
98
|
-
}
|
|
99
|
-
close() {
|
|
100
|
-
this.closeMe.emit(null);
|
|
101
|
-
}
|
|
102
|
-
setTime(value) {
|
|
103
|
-
this.closeMe.emit(value);
|
|
104
|
-
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeListPanelComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormTimePickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeListPanelComponent, selector: "ecabs-time-list-panel", inputs: { typedValue: "typedValue", listPlacement: "listPlacement", listPosition: "listPosition", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", position: "position" }, outputs: { onscroll: "onscroll", closeMe: "closeMe" }, host: { listeners: { "document:keydown": "handleKeydown($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
107
|
-
}
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeListPanelComponent, decorators: [{
|
|
109
|
-
type: Component,
|
|
110
|
-
args: [{ selector: 'ecabs-time-list-panel', template: "<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
111
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormTimePickerService }]; }, propDecorators: { typedValue: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], listPlacement: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], listPosition: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], appendTo: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], min: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], max: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], showDayStart: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], showDayEnd: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], position: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], onscroll: [{
|
|
130
|
-
type: Output
|
|
131
|
-
}], closeMe: [{
|
|
132
|
-
type: Output
|
|
133
|
-
}], handleKeydown: [{
|
|
134
|
-
type: HostListener,
|
|
135
|
-
args: ['document:keydown', ['$event']]
|
|
136
|
-
}] } });
|
|
1
|
+
import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../ecabs-timepicker.service";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
export class EcabsTimeListPanelComponent {
|
|
6
|
+
constructor(elementRef, timepickerService) {
|
|
7
|
+
this.elementRef = elementRef;
|
|
8
|
+
this.timepickerService = timepickerService;
|
|
9
|
+
this.listPlacement = 'auto';
|
|
10
|
+
this.listPosition = {};
|
|
11
|
+
this.showDayStart = true;
|
|
12
|
+
this.showDayEnd = false;
|
|
13
|
+
this.position = {};
|
|
14
|
+
this.onscroll = new EventEmitter();
|
|
15
|
+
this.closeMe = new EventEmitter();
|
|
16
|
+
this.hoveredItemIndex = 0;
|
|
17
|
+
this.timeList = [];
|
|
18
|
+
}
|
|
19
|
+
handleKeydown($event) {
|
|
20
|
+
if ($event.key === 'ArrowUp') {
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
22
|
+
this.hoveredItemIndex ? this.hoveredItemIndex-- : null;
|
|
23
|
+
this.scrollTo(this.hoveredItemIndex);
|
|
24
|
+
}
|
|
25
|
+
if ($event.key === 'ArrowDown') {
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-expressions
|
|
27
|
+
this.hoveredItemIndex + 1 < this.timeList.length ? this.hoveredItemIndex++ : null;
|
|
28
|
+
this.scrollTo(this.hoveredItemIndex);
|
|
29
|
+
}
|
|
30
|
+
if ($event.key === 'Enter') {
|
|
31
|
+
this.setTime(this.timeList[this.hoveredItemIndex].value);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
ngOnInit() {
|
|
35
|
+
this.calcListItems();
|
|
36
|
+
if (this.appendTo) {
|
|
37
|
+
this.appendListTo();
|
|
38
|
+
}
|
|
39
|
+
setTimeout(() => {
|
|
40
|
+
this.listItemHeight = this.elementRef.nativeElement.querySelector('li').getBoundingClientRect().height;
|
|
41
|
+
this.selectTypedValue(this.typedValue);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
appendListTo() {
|
|
45
|
+
const parent = document.querySelector(this.appendTo);
|
|
46
|
+
if (!parent) {
|
|
47
|
+
throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);
|
|
48
|
+
}
|
|
49
|
+
parent.appendChild(this.elementRef.nativeElement);
|
|
50
|
+
}
|
|
51
|
+
calcListItems() {
|
|
52
|
+
if (this.showDayStart) {
|
|
53
|
+
this.timeList.push({
|
|
54
|
+
value: '00:00',
|
|
55
|
+
title: this.timepickerService.getConfig().dayStart,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
for (let index = 0; index < 24; index++) {
|
|
59
|
+
for (const minute of ['00', '30']) {
|
|
60
|
+
if (index === 0 && minute === '00') {
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
this.timeList.push({
|
|
64
|
+
value: (index > 9 ? index + '' : '0' + index) + ':' + minute,
|
|
65
|
+
title: (index > 9 ? index + '' : '0' + index) + ':' + minute,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (this.showDayEnd) {
|
|
70
|
+
this.timeList.push({
|
|
71
|
+
value: '23:59',
|
|
72
|
+
title: this.timepickerService.getConfig().dayEnd,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
ngOnChanges() {
|
|
77
|
+
this.selectTypedValue(this.typedValue);
|
|
78
|
+
if (this.elementRef.nativeElement) {
|
|
79
|
+
this.elementRef.nativeElement.style.top = this.listPosition.top + 'px';
|
|
80
|
+
this.elementRef.nativeElement.style.left = this.listPosition.left + 'px';
|
|
81
|
+
this.elementRef.nativeElement.style.width = this.listPosition.width + 'px';
|
|
82
|
+
if (this.appendTo) {
|
|
83
|
+
this.elementRef.nativeElement.style.position = 'fixed';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
selectTypedValue(value) {
|
|
88
|
+
if (value) {
|
|
89
|
+
const hour = parseInt(value.split(':')[0], 10);
|
|
90
|
+
if (hour || hour === 0) {
|
|
91
|
+
this.hoveredItemIndex = hour * 2;
|
|
92
|
+
this.scrollTo(this.hoveredItemIndex);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
scrollTo(index) {
|
|
97
|
+
this.elementRef.nativeElement.querySelector('.inner-scroll').scrollTop = index * this.listItemHeight;
|
|
98
|
+
}
|
|
99
|
+
close() {
|
|
100
|
+
this.closeMe.emit(null);
|
|
101
|
+
}
|
|
102
|
+
setTime(value) {
|
|
103
|
+
this.closeMe.emit(value);
|
|
104
|
+
}
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeListPanelComponent, deps: [{ token: i0.ElementRef }, { token: i1.FormTimePickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: EcabsTimeListPanelComponent, selector: "ecabs-time-list-panel", inputs: { typedValue: "typedValue", listPlacement: "listPlacement", listPosition: "listPosition", appendTo: "appendTo", min: "min", max: "max", showDayStart: "showDayStart", showDayEnd: "showDayEnd", position: "position" }, outputs: { onscroll: "onscroll", closeMe: "closeMe" }, host: { listeners: { "document:keydown": "handleKeydown($event)" } }, usesOnChanges: true, ngImport: i0, template: "<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
|
|
107
|
+
}
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EcabsTimeListPanelComponent, decorators: [{
|
|
109
|
+
type: Component,
|
|
110
|
+
args: [{ selector: 'ecabs-time-list-panel', template: "<div class=\"list\">\r\n <div class=\"inner-scroll\">\r\n <div class=\"inner\">\r\n <ul>\r\n <li\r\n *ngFor=\"let i of timeList; let counter = index\"\r\n (click)=\"setTime(i.value)\"\r\n (mouseenter)=\"hoveredItemIndex = counter\"\r\n [ngClass]=\"{ active: typedValue === i.value, hovered: counter === hoveredItemIndex }\"\r\n >\r\n {{ i.title }}\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
111
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FormTimePickerService }]; }, propDecorators: { typedValue: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], listPlacement: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], listPosition: [{
|
|
116
|
+
type: Input
|
|
117
|
+
}], appendTo: [{
|
|
118
|
+
type: Input
|
|
119
|
+
}], min: [{
|
|
120
|
+
type: Input
|
|
121
|
+
}], max: [{
|
|
122
|
+
type: Input
|
|
123
|
+
}], showDayStart: [{
|
|
124
|
+
type: Input
|
|
125
|
+
}], showDayEnd: [{
|
|
126
|
+
type: Input
|
|
127
|
+
}], position: [{
|
|
128
|
+
type: Input
|
|
129
|
+
}], onscroll: [{
|
|
130
|
+
type: Output
|
|
131
|
+
}], closeMe: [{
|
|
132
|
+
type: Output
|
|
133
|
+
}], handleKeydown: [{
|
|
134
|
+
type: HostListener,
|
|
135
|
+
args: ['document:keydown', ['$event']]
|
|
136
|
+
}] } });
|
|
137
137
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VjYWJzLWNvbXBvbmVudHMvc3JjL2xpYi9lY2Ficy10aW1lcGlja2VyL2NvbXBvbmV0cy9lY2Ficy10aW1lLWxpc3QtcGFuZWwvZWNhYnMtdGltZS1saXN0LXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUF5QixNQUFNLGVBQWUsQ0FBQzs7OztBQU9wSCxNQUFNLE9BQU8sMkJBQTJCO0lBb0J0QyxZQUFxQixVQUFzQixFQUFVLGlCQUF3QztRQUF4RSxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQVUsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF1QjtRQWxCcEYsa0JBQWEsR0FBa0IsTUFBTSxDQUFDO1FBQ3RDLGlCQUFZLEdBQWlCLEVBQUUsQ0FBQztRQUtoQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGFBQVEsR0FBaUIsRUFBRSxDQUFDO1FBRTNCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBa0MsQ0FBQztRQUM5RCxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU1QyxxQkFBZ0IsR0FBRyxDQUFDLENBQUM7UUFDckIsYUFBUSxHQUFvQyxFQUFFLENBQUM7SUFJbUQsQ0FBQztJQUduRyxhQUFhLENBQUUsTUFBcUI7UUFDbEMsSUFBSyxNQUFN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R0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsUUFBUSxDQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBRSxDQUFDO2FBQ3hDO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFFLEtBQWE7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFFLGVBQWUsQ0FBRSxDQUFDLFNBQVMsR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztJQUN6RyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxPQUFPLENBQUUsS0FBVTtRQUNqQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQztJQUM3QixDQUFDOytHQXJIVSwyQkFBMkI7bUdBQTNCLDJCQUEyQiwrYUNQeEMseWVBZ0JBOzs0RkRUYSwyQkFBMkI7a0JBSnZDLFNBQVM7K0JBQ0UsdUJBQXVCO3FJQUl4QixVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxPQUFPO3NCQUFoQixNQUFNO2dCQVVQLGFBQWE7c0JBRFosWUFBWTt1QkFBRSxrQkFBa0IsRUFBRSxDQUFFLFFBQVEsQ0FBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgRWxlbWVudFJlZiwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExpc3RQbGFjZW1lbnQsIExpc3RQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy90aW1lcGlja2VyLm1vZGVscyc7XHJcbmltcG9ydCB7IEZvcm1UaW1lUGlja2VyU2VydmljZSB9IGZyb20gJy4uLy4uL2VjYWJzLXRpbWVwaWNrZXIuc2VydmljZSc7XHJcbkBDb21wb25lbnQoIHtcclxuICBzZWxlY3RvcjogJ2VjYWJzLXRpbWUtbGlzdC1wYW5lbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VjYWJzLXRpbWUtbGlzdC1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcbn0gKVxyXG5leHBvcnQgY2xhc3MgRWNhYnNUaW1lTGlzdFBhbmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBJbnB1dCgpIHR5cGVkVmFsdWU6IGFueTtcclxuICBASW5wdXQoKSBsaXN0UGxhY2VtZW50OiBMaXN0UGxhY2VtZW50ID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGxpc3RQb3NpdGlvbjogTGlzdFBvc2l0aW9uID0ge307XHJcblxyXG4gIEBJbnB1dCgpIGFwcGVuZFRvITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG1pbiE6IHN0cmluZztcclxuICBASW5wdXQoKSBtYXghOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc2hvd0RheVN0YXJ0ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RGF5RW5kID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcG9zaXRpb246IExpc3RQb3NpdGlvbiA9IHt9O1xyXG5cclxuICBAT3V0cHV0KCkgb25zY3JvbGwgPSBuZXcgRXZlbnRFbWl0dGVyPHsgc3RhcnQ6IG51bWJlcjsgZW5kOiBudW1iZXIgfT4oKTtcclxuICBAT3V0cHV0KCkgY2xvc2VNZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICBob3ZlcmVkSXRlbUluZGV4ID0gMDtcclxuICB0aW1lTGlzdDogeyB2YWx1ZTogYW55OyB0aXRsZTogc3RyaW5nIH1bXSA9IFtdO1xyXG5cclxuICBwcml2YXRlIGxpc3RJdGVtSGVpZ2h0ITogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvciggcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHRpbWVwaWNrZXJTZXJ2aWNlOiBGb3JtVGltZVBpY2tlclNlcnZpY2UgKSB7IH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lciggJ2RvY3VtZW50OmtleWRvd24nLCBbICckZXZlbnQnIF0gKVxyXG4gIGhhbmRsZUtleWRvd24oICRldmVudDogS2V5Ym9hcmRFdmVudCApOiB2b2lkIHtcclxuICAgIGlmICggJGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnICkge1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC1leHByZXNzaW9uc1xyXG4gICAgICB0aGlzLmhvdmVyZWRJdGVtSW5kZXggPyB0aGlzLmhvdmVyZWRJdGVtSW5kZXgtLSA6IG51bGw7XHJcbiAgICAgIHRoaXMuc2Nyb2xsVG8oIHRoaXMuaG92ZXJlZEl0ZW1JbmRleCApO1xyXG4gICAgfVxyXG4gICAgaWYgKCAkZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyApIHtcclxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtZXhwcmVzc2lvbnNcclxuICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4ICsgMSA8IHRoaXMudGltZUxpc3QubGVuZ3RoID8gdGhpcy5ob3ZlcmVkSXRlbUluZGV4KysgOiBudWxsO1xyXG4gICAgICB0aGlzLnNjcm9sbFRvKCB0aGlzLmhvdmVyZWRJdGVtSW5kZXggKTtcclxuICAgIH1cclxuICAgIGlmICggJGV2ZW50LmtleSA9PT0gJ0VudGVyJyApIHtcclxuICAgICAgdGhpcy5zZXRUaW1lKCB0aGlzLnRpbWVMaXN0WyB0aGlzLmhvdmVyZWRJdGVtSW5kZXggXS52YWx1ZSApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGNMaXN0SXRlbXMoKTtcclxuICAgIGlmICggdGhpcy5hcHBlbmRUbyApIHtcclxuICAgICAgdGhpcy5hcHBlbmRMaXN0VG8oKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRUaW1lb3V0KCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubGlzdEl0ZW1IZWlnaHQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCAnbGknICkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O1xyXG4gICAgICB0aGlzLnNlbGVjdFR5cGVkVmFsdWUoIHRoaXMudHlwZWRWYWx1ZSApO1xyXG4gICAgfSApO1xyXG4gIH1cclxuXHJcbiAgYXBwZW5kTGlzdFRvKCk6IHZvaWQge1xyXG4gICAgY29uc3QgcGFyZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvciggdGhpcy5hcHBlbmRUbyApO1xyXG4gICAgaWYgKCAhcGFyZW50ICkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoIGBhcHBlbmRUbyBzZWxlY3RvciAkeyB0aGlzLmFwcGVuZFRvIH0gZGlkIG5vdCBmb3VuZCBhbnkgcGFyZW50IGVsZW1lbnRgICk7XHJcbiAgICB9XHJcbiAgICBwYXJlbnQuYXBwZW5kQ2hpbGQoIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICk7XHJcbiAgfVxyXG5cclxuICBjYWxjTGlzdEl0ZW1zKCk6IHZvaWQge1xyXG4gICAgaWYgKCB0aGlzLnNob3dEYXlTdGFydCApIHtcclxuICAgICAgdGhpcy50aW1lTGlzdC5wdXNoKCB7XHJcbiAgICAgICAgdmFsdWU6ICcwMDowMCcsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuZGF5U3RhcnQsXHJcbiAgICAgIH0gKTtcclxuICAgIH1cclxuICAgIGZvciAoIGxldCBpbmRleCA9IDA7IGluZGV4IDwgMjQ7IGluZGV4KysgKSB7XHJcbiAgICAgIGZvciAoIGNvbnN0IG1pbnV0ZSBvZiBbICcwMCcsICczMCcgXSApIHtcclxuICAgICAgICBpZiAoIGluZGV4ID09PSAwICYmIG1pbnV0ZSA9PT0gJzAwJyApIHtcclxuICAgICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnRpbWVMaXN0LnB1c2goIHtcclxuICAgICAgICAgIHZhbHVlOiAoIGluZGV4ID4gOSA/IGluZGV4ICsgJycgOiAnMCcgKyBpbmRleCApICsgJzonICsgbWludXRlLFxyXG4gICAgICAgICAgdGl0bGU6ICggaW5kZXggPiA5ID8gaW5kZXggKyAnJyA6ICcwJyArIGluZGV4ICkgKyAnOicgKyBtaW51dGUsXHJcbiAgICAgICAgfSApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoIHRoaXMuc2hvd0RheUVuZCApIHtcclxuICAgICAgdGhpcy50aW1lTGlzdC5wdXNoKCB7XHJcbiAgICAgICAgdmFsdWU6ICcyMzo1OScsXHJcbiAgICAgICAgdGl0bGU6IHRoaXMudGltZXBpY2tlclNlcnZpY2UuZ2V0Q29uZmlnKCkuZGF5RW5kLFxyXG4gICAgICB9ICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0VHlwZWRWYWx1ZSggdGhpcy50eXBlZFZhbHVlICk7XHJcbiAgICBpZiAoIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50ICkge1xyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50b3AgPSB0aGlzLmxpc3RQb3NpdGlvbi50b3AgKyAncHgnO1xyXG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gdGhpcy5saXN0UG9zaXRpb24ubGVmdCArICdweCc7XHJcbiAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gdGhpcy5saXN0UG9zaXRpb24ud2lkdGggKyAncHgnO1xyXG4gICAgICBpZiAoIHRoaXMuYXBwZW5kVG8gKSB7XHJcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUucG9zaXRpb24gPSAnZml4ZWQnO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUeXBlZFZhbHVlKCB2YWx1ZTogYW55ICk6IHZvaWQge1xyXG4gICAgaWYgKCB2YWx1ZSApIHtcclxuICAgICAgY29uc3QgaG91ciA9IHBhcnNlSW50KCB2YWx1ZS5zcGxpdCggJzonIClbIDAgXSwgMTAgKTtcclxuICAgICAgaWYgKCBob3VyIHx8IGhvdXIgPT09IDAgKSB7XHJcbiAgICAgICAgdGhpcy5ob3ZlcmVkSXRlbUluZGV4ID0gaG91ciAqIDI7XHJcbiAgICAgICAgdGhpcy5zY3JvbGxUbyggdGhpcy5ob3ZlcmVkSXRlbUluZGV4ICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNjcm9sbFRvKCBpbmRleDogbnVtYmVyICk6IHZvaWQge1xyXG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvciggJy5pbm5lci1zY3JvbGwnICkuc2Nyb2xsVG9wID0gaW5kZXggKiB0aGlzLmxpc3RJdGVtSGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTWUuZW1pdCggbnVsbCApO1xyXG4gIH1cclxuXHJcbiAgc2V0VGltZSggdmFsdWU6IGFueSApOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VNZS5lbWl0KCB2YWx1ZSApO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibGlzdFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJpbm5lci1zY3JvbGxcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbm5lclwiPlxyXG4gICAgICA8dWw+XHJcbiAgICAgICAgPGxpXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgaSBvZiB0aW1lTGlzdDsgbGV0IGNvdW50ZXIgPSBpbmRleFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2V0VGltZShpLnZhbHVlKVwiXHJcbiAgICAgICAgICAobW91c2VlbnRlcik9XCJob3ZlcmVkSXRlbUluZGV4ID0gY291bnRlclwiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7IGFjdGl2ZTogdHlwZWRWYWx1ZSA9PT0gaS52YWx1ZSwgaG92ZXJlZDogY291bnRlciA9PT0gaG92ZXJlZEl0ZW1JbmRleCB9XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBpLnRpdGxlIH19XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export {};
|
|
1
|
+
export {};
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZWNhYnMtY29tcG9uZW50cy9zcmMvbGliL2VjYWJzLXRpbWVwaWNrZXIvY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZvcm1UaW1lUGlja2VyQ29uZmlnIHtcclxuICBkYXlTdGFydDogc3RyaW5nO1xyXG4gIGRheUVuZDogc3RyaW5nO1xyXG4gIGljb25DbGFzczogc3RyaW5nO1xyXG59XHJcbiJdfQ==
|