vcomply-workflow-engine 3.4.27 → 3.4.28
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/esm2020/lib/constants/time.constants.mjs +2 -0
- package/esm2020/lib/log-an-issue/log-an-issue.component.mjs +29 -12
- package/esm2020/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +17 -8
- package/esm2020/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +15 -6
- package/esm2020/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +3 -2
- package/esm2020/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +14 -6
- package/esm2020/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +4 -3
- package/esm2020/lib/sharedComponents/frequency/frequency.service.mjs +3 -2
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +3 -3
- package/esm2020/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +5 -3
- package/esm2020/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
- package/esm2020/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +194 -0
- package/esm2020/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
- package/esm2020/lib/workflow-compliance/workflow-compliance.component.mjs +8 -7
- package/esm2020/lib/workflow-engine.module.mjs +7 -3
- package/esm2020/lib/workflow-policy/workflow-policy.component.mjs +5 -4
- package/esm2020/lib/workflow-services/log-issue.service.mjs +39 -140
- package/fesm2015/vcomply-workflow-engine.mjs +369 -221
- package/fesm2015/vcomply-workflow-engine.mjs.map +1 -1
- package/fesm2020/vcomply-workflow-engine.mjs +351 -202
- package/fesm2020/vcomply-workflow-engine.mjs.map +1 -1
- package/lib/constants/time.constants.d.ts +1 -0
- package/lib/log-an-issue/log-an-issue.component.d.ts +2 -3
- package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +2 -0
- package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +2 -0
- package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +2 -0
- package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -0
- package/lib/ui-kit/time-picker/constants/constant.d.ts +4 -0
- package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +25 -0
- package/lib/ui-kit/time-picker/time-picker.module.d.ts +8 -0
- package/lib/workflow-engine.module.d.ts +2 -1
- package/lib/workflow-services/log-issue.service.d.ts +0 -1
- package/package.json +2 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import moment from 'moment/moment';
|
|
3
|
+
import { DEFAULT_TIME } from '../../../constants/time.constants';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/forms";
|
|
5
6
|
import * as i2 from "@angular/common";
|
|
@@ -18,6 +19,7 @@ export class FrequencyDialogTopComponent {
|
|
|
18
19
|
this.todayDate = new Date();
|
|
19
20
|
this.dateObjectData = new Date();
|
|
20
21
|
this.timeData = '11:00 pm';
|
|
22
|
+
this.DEFAULT_TIME = DEFAULT_TIME;
|
|
21
23
|
}
|
|
22
24
|
ngOnInit() { }
|
|
23
25
|
enterValueFirst(event, actionType) {
|
|
@@ -97,10 +99,10 @@ export class FrequencyDialogTopComponent {
|
|
|
97
99
|
}
|
|
98
100
|
}
|
|
99
101
|
FrequencyDialogTopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyDialogTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
100
|
-
FrequencyDialogTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyDialogTopComponent, selector: "app-frequency-dialog-top", inputs: { occurrenceFirst: "occurrenceFirst", id: "id", inputTime: "inputTime", frequencyType: "frequencyType", yearlyDay: "yearlyDay" }, outputs: { valueChangedFirst: "valueChangedFirst", nextDisable: "nextDisable", timeChanged: "timeChanged", yearlyDateChanged: "yearlyDateChanged" }, ngImport: i0, template: "
|
|
102
|
+
FrequencyDialogTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FrequencyDialogTopComponent, selector: "app-frequency-dialog-top", inputs: { occurrenceFirst: "occurrenceFirst", id: "id", inputTime: "inputTime", frequencyType: "frequencyType", yearlyDay: "yearlyDay" }, outputs: { valueChangedFirst: "valueChangedFirst", nextDisable: "nextDisable", timeChanged: "timeChanged", yearlyDateChanged: "yearlyDateChanged" }, ngImport: i0, template: "<div class=\"frequency-dialog-top vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ id === 0 || id === 1 || id === 5 ? \"Every\" : \"Day\" }}\r\n </div>\r\n <input\r\n type=\"number\"\r\n [id]=\"'occurrence' + id\"\r\n [(ngModel)]=\"occurrenceFirst\"\r\n class=\"day-counter\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n (focusout)=\"enterValueFirst($event, 'occurrenceFirst')\"\r\n />\r\n <div\r\n *ngIf=\"frequencyType === 1\"\r\n class=\"vx-fs-13 vx-paragraph-txt vx-ml-3 vx-mr-3\"\r\n >\r\n {{ occurrenceFirst > 1 ? \"weeks\" : \"week\" }} by\r\n </div>\r\n <div\r\n class=\"vx-fs-13 vx-paragraph-txt vx-ml-3 vx-mr-3\"\r\n *ngIf=\"id !== 0 && id !== 1 && id !== 5\"\r\n >\r\n by\r\n </div>\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-ml-3 vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"years\" : \"year\" }} on day\r\n </div>\r\n <input\r\n type=\"number\"\r\n type=\"number\"\r\n [id]=\"'occurrence-day' + id\"\r\n [(ngModel)]=\"yearlyDay\"\r\n (focusout)=\"enterYearDay($event)\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n />\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-ml-3 vx-mr-3\">by</div>\r\n </ng-container>\r\n <div class=\"time-picker vx-d-flex vx-align-center vx-justify-end vx-pr-3\">\r\n <input\r\n type=\"text\"\r\n [id]=\"'time-picker-input-top' + id\"\r\n [(ngModel)]=\"inputTime\"\r\n readonly\r\n aria-label=\"12hr format\"\r\n [placeholder]=\"DEFAULT_TIME\"\r\n />\r\n <ngx-material-timepicker\r\n [id]=\"'time-picker-top' + id\"\r\n [hoursOnly]=\"true\"\r\n (timeChanged)=\"onTimeChanged($event)\"\r\n #dailyTime\r\n ></ngx-material-timepicker>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-dialog-top input[type=number]{background:transparent;border-radius:0;border:none;border-bottom:1px solid #dbdbdb;color:#161b2f;font-size:13px;height:1.5rem;width:3rem;text-align:center;outline:none}::ng-deep .frequency-dialog-top input[type=number]::-webkit-outer-spin-button,::ng-deep .frequency-dialog-top input[type=number]::-webkit-inner-spin-button{-moz-appearance:none;-webkit-appearance:none;margin:0}::ng-deep .frequency-dialog-top .time-picker{border-radius:.25rem;border:1px solid #dbdbdb;height:2rem;width:6.25rem;position:relative}::ng-deep .frequency-dialog-top .time-picker input{background:transparent;border-radius:0;border:none;color:#161b2f;font-size:13px;margin:0!important;padding:0 0 0 .75rem;position:absolute;top:0;left:0;height:100%;width:100%;cursor:pointer}::ng-deep .frequency-dialog-top .time-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-top .time-picker input:focus{outline:none}\n"], dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.NgxMaterialTimepickerComponent, selector: "ngx-material-timepicker", inputs: ["ESC", "hoursOnly", "ngxMaterialTimepickerTheme", "format", "minutesGap", "cancelBtnTmpl", "editableHintTmpl", "confirmBtnTmpl", "enableKeyboardInput", "preventOverlayClick", "disableAnimation", "appendToInput", "defaultTime", "timepickerClass", "theme", "min", "max"], outputs: ["timeSet", "opened", "closed", "hourSelected", "timeChanged"] }] });
|
|
101
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FrequencyDialogTopComponent, decorators: [{
|
|
102
104
|
type: Component,
|
|
103
|
-
args: [{ selector: 'app-frequency-dialog-top', template: "
|
|
105
|
+
args: [{ selector: 'app-frequency-dialog-top', template: "<div class=\"frequency-dialog-top vx-p-3 vx-d-flex vx-align-center\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-mr-3\">\r\n {{ id === 0 || id === 1 || id === 5 ? \"Every\" : \"Day\" }}\r\n </div>\r\n <input\r\n type=\"number\"\r\n [id]=\"'occurrence' + id\"\r\n [(ngModel)]=\"occurrenceFirst\"\r\n class=\"day-counter\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n (focusout)=\"enterValueFirst($event, 'occurrenceFirst')\"\r\n />\r\n <div\r\n *ngIf=\"frequencyType === 1\"\r\n class=\"vx-fs-13 vx-paragraph-txt vx-ml-3 vx-mr-3\"\r\n >\r\n {{ occurrenceFirst > 1 ? \"weeks\" : \"week\" }} by\r\n </div>\r\n <div\r\n class=\"vx-fs-13 vx-paragraph-txt vx-ml-3 vx-mr-3\"\r\n *ngIf=\"id !== 0 && id !== 1 && id !== 5\"\r\n >\r\n by\r\n </div>\r\n <ng-container *ngIf=\"frequencyType === 2\">\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-ml-3 vx-mr-3\">\r\n {{ occurrenceFirst > 1 ? \"years\" : \"year\" }} on day\r\n </div>\r\n <input\r\n type=\"number\"\r\n type=\"number\"\r\n [id]=\"'occurrence-day' + id\"\r\n [(ngModel)]=\"yearlyDay\"\r\n (focusout)=\"enterYearDay($event)\"\r\n onkeydown=\"return event.keyCode !== 190\"\r\n min=\"0\"\r\n oninput=\"this.value = Math.abs(this.value)\"\r\n />\r\n <div class=\"vx-fs-13 vx-paragraph-txt vx-ml-3 vx-mr-3\">by</div>\r\n </ng-container>\r\n <div class=\"time-picker vx-d-flex vx-align-center vx-justify-end vx-pr-3\">\r\n <input\r\n type=\"text\"\r\n [id]=\"'time-picker-input-top' + id\"\r\n [(ngModel)]=\"inputTime\"\r\n readonly\r\n aria-label=\"12hr format\"\r\n [placeholder]=\"DEFAULT_TIME\"\r\n />\r\n <ngx-material-timepicker\r\n [id]=\"'time-picker-top' + id\"\r\n [hoursOnly]=\"true\"\r\n (timeChanged)=\"onTimeChanged($event)\"\r\n #dailyTime\r\n ></ngx-material-timepicker>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .frequency-dialog-top input[type=number]{background:transparent;border-radius:0;border:none;border-bottom:1px solid #dbdbdb;color:#161b2f;font-size:13px;height:1.5rem;width:3rem;text-align:center;outline:none}::ng-deep .frequency-dialog-top input[type=number]::-webkit-outer-spin-button,::ng-deep .frequency-dialog-top input[type=number]::-webkit-inner-spin-button{-moz-appearance:none;-webkit-appearance:none;margin:0}::ng-deep .frequency-dialog-top .time-picker{border-radius:.25rem;border:1px solid #dbdbdb;height:2rem;width:6.25rem;position:relative}::ng-deep .frequency-dialog-top .time-picker input{background:transparent;border-radius:0;border:none;color:#161b2f;font-size:13px;margin:0!important;padding:0 0 0 .75rem;position:absolute;top:0;left:0;height:100%;width:100%;cursor:pointer}::ng-deep .frequency-dialog-top .time-picker input::placeholder{color:#161b2f}::ng-deep .frequency-dialog-top .time-picker input:focus{outline:none}\n"] }]
|
|
104
106
|
}], ctorParameters: function () { return []; }, propDecorators: { occurrenceFirst: [{
|
|
105
107
|
type: Input
|
|
106
108
|
}], id: [{
|
|
@@ -120,4 +122,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
120
122
|
}], yearlyDateChanged: [{
|
|
121
123
|
type: Output
|
|
122
124
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLXRvcC9mcmVxdWVuY3ktZGlhbG9nLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFPbkMsTUFBTSxPQUFPLDJCQUEyQjtJQWV0QztRQWRTLG9CQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLE9BQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7UUFDNUMsY0FBUyxHQUFHLFVBQVUsQ0FBQztRQUN2QixrQkFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztRQUNyRCxjQUFTLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVoQyxzQkFBaUIsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxRCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFcEUsY0FBUyxHQUFHLElBQUksSUFBSSxF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QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudC9tb21lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZnJlcXVlbmN5LWRpYWxvZy10b3AnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mcmVxdWVuY3ktZGlhbG9nLXRvcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50Lmxlc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZyZXF1ZW5jeURpYWxvZ1RvcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgb2NjdXJyZW5jZUZpcnN0ID0gMDtcclxuICBASW5wdXQoKSBpZCA9IDA7IC8vIDAgPSBEYWlseSwgMTogd2Vla2x5LCA1OiBBbm51YWxseVxyXG4gIEBJbnB1dCgpIGlucHV0VGltZSA9ICcxMTowMCBwbSc7XHJcbiAgQElucHV0KCkgZnJlcXVlbmN5VHlwZSA9IDA7IC8vIDAgPSBkYXlzLCAxID0gd2Vla3MgJiAyID0geWVhcnNcclxuICBASW5wdXQoKSB5ZWFybHlEYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuXHJcbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZEZpcnN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgbmV4dERpc2FibGU6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB0aW1lQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHllYXJseURhdGVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgdG9kYXlEYXRlID0gbmV3IERhdGUoKTtcclxuICBkYXRlT2JqZWN0RGF0YSA9IG5ldyBEYXRlKCk7XHJcbiAgdGltZURhdGEgPSAnMTE6MDAgcG0nO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBlbnRlclZhbHVlRmlyc3QoZXZlbnQ6IGFueSwgYWN0aW9uVHlwZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5pZCAhPT0gMCAmJiB0aGlzLmlkICE9PSAxICYmIHRoaXMuaWQgIT09IDUpIHtcclxuICAgICAgdGhpcy5lbnRlclZhbHVlKHRoaXMub2NjdXJyZW5jZUZpcnN0LCBhY3Rpb25UeXBlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICAhTnVtYmVyLmlzTmFOKE51bWJlcih0aGlzLm9jY3VycmVuY2VGaXJzdCkpICYmXHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ICE9PSAwICYmXHJcbiAgICAgIE51bWJlcih0aGlzLm9jY3VycmVuY2VGaXJzdCkgPiAwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgPSBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpO1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZEZpcnN0LmVtaXQoe1xyXG4gICAgICAgIHR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgICAgdmFsdWU6IE51bWJlcih0aGlzLm9jY3VycmVuY2VGaXJzdCksXHJcbiAgICAgICAgcGFnZU5hbWU6ICcnLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVudGVyVmFsdWUoZXZlbnQ6IGFueSwgYWN0aW9uVHlwZTogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKGV2ZW50KSkgJiZcclxuICAgICAgZXZlbnQgIT09IDAgJiZcclxuICAgICAgTnVtYmVyKGV2ZW50KSA+IDAgJiZcclxuICAgICAgTnVtYmVyKGV2ZW50KSA8IDMyXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgPSBOdW1iZXIoZXZlbnQpO1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZEZpcnN0LmVtaXQoe1xyXG4gICAgICAgIHR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgICAgdmFsdWU6IE51bWJlcihldmVudCksXHJcbiAgICAgICAgcGFnZU5hbWU6ICcnLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRUb2RheSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1vbWVudChEYXRlLm5vdygpKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW06c3MnKT8uc3BsaXQoJyAnKVswXTtcclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy50aW1lRGF0YSA9IGV2ZW50O1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuZGF0ZU9iamVjdERhdGEgPT0gJ29iamVjdCcpIHtcclxuICAgICAgICB0aGlzLmRhdGVPYmplY3REYXRhID0gbW9tZW50KHRoaXMuZGF0ZU9iamVjdERhdGEpLnRvRGF0ZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCB0aW1lU3RhbXAgPSBtb21lbnQoXHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXREYXRlKCkgK1xyXG4gICAgICAgICAgJy0nICtcclxuICAgICAgICAgICh0aGlzLmRhdGVPYmplY3REYXRhLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAgICAgICAnLScgK1xyXG4gICAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRGdWxsWWVhcigpICtcclxuICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICB0aGlzLnRpbWVEYXRhLFxyXG4gICAgICAgICdERC1NTS1ZWVlZIGhoOm1tIGEnXHJcbiAgICAgICkudW5peCgpO1xyXG4gICAgICBpZiAoRGF0ZS5ub3coKSAvIDEwMDAgPiB0aW1lU3RhbXApIHtcclxuICAgICAgICB0aGlzLm5leHREaXNhYmxlLmVtaXQodHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5uZXh0RGlzYWJsZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRpbWVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW50ZXJZZWFyRGF5KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChcclxuICAgICAgIU51bWJlci5pc05hTihOdW1iZXIodGhpcy55ZWFybHlEYXkpKSAmJlxyXG4gICAgICB0aGlzLnllYXJseURheSAhPT0gMCAmJlxyXG4gICAgICBOdW1iZXIodGhpcy55ZWFybHlEYXkpID4gMCAmJlxyXG4gICAgICBOdW1iZXIodGhpcy55ZWFybHlEYXkpIDwgMzJcclxuICAgICkge1xyXG4gICAgICAvL3RoaXMueWVhcmx5RGF5ID0gTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgIHRoaXMueWVhcmx5RGF0ZUNoYW5nZWQuZW1pdCh0aGlzLnllYXJseURheSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnllYXJseURheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLXRvcCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPkV2ZXJ5PC9kaXY+XHJcbiAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIHZhbHVlPVwiMVwiIC8+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIj53ZWVrIGJ5PC9kaXY+XHJcbiAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIHZhbHVlPVwiMVwiICpuZ0lmPVwiZmFsc2VcIiAvPlxyXG4gICAgPGRpdiAqbmdJZj1cImZhbHNlXCIgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1sLTMgdngtbXItM1wiPmJ5PC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWVuZCB2eC1wci0zXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcmVhZG9ubHkgYXJpYS1sYWJlbD1cIjEyaHIgZm9ybWF0XCIgW25neFRpbWVwaWNrZXJdPVwiZGFpbHlUaW1lXCIgcGxhY2Vob2xkZXI9XCIxMTo1OSBQTVwiPlxyXG4gICAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtdHh0LWJsdWVcIj4mI3hlOTU1OzwvaT5cclxuICAgICAgICA8bmd4LW1hdGVyaWFsLXRpbWVwaWNrZXIgI2RhaWx5VGltZT48L25neC1tYXRlcmlhbC10aW1lcGlja2VyPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiAtLT5cclxuXHJcblxyXG48ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy10b3AgdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj57e2lkID09PSAwIHx8IGlkID09PSAxIHx8IGlkID09PSA1ID8gJ0V2ZXJ5JyA6ICdEYXknfX08L2Rpdj5cclxuICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICBbaWRdPVwiJ29jY3VycmVuY2UnICsgaWRcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwib2NjdXJyZW5jZUZpcnN0XCJcclxuICAgICAgICBjbGFzcz1cImRheS1jb3VudGVyXCJcclxuICAgICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCIgbWluPVwiMFwiIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxyXG4gICAgICAgIChmb2N1c291dCkgPSBcImVudGVyVmFsdWVGaXJzdCgkZXZlbnQsICdvY2N1cnJlbmNlRmlyc3QnKVwiIC8+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMVwiIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIj57eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ3dlZWtzJyA6ICd3ZWVrJyB9fSBieSAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIiAqbmdJZj1cImlkICE9PSAwICYmIGlkICE9PSAxICYmIGlkICE9PSA1XCI+Ynk8L2Rpdj5cclxuICAgIDxuZy1jb250YWluZXIgICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMlwiPlxyXG4gICAgICAgIDxkaXYgIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIj57eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gJ3llYXJzJyA6ICd5ZWFyJyB9fSBvbiBkYXk8L2Rpdj5cclxuICAgICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIHR5cGU9XCJudW1iZXJcIiBbaWRdPVwiJ29jY3VycmVuY2UtZGF5JyArIGlkXCIgWyhuZ01vZGVsKV09XCJ5ZWFybHlEYXlcIiAoZm9jdXNvdXQpPVwiZW50ZXJZZWFyRGF5KCRldmVudClcIiAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiIG1pbj1cIjBcIiBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCIgLz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIj5ieTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidGltZS1waWNrZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWVuZCB2eC1wci0zXCI+XHJcbiAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgW2lkXT1cIid0aW1lLXBpY2tlci1pbnB1dC10b3AnK2lkXCIgWyhuZ01vZGVsKV09XCJpbnB1dFRpbWVcIiByZWFkb25seSBhcmlhLWxhYmVsPVwiMTJociBmb3JtYXRcIiAgcGxhY2Vob2xkZXI9XCIxMTo1OSBQTVwiPlxyXG4gICAgICAgIDwhLS0gPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC10eHQtYmx1ZVwiPiYjeGU5NTU7PC9pPiAtLT5cclxuICAgICAgICA8bmd4LW1hdGVyaWFsLXRpbWVwaWNrZXIgW2lkXT1cIid0aW1lLXBpY2tlci10b3AnK2lkXCIgW2hvdXJzT25seV09XCJ0cnVlXCIgKHRpbWVDaGFuZ2VkKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50KVwiICNkYWlseVRpbWU+PC9uZ3gtbWF0ZXJpYWwtdGltZXBpY2tlcj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
125
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLXRvcC9mcmVxdWVuY3ktZGlhbG9nLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7O0FBT2pFLE1BQU0sT0FBTywyQkFBMkI7SUFnQnRDO1FBZlMsb0JBQWUsR0FBRyxDQUFDLENBQUM7UUFDcEIsT0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLG9DQUFvQztRQUM1QyxjQUFTLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO1FBQ3JELGNBQVMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRWhDLHNCQUFpQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQzFELGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxzQkFBaUIsR0FBc0IsSUFB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QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50L21vbWVudCc7XHJcbmltcG9ydCB7IERFRkFVTFRfVElNRSB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy90aW1lLmNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mcmVxdWVuY3ktZGlhbG9nLXRvcCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mcmVxdWVuY3ktZGlhbG9nLXRvcC5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRnJlcXVlbmN5RGlhbG9nVG9wQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBvY2N1cnJlbmNlRmlyc3QgPSAwO1xyXG4gIEBJbnB1dCgpIGlkID0gMDsgLy8gMCA9IERhaWx5LCAxOiB3ZWVrbHksIDU6IEFubnVhbGx5XHJcbiAgQElucHV0KCkgaW5wdXRUaW1lID0gJzExOjAwIHBtJztcclxuICBASW5wdXQoKSBmcmVxdWVuY3lUeXBlID0gMDsgLy8gMCA9IGRheXMsIDEgPSB3ZWVrcyAmIDIgPSB5ZWFyc1xyXG4gIEBJbnB1dCgpIHllYXJseURheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG5cclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2VkRmlyc3Q6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBuZXh0RGlzYWJsZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHRpbWVDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgeWVhcmx5RGF0ZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICB0b2RheURhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gIGRhdGVPYmplY3REYXRhID0gbmV3IERhdGUoKTtcclxuICB0aW1lRGF0YSA9ICcxMTowMCBwbSc7XHJcbiAgREVGQVVMVF9USU1FID0gREVGQVVMVF9USU1FO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBlbnRlclZhbHVlRmlyc3QoZXZlbnQ6IGFueSwgYWN0aW9uVHlwZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5pZCAhPT0gMCAmJiB0aGlzLmlkICE9PSAxICYmIHRoaXMuaWQgIT09IDUpIHtcclxuICAgICAgdGhpcy5lbnRlclZhbHVlKHRoaXMub2NjdXJyZW5jZUZpcnN0LCBhY3Rpb25UeXBlKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICAhTnVtYmVyLmlzTmFOKE51bWJlcih0aGlzLm9jY3VycmVuY2VGaXJzdCkpICYmXHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ICE9PSAwICYmXHJcbiAgICAgIE51bWJlcih0aGlzLm9jY3VycmVuY2VGaXJzdCkgPiAwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgPSBOdW1iZXIodGhpcy5vY2N1cnJlbmNlRmlyc3QpO1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZEZpcnN0LmVtaXQoe1xyXG4gICAgICAgIHR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgICAgdmFsdWU6IE51bWJlcih0aGlzLm9jY3VycmVuY2VGaXJzdCksXHJcbiAgICAgICAgcGFnZU5hbWU6ICcnLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVudGVyVmFsdWUoZXZlbnQ6IGFueSwgYWN0aW9uVHlwZTogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKGV2ZW50KSkgJiZcclxuICAgICAgZXZlbnQgIT09IDAgJiZcclxuICAgICAgTnVtYmVyKGV2ZW50KSA+IDAgJiZcclxuICAgICAgTnVtYmVyKGV2ZW50KSA8IDMyXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgPSBOdW1iZXIoZXZlbnQpO1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZEZpcnN0LmVtaXQoe1xyXG4gICAgICAgIHR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgICAgdmFsdWU6IE51bWJlcihldmVudCksXHJcbiAgICAgICAgcGFnZU5hbWU6ICcnLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMub2NjdXJyZW5jZUZpcnN0ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRUb2RheSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIG1vbWVudChEYXRlLm5vdygpKS5mb3JtYXQoJ1lZWVktTU0tREQgSEg6bW06c3MnKT8uc3BsaXQoJyAnKVswXTtcclxuICB9XHJcblxyXG4gIG9uVGltZUNoYW5nZWQoZXZlbnQ6IHN0cmluZykge1xyXG4gICAgdHJ5IHtcclxuICAgICAgdGhpcy50aW1lRGF0YSA9IGV2ZW50O1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMuZGF0ZU9iamVjdERhdGEgPT0gJ29iamVjdCcpIHtcclxuICAgICAgICB0aGlzLmRhdGVPYmplY3REYXRhID0gbW9tZW50KHRoaXMuZGF0ZU9iamVjdERhdGEpLnRvRGF0ZSgpO1xyXG4gICAgICB9XHJcbiAgICAgIGxldCB0aW1lU3RhbXAgPSBtb21lbnQoXHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXREYXRlKCkgK1xyXG4gICAgICAgICAgJy0nICtcclxuICAgICAgICAgICh0aGlzLmRhdGVPYmplY3REYXRhLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAgICAgICAnLScgK1xyXG4gICAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRGdWxsWWVhcigpICtcclxuICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICB0aGlzLnRpbWVEYXRhLFxyXG4gICAgICAgICdERC1NTS1ZWVlZIGhoOm1tIGEnXHJcbiAgICAgICkudW5peCgpO1xyXG4gICAgICBpZiAoRGF0ZS5ub3coKSAvIDEwMDAgPiB0aW1lU3RhbXApIHtcclxuICAgICAgICB0aGlzLm5leHREaXNhYmxlLmVtaXQodHJ1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5uZXh0RGlzYWJsZS5lbWl0KGZhbHNlKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRpbWVDaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICBjb25zb2xlLmVycm9yKGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW50ZXJZZWFyRGF5KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmIChcclxuICAgICAgIU51bWJlci5pc05hTihOdW1iZXIodGhpcy55ZWFybHlEYXkpKSAmJlxyXG4gICAgICB0aGlzLnllYXJseURheSAhPT0gMCAmJlxyXG4gICAgICBOdW1iZXIodGhpcy55ZWFybHlEYXkpID4gMCAmJlxyXG4gICAgICBOdW1iZXIodGhpcy55ZWFybHlEYXkpIDwgMzJcclxuICAgICkge1xyXG4gICAgICAvL3RoaXMueWVhcmx5RGF5ID0gTnVtYmVyKGV2ZW50LnRhcmdldC52YWx1ZSk7XHJcbiAgICAgIHRoaXMueWVhcmx5RGF0ZUNoYW5nZWQuZW1pdCh0aGlzLnllYXJseURheSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnllYXJseURheSA9IG5ldyBEYXRlKCkuZ2V0RGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZnJlcXVlbmN5LWRpYWxvZy10b3AgdngtcC0zIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tci0zXCI+XHJcbiAgICB7eyBpZCA9PT0gMCB8fCBpZCA9PT0gMSB8fCBpZCA9PT0gNSA/IFwiRXZlcnlcIiA6IFwiRGF5XCIgfX1cclxuICA8L2Rpdj5cclxuICA8aW5wdXRcclxuICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgW2lkXT1cIidvY2N1cnJlbmNlJyArIGlkXCJcclxuICAgIFsobmdNb2RlbCldPVwib2NjdXJyZW5jZUZpcnN0XCJcclxuICAgIGNsYXNzPVwiZGF5LWNvdW50ZXJcIlxyXG4gICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXHJcbiAgICBtaW49XCIwXCJcclxuICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxyXG4gICAgKGZvY3Vzb3V0KT1cImVudGVyVmFsdWVGaXJzdCgkZXZlbnQsICdvY2N1cnJlbmNlRmlyc3QnKVwiXHJcbiAgLz5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDFcIlxyXG4gICAgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1sLTMgdngtbXItM1wiXHJcbiAgPlxyXG4gICAge3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/IFwid2Vla3NcIiA6IFwid2Vla1wiIH19IGJ5XHJcbiAgPC9kaXY+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1sLTMgdngtbXItM1wiXHJcbiAgICAqbmdJZj1cImlkICE9PSAwICYmIGlkICE9PSAxICYmIGlkICE9PSA1XCJcclxuICA+XHJcbiAgICBieVxyXG4gIDwvZGl2PlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIj5cclxuICAgICAge3sgb2NjdXJyZW5jZUZpcnN0ID4gMSA/IFwieWVhcnNcIiA6IFwieWVhclwiIH19IG9uIGRheVxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICBbaWRdPVwiJ29jY3VycmVuY2UtZGF5JyArIGlkXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ5ZWFybHlEYXlcIlxyXG4gICAgICAoZm9jdXNvdXQpPVwiZW50ZXJZZWFyRGF5KCRldmVudClcIlxyXG4gICAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCJcclxuICAgICAgbWluPVwiMFwiXHJcbiAgICAgIG9uaW5wdXQ9XCJ0aGlzLnZhbHVlID0gTWF0aC5hYnModGhpcy52YWx1ZSlcIlxyXG4gICAgLz5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1sLTMgdngtbXItM1wiPmJ5PC9kaXY+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cInRpbWUtcGlja2VyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1lbmQgdngtcHItM1wiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgW2lkXT1cIid0aW1lLXBpY2tlci1pbnB1dC10b3AnICsgaWRcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImlucHV0VGltZVwiXHJcbiAgICAgIHJlYWRvbmx5XHJcbiAgICAgIGFyaWEtbGFiZWw9XCIxMmhyIGZvcm1hdFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJERUZBVUxUX1RJTUVcIlxyXG4gICAgLz5cclxuICAgIDxuZ3gtbWF0ZXJpYWwtdGltZXBpY2tlclxyXG4gICAgICBbaWRdPVwiJ3RpbWUtcGlja2VyLXRvcCcgKyBpZFwiXHJcbiAgICAgIFtob3Vyc09ubHldPVwidHJ1ZVwiXHJcbiAgICAgICh0aW1lQ2hhbmdlZCk9XCJvblRpbWVDaGFuZ2VkKCRldmVudClcIlxyXG4gICAgICAjZGFpbHlUaW1lXHJcbiAgICA+PC9uZ3gtbWF0ZXJpYWwtdGltZXBpY2tlcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export const HOURS = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
|
|
2
|
+
export const MINUTES = ['', '', '00', '30', ''];
|
|
3
|
+
export const AM_PM = ['', '', 'AM', 'PM', ''];
|
|
4
|
+
export const TIME_VARIABLE = ['HOURS', 'MINUTES', 'MERIDIEM'];
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi91aS1raXQvdGltZS1waWNrZXIvY29uc3RhbnRzL2NvbnN0YW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBYSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdkUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzFELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBYSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4RCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEhPVVJTOiBudW1iZXJbXSA9IFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyXTtcclxuZXhwb3J0IGNvbnN0IE1JTlVURVM6IHN0cmluZ1tdID0gWycnLCAnJywgJzAwJywgJzMwJywgJyddO1xyXG5leHBvcnQgY29uc3QgQU1fUE06IHN0cmluZ1tdID0gWycnLCAnJywgJ0FNJywgJ1BNJywgJyddO1xyXG5leHBvcnQgY29uc3QgVElNRV9WQVJJQUJMRSA9IFsnSE9VUlMnLCAnTUlOVVRFUycsICdNRVJJRElFTSddO1xyXG4iXX0=
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input } from '@angular/core';
|
|
2
|
+
import { AM_PM, MINUTES, TIME_VARIABLE } from '../constants/constant';
|
|
3
|
+
import { DEFAULT_TIME } from '../../../constants/time.constants';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
export class TimePickerComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.MINUTES = MINUTES;
|
|
9
|
+
this.AM_PM = AM_PM;
|
|
10
|
+
this.hourArray = [9, 10, 11, 12, 13];
|
|
11
|
+
this.TIME_VARIABLE = TIME_VARIABLE; //['HOURS', 'MINUTES', 'MERIDIEM']
|
|
12
|
+
this.defaultSelectedTime = '';
|
|
13
|
+
this.onTimeSelection = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
set defaultTime(inputTime) {
|
|
16
|
+
if (!inputTime) {
|
|
17
|
+
inputTime = DEFAULT_TIME;
|
|
18
|
+
}
|
|
19
|
+
this.defaultSelectedTime = inputTime;
|
|
20
|
+
const timeDetails = inputTime.split(' ');
|
|
21
|
+
const time = timeDetails[0].split(':');
|
|
22
|
+
console.log('time ===>', time);
|
|
23
|
+
this.selectedTime = {
|
|
24
|
+
HOURS: parseInt(time[0]),
|
|
25
|
+
MINUTES: time[1],
|
|
26
|
+
MERIDIEM: timeDetails[1]?.toUpperCase(),
|
|
27
|
+
};
|
|
28
|
+
this.setDefault();
|
|
29
|
+
}
|
|
30
|
+
onScroll(event, type) {
|
|
31
|
+
const scrollStatus = this.getScrollDirection(event);
|
|
32
|
+
switch (type) {
|
|
33
|
+
case this.TIME_VARIABLE[0]:
|
|
34
|
+
this.hourArray = this.handleMouseWheelEvent(this.hourArray, scrollStatus);
|
|
35
|
+
break;
|
|
36
|
+
case this.TIME_VARIABLE[1]:
|
|
37
|
+
this.setMinutes(scrollStatus);
|
|
38
|
+
break;
|
|
39
|
+
case this.TIME_VARIABLE[2]:
|
|
40
|
+
this.setMeridiem(scrollStatus);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
onValueSelect(value, type) {
|
|
45
|
+
if (value) {
|
|
46
|
+
this.selectedTime[type] = value;
|
|
47
|
+
this.setDefault();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
handleMouseWheelEvent(currentValues, direction) {
|
|
51
|
+
const maxValue = 12;
|
|
52
|
+
const minValue = 1;
|
|
53
|
+
const maxElements = 5;
|
|
54
|
+
if (direction === 'up') {
|
|
55
|
+
let nextValues = [];
|
|
56
|
+
for (let i = 0; i < maxElements; i++) {
|
|
57
|
+
let nextValue = currentValues[0] - 1 + i;
|
|
58
|
+
if (nextValue < minValue) {
|
|
59
|
+
nextValue = maxValue + nextValue;
|
|
60
|
+
}
|
|
61
|
+
nextValues.push(nextValue);
|
|
62
|
+
}
|
|
63
|
+
return nextValues;
|
|
64
|
+
}
|
|
65
|
+
if (direction === 'down') {
|
|
66
|
+
let nextValues = [];
|
|
67
|
+
for (let i = 0; i < maxElements; i++) {
|
|
68
|
+
let nextValue = currentValues[0] + 1 + i;
|
|
69
|
+
if (nextValue > maxValue) {
|
|
70
|
+
nextValue = nextValue - maxValue;
|
|
71
|
+
}
|
|
72
|
+
nextValues.push(nextValue);
|
|
73
|
+
}
|
|
74
|
+
return nextValues;
|
|
75
|
+
}
|
|
76
|
+
return currentValues;
|
|
77
|
+
}
|
|
78
|
+
onCloseTimePicker(actionType) {
|
|
79
|
+
const time = this.selectedTime.HOURS +
|
|
80
|
+
':' +
|
|
81
|
+
this.selectedTime.MINUTES +
|
|
82
|
+
' ' +
|
|
83
|
+
this.selectedTime.MERIDIEM;
|
|
84
|
+
this.onTimeSelection.emit({
|
|
85
|
+
actionType: actionType,
|
|
86
|
+
selectedValue: actionType === 'ok' ? time : this.defaultSelectedTime,
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
getScrollDirection(event) {
|
|
90
|
+
if (event.deltaY < 0) {
|
|
91
|
+
return 'up';
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
return 'down';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
setMinutes(type) {
|
|
98
|
+
if (type === 'up') {
|
|
99
|
+
const index = this.MINUTES.indexOf('00');
|
|
100
|
+
if (index === 1) {
|
|
101
|
+
this.MINUTES.unshift('');
|
|
102
|
+
this.MINUTES.pop();
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
else {
|
|
106
|
+
const index = this.MINUTES.indexOf('00');
|
|
107
|
+
if (index === 2) {
|
|
108
|
+
this.MINUTES.shift();
|
|
109
|
+
this.MINUTES.push('');
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
this.findSelectedValue(TIME_VARIABLE[1], this.MINUTES);
|
|
113
|
+
}
|
|
114
|
+
setMeridiem(type) {
|
|
115
|
+
if (type === 'up') {
|
|
116
|
+
const index = this.AM_PM.indexOf('AM');
|
|
117
|
+
if (index === 1) {
|
|
118
|
+
this.AM_PM.unshift('');
|
|
119
|
+
this.AM_PM.pop();
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
const index = this.AM_PM.indexOf('AM');
|
|
124
|
+
if (index === 2) {
|
|
125
|
+
this.AM_PM.shift();
|
|
126
|
+
this.AM_PM.push('');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
this.findSelectedValue(TIME_VARIABLE[2], this.AM_PM);
|
|
130
|
+
}
|
|
131
|
+
findSelectedValue(type, array) {
|
|
132
|
+
this.selectedTime[type] = array[2];
|
|
133
|
+
}
|
|
134
|
+
setDefault() {
|
|
135
|
+
const defaultHours = this.selectedTime.HOURS;
|
|
136
|
+
const defaultMinutes = this.selectedTime.MINUTES;
|
|
137
|
+
const defaultMeridiem = this.selectedTime.MERIDIEM;
|
|
138
|
+
this.hourArray[2] = defaultHours;
|
|
139
|
+
this.setHoursToDefault(defaultHours);
|
|
140
|
+
if (defaultMinutes === '30') {
|
|
141
|
+
this.MINUTES[2] = defaultMinutes;
|
|
142
|
+
this.MINUTES[1] = '00';
|
|
143
|
+
this.MINUTES[3] = '';
|
|
144
|
+
}
|
|
145
|
+
else {
|
|
146
|
+
this.MINUTES[1] = '';
|
|
147
|
+
this.MINUTES[2] = '00';
|
|
148
|
+
this.MINUTES[3] = '30';
|
|
149
|
+
}
|
|
150
|
+
if (defaultMeridiem === 'PM') {
|
|
151
|
+
this.AM_PM[2] = defaultMeridiem;
|
|
152
|
+
this.AM_PM[1] = 'AM';
|
|
153
|
+
this.AM_PM[3] = '';
|
|
154
|
+
// this.setMeridiem('up');
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this.AM_PM[1] = '';
|
|
158
|
+
this.AM_PM[2] = 'AM';
|
|
159
|
+
this.AM_PM[3] = 'PM';
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
setHoursToDefault(defaultHours) {
|
|
163
|
+
let prevIndex = 2;
|
|
164
|
+
let nextIndex = 1;
|
|
165
|
+
this.hourArray = this.hourArray.map((value, index) => {
|
|
166
|
+
value = defaultHours;
|
|
167
|
+
if (index < 2) {
|
|
168
|
+
value = value - prevIndex;
|
|
169
|
+
if (value < 1) {
|
|
170
|
+
value = 12 + value;
|
|
171
|
+
}
|
|
172
|
+
prevIndex--;
|
|
173
|
+
}
|
|
174
|
+
else if (index > 2) {
|
|
175
|
+
value = value + nextIndex;
|
|
176
|
+
if (value > 12) {
|
|
177
|
+
value = value - 12;
|
|
178
|
+
}
|
|
179
|
+
nextIndex++;
|
|
180
|
+
}
|
|
181
|
+
return value;
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
TimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
186
|
+
TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: TimePickerComponent, selector: "app-time-picker", inputs: { defaultTime: ["time", "defaultTime"] }, outputs: { onTimeSelection: "onTimeSelection" }, ngImport: i0, template: "<div class=\"timePicker\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"timePicker-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"timePicker-column\" #hour_column>\r\n <div\r\n *ngFor=\"let eachHour of hourArray; let i = index\"\r\n class=\"timePicker-no vx-paragraph-txt vx-fs-14 vx-fw-500 vx-ml-1 vx-mr-1\"\r\n [class.active]=\"i === 2\"\r\n (mousewheel)=\"onScroll($event, TIME_VARIABLE[0])\"\r\n [id]=\"'hour_column_' + (i + 1)\"\r\n (click)=\"onValueSelect(eachHour, TIME_VARIABLE[0])\"\r\n >\r\n <ng-container *ngIf=\"eachHour > 0 && eachHour < 13\">\r\n {{ eachHour }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"timePicker-column\" #minutes_column>\r\n <div\r\n *ngFor=\"let eachMinutes of MINUTES; let i = index\"\r\n class=\"timePicker-no vx-paragraph-txt vx-fs-14 vx-fw-500 vx-ml-1 vx-mr-1\"\r\n [class.active]=\"i === 2\"\r\n [id]=\"'minutes_column_' + (i + 1)\"\r\n (mousewheel)=\"onScroll($event, TIME_VARIABLE[1])\"\r\n (click)=\"onValueSelect(eachMinutes, TIME_VARIABLE[1])\"\r\n >\r\n {{ eachMinutes }}\r\n </div>\r\n </div>\r\n <div class=\"timePicker-column\" #meridiem_column>\r\n <div\r\n *ngFor=\"let eachMeridiem of AM_PM; let i = index\"\r\n class=\"timePicker-no vx-paragraph-txt vx-fs-14 vx-fw-500 vx-ml-1 vx-mr-1 vx-tt-uppercase\"\r\n [class.active]=\"i === 2\"\r\n [id]=\"'meridiem_column_' + (i + 1)\"\r\n (mousewheel)=\"onScroll($event, TIME_VARIABLE[2])\"\r\n (click)=\"onValueSelect(eachMeridiem, TIME_VARIABLE[2])\"\r\n >\r\n {{ eachMeridiem }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"timePicker-bottom vx-d-flex vx-align-center vx-justify-between vx-p-2\"\r\n >\r\n <button\r\n (click)=\"onCloseTimePicker('cancel')\"\r\n class=\"cancel-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-justify-center vx-lh-6\"\r\n >\r\n CANCEL\r\n </button>\r\n <button\r\n (click)=\"onCloseTimePicker('ok')\"\r\n class=\"ok-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-justify-center vx-lh-6\"\r\n >\r\n OK\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .timePicker{background:#fff;border-radius:.25rem;box-shadow:0 1px 6px #1c5bd140;width:11.25rem}::ng-deep .timePicker-column{display:flex;flex-flow:column nowrap;justify-content:space-between;align-items:center;max-height:12rem;overflow:hidden;overflow-y:auto}::ng-deep .timePicker-column::-webkit-scrollbar{display:none}::ng-deep .timePicker-no{cursor:pointer;display:flex;justify-content:center;align-items:center;width:2.5rem;min-height:2rem}::ng-deep .timePicker-no.active{background:#f1f1f1;border-radius:.125rem;color:#1e5dd3}::ng-deep .timePicker-bottom{background:#f8f8f8;border-top:1px solid #f1f1f1}::ng-deep .timePicker-bottom button{border-radius:.125rem;height:1.5rem;width:calc(50% - .125rem)}::ng-deep .timePicker-bottom button.cancel-btn{background:#fff;border:1px solid #dbdbdb}::ng-deep .timePicker-bottom button.ok-btn{background:#1e5dd3;border:1px solid #1e5dd3}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TimePickerComponent, decorators: [{
|
|
188
|
+
type: Component,
|
|
189
|
+
args: [{ selector: 'app-time-picker', outputs: ['onTimeSelection'], template: "<div class=\"timePicker\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"timePicker-inner vx-d-flex vx-align-center vx-p-3\">\r\n <div class=\"timePicker-column\" #hour_column>\r\n <div\r\n *ngFor=\"let eachHour of hourArray; let i = index\"\r\n class=\"timePicker-no vx-paragraph-txt vx-fs-14 vx-fw-500 vx-ml-1 vx-mr-1\"\r\n [class.active]=\"i === 2\"\r\n (mousewheel)=\"onScroll($event, TIME_VARIABLE[0])\"\r\n [id]=\"'hour_column_' + (i + 1)\"\r\n (click)=\"onValueSelect(eachHour, TIME_VARIABLE[0])\"\r\n >\r\n <ng-container *ngIf=\"eachHour > 0 && eachHour < 13\">\r\n {{ eachHour }}\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"timePicker-column\" #minutes_column>\r\n <div\r\n *ngFor=\"let eachMinutes of MINUTES; let i = index\"\r\n class=\"timePicker-no vx-paragraph-txt vx-fs-14 vx-fw-500 vx-ml-1 vx-mr-1\"\r\n [class.active]=\"i === 2\"\r\n [id]=\"'minutes_column_' + (i + 1)\"\r\n (mousewheel)=\"onScroll($event, TIME_VARIABLE[1])\"\r\n (click)=\"onValueSelect(eachMinutes, TIME_VARIABLE[1])\"\r\n >\r\n {{ eachMinutes }}\r\n </div>\r\n </div>\r\n <div class=\"timePicker-column\" #meridiem_column>\r\n <div\r\n *ngFor=\"let eachMeridiem of AM_PM; let i = index\"\r\n class=\"timePicker-no vx-paragraph-txt vx-fs-14 vx-fw-500 vx-ml-1 vx-mr-1 vx-tt-uppercase\"\r\n [class.active]=\"i === 2\"\r\n [id]=\"'meridiem_column_' + (i + 1)\"\r\n (mousewheel)=\"onScroll($event, TIME_VARIABLE[2])\"\r\n (click)=\"onValueSelect(eachMeridiem, TIME_VARIABLE[2])\"\r\n >\r\n {{ eachMeridiem }}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div\r\n class=\"timePicker-bottom vx-d-flex vx-align-center vx-justify-between vx-p-2\"\r\n >\r\n <button\r\n (click)=\"onCloseTimePicker('cancel')\"\r\n class=\"cancel-btn vx-fs-11 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-justify-center vx-lh-6\"\r\n >\r\n CANCEL\r\n </button>\r\n <button\r\n (click)=\"onCloseTimePicker('ok')\"\r\n class=\"ok-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center vx-justify-center vx-lh-6\"\r\n >\r\n OK\r\n </button>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/header/header.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/button/button.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/popover/popover.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .timePicker{background:#fff;border-radius:.25rem;box-shadow:0 1px 6px #1c5bd140;width:11.25rem}::ng-deep .timePicker-column{display:flex;flex-flow:column nowrap;justify-content:space-between;align-items:center;max-height:12rem;overflow:hidden;overflow-y:auto}::ng-deep .timePicker-column::-webkit-scrollbar{display:none}::ng-deep .timePicker-no{cursor:pointer;display:flex;justify-content:center;align-items:center;width:2.5rem;min-height:2rem}::ng-deep .timePicker-no.active{background:#f1f1f1;border-radius:.125rem;color:#1e5dd3}::ng-deep .timePicker-bottom{background:#f8f8f8;border-top:1px solid #f1f1f1}::ng-deep .timePicker-bottom button{border-radius:.125rem;height:1.5rem;width:calc(50% - .125rem)}::ng-deep .timePicker-bottom button.cancel-btn{background:#fff;border:1px solid #dbdbdb}::ng-deep .timePicker-bottom button.ok-btn{background:#1e5dd3;border:1px solid #1e5dd3}\n"] }]
|
|
190
|
+
}], ctorParameters: function () { return []; }, propDecorators: { defaultTime: [{
|
|
191
|
+
type: Input,
|
|
192
|
+
args: ['time']
|
|
193
|
+
}] } });
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvdWkta2l0L3RpbWUtcGlja2VyL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC90aW1lLXBpY2tlci90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFRakUsTUFBTSxPQUFPLG1CQUFtQjtJQXdCOUI7UUF2Qk8sWUFBTyxHQUFhLE9BQU8sQ0FBQztRQUM1QixVQUFLLEdBQWEsS0FBSyxDQUFDO1FBRXhCLGNBQVMsR0FBYSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDLGtDQUFrQztRQUNoRSx3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFnQnpDLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFekMsQ0FBQztJQWpCaEIsSUFBbUIsV0FBVyxDQUFDLFNBQWlCO1FBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxTQUFTLEdBQUcsWUFBWSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztRQUNy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QUFvQjtRQUM1QyxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLEVBQUU7WUFDbkUsS0FBSyxHQUFHLFlBQVksQ0FBQztZQUNyQixJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQ2IsS0FBSyxHQUFHLEtBQUssR0FBRyxTQUFTLENBQUM7Z0JBQzFCLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtvQkFDYixLQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztpQkFDcEI7Z0JBQ0QsU0FBUyxFQUFFLENBQUM7YUFDYjtpQkFBTSxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUU7Z0JBQ3BCLEtBQUssR0FBRyxLQUFLLEdBQUcsU0FBUyxDQUFDO2dCQUMxQixJQUFJLEtBQUssR0FBRyxFQUFFLEVBQUU7b0JBQ2QsS0FBSyxHQUFHLEtBQUssR0FBRyxFQUFFLENBQUM7aUJBQ3BCO2dCQUNELFNBQVMsRUFBRSxDQUFDO2FBQ2I7WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0hBbk1VLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDBKQ1ZoQyxpL0VBNERBOzJGRGxEYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLFdBR2xCLENBQUMsaUJBQWlCLENBQUM7MEVBU1QsV0FBVztzQkFBN0IsS0FBSzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFNX1BNLCBNSU5VVEVTLCBUSU1FX1ZBUklBQkxFIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRpbWUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgb3V0cHV0czogWydvblRpbWVTZWxlY3Rpb24nXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQge1xyXG4gIHB1YmxpYyBNSU5VVEVTOiBzdHJpbmdbXSA9IE1JTlVURVM7XHJcbiAgcHVibGljIEFNX1BNOiBzdHJpbmdbXSA9IEFNX1BNO1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRUaW1lOiBhbnk7XHJcbiAgcHVibGljIGhvdXJBcnJheTogbnVtYmVyW10gPSBbOSwgMTAsIDExLCAxMiwgMTNdO1xyXG4gIHB1YmxpYyBUSU1FX1ZBUklBQkxFID0gVElNRV9WQVJJQUJMRTsgLy9bJ0hPVVJTJywgJ01JTlVURVMnLCAnTUVSSURJRU0nXVxyXG4gIHByaXZhdGUgZGVmYXVsdFNlbGVjdGVkVGltZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCd0aW1lJykgc2V0IGRlZmF1bHRUaW1lKGlucHV0VGltZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWlucHV0VGltZSkge1xyXG4gICAgICBpbnB1dFRpbWUgPSBERUZBVUxUX1RJTUU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFRpbWUgPSBpbnB1dFRpbWU7XHJcbiAgICBjb25zdCB0aW1lRGV0YWlscyA9IGlucHV0VGltZS5zcGxpdCgnICcpO1xyXG4gICAgY29uc3QgdGltZSA9IHRpbWVEZXRhaWxzWzBdLnNwbGl0KCc6Jyk7XHJcbiAgICBjb25zb2xlLmxvZygndGltZSA9PT0+JywgdGltZSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGltZSA9IHtcclxuICAgICAgSE9VUlM6IHBhcnNlSW50KHRpbWVbMF0pLFxyXG4gICAgICBNSU5VVEVTOiB0aW1lWzFdLFxyXG4gICAgICBNRVJJRElFTTogdGltZURldGFpbHNbMV0/LnRvVXBwZXJDYXNlKCksXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIG9uVGltZVNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgb25TY3JvbGwoZXZlbnQ6IGFueSwgdHlwZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBzY3JvbGxTdGF0dXMgPSB0aGlzLmdldFNjcm9sbERpcmVjdGlvbihldmVudCk7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgdGhpcy5USU1FX1ZBUklBQkxFWzBdOlxyXG4gICAgICAgIHRoaXMuaG91ckFycmF5ID0gdGhpcy5oYW5kbGVNb3VzZVdoZWVsRXZlbnQoXHJcbiAgICAgICAgICB0aGlzLmhvdXJBcnJheSxcclxuICAgICAgICAgIHNjcm9sbFN0YXR1c1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdGhpcy5USU1FX1ZBUklBQkxFWzFdOlxyXG4gICAgICAgIHRoaXMuc2V0TWludXRlcyhzY3JvbGxTdGF0dXMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuVElNRV9WQVJJQUJMRVsyXTpcclxuICAgICAgICB0aGlzLnNldE1lcmlkaWVtKHNjcm9sbFN0YXR1cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblZhbHVlU2VsZWN0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIHR5cGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lW3R5cGVdID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuc2V0RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlTW91c2VXaGVlbEV2ZW50KFxyXG4gICAgY3VycmVudFZhbHVlczogbnVtYmVyW10sXHJcbiAgICBkaXJlY3Rpb246ICd1cCcgfCAnZG93bidcclxuICApOiBudW1iZXJbXSB7XHJcbiAgICBjb25zdCBtYXhWYWx1ZSA9IDEyO1xyXG4gICAgY29uc3QgbWluVmFsdWUgPSAxO1xyXG4gICAgY29uc3QgbWF4RWxlbWVudHMgPSA1O1xyXG5cclxuICAgIGlmIChkaXJlY3Rpb24gPT09ICd1cCcpIHtcclxuICAgICAgbGV0IG5leHRWYWx1ZXMgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhFbGVtZW50czsgaSsrKSB7XHJcbiAgICAgICAgbGV0IG5leHRWYWx1ZSA9IGN1cnJlbnRWYWx1ZXNbMF0gLSAxICsgaTtcclxuICAgICAgICBpZiAobmV4dFZhbHVlIDwgbWluVmFsdWUpIHtcclxuICAgICAgICAgIG5leHRWYWx1ZSA9IG1heFZhbHVlICsgbmV4dFZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXh0VmFsdWVzLnB1c2gobmV4dFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dFZhbHVlcztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGlyZWN0aW9uID09PSAnZG93bicpIHtcclxuICAgICAgbGV0IG5leHRWYWx1ZXMgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhFbGVtZW50czsgaSsrKSB7XHJcbiAgICAgICAgbGV0IG5leHRWYWx1ZSA9IGN1cnJlbnRWYWx1ZXNbMF0gKyAxICsgaTtcclxuICAgICAgICBpZiAobmV4dFZhbHVlID4gbWF4VmFsdWUpIHtcclxuICAgICAgICAgIG5leHRWYWx1ZSA9IG5leHRWYWx1ZSAtIG1heFZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXh0VmFsdWVzLnB1c2gobmV4dFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dFZhbHVlcztcclxuICAgIH1cclxuICAgIHJldHVybiBjdXJyZW50VmFsdWVzO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZVRpbWVQaWNrZXIoYWN0aW9uVHlwZTogJ2NhbmNlbCcgfCAnb2snKTogdm9pZCB7XHJcbiAgICBjb25zdCB0aW1lID1cclxuICAgICAgdGhpcy5zZWxlY3RlZFRpbWUuSE9VUlMgK1xyXG4gICAgICAnOicgK1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGltZS5NSU5VVEVTICtcclxuICAgICAgJyAnICtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRpbWUuTUVSSURJRU07XHJcbiAgICB0aGlzLm9uVGltZVNlbGVjdGlvbi5lbWl0KHtcclxuICAgICAgYWN0aW9uVHlwZTogYWN0aW9uVHlwZSxcclxuICAgICAgc2VsZWN0ZWRWYWx1ZTogYWN0aW9uVHlwZSA9PT0gJ29rJyA/IHRpbWUgOiB0aGlzLmRlZmF1bHRTZWxlY3RlZFRpbWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2Nyb2xsRGlyZWN0aW9uKGV2ZW50OiBhbnkpOiAndXAnIHwgJ2Rvd24nIHtcclxuICAgIGlmIChldmVudC5kZWx0YVkgPCAwKSB7XHJcbiAgICAgIHJldHVybiAndXAnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdkb3duJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWludXRlcyh0eXBlOiAndXAnIHwgJ2Rvd24nKSB7XHJcbiAgICBpZiAodHlwZSA9PT0gJ3VwJykge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuTUlOVVRFUy5pbmRleE9mKCcwMCcpO1xyXG4gICAgICBpZiAoaW5kZXggPT09IDEpIHtcclxuICAgICAgICB0aGlzLk1JTlVURVMudW5zaGlmdCgnJyk7XHJcbiAgICAgICAgdGhpcy5NSU5VVEVTLnBvcCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuTUlOVVRFUy5pbmRleE9mKCcwMCcpO1xyXG4gICAgICBpZiAoaW5kZXggPT09IDIpIHtcclxuICAgICAgICB0aGlzLk1JTlVURVMuc2hpZnQoKTtcclxuICAgICAgICB0aGlzLk1JTlVURVMucHVzaCgnJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZmluZFNlbGVjdGVkVmFsdWUoVElNRV9WQVJJQUJMRVsxXSwgdGhpcy5NSU5VVEVTKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWVyaWRpZW0odHlwZTogJ3VwJyB8ICdkb3duJykge1xyXG4gICAgaWYgKHR5cGUgPT09ICd1cCcpIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLkFNX1BNLmluZGV4T2YoJ0FNJyk7XHJcbiAgICAgIGlmIChpbmRleCA9PT0gMSkge1xyXG4gICAgICAgIHRoaXMuQU1fUE0udW5zaGlmdCgnJyk7XHJcbiAgICAgICAgdGhpcy5BTV9QTS5wb3AoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLkFNX1BNLmluZGV4T2YoJ0FNJyk7XHJcbiAgICAgIGlmIChpbmRleCA9PT0gMikge1xyXG4gICAgICAgIHRoaXMuQU1fUE0uc2hpZnQoKTtcclxuICAgICAgICB0aGlzLkFNX1BNLnB1c2goJycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maW5kU2VsZWN0ZWRWYWx1ZShUSU1FX1ZBUklBQkxFWzJdLCB0aGlzLkFNX1BNKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFNlbGVjdGVkVmFsdWUodHlwZTogc3RyaW5nLCBhcnJheTogQXJyYXk8YW55Pikge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRpbWVbdHlwZV0gPSBhcnJheVsyXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlZmF1bHRIb3VycyA9IHRoaXMuc2VsZWN0ZWRUaW1lLkhPVVJTO1xyXG4gICAgY29uc3QgZGVmYXVsdE1pbnV0ZXMgPSB0aGlzLnNlbGVjdGVkVGltZS5NSU5VVEVTO1xyXG4gICAgY29uc3QgZGVmYXVsdE1lcmlkaWVtID0gdGhpcy5zZWxlY3RlZFRpbWUuTUVSSURJRU07XHJcbiAgICB0aGlzLmhvdXJBcnJheVsyXSA9IGRlZmF1bHRIb3VycztcclxuICAgIHRoaXMuc2V0SG91cnNUb0RlZmF1bHQoZGVmYXVsdEhvdXJzKTtcclxuICAgIGlmIChkZWZhdWx0TWludXRlcyA9PT0gJzMwJykge1xyXG4gICAgICB0aGlzLk1JTlVURVNbMl0gPSBkZWZhdWx0TWludXRlcztcclxuICAgICAgdGhpcy5NSU5VVEVTWzFdID0gJzAwJztcclxuICAgICAgdGhpcy5NSU5VVEVTWzNdID0gJyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLk1JTlVURVNbMV0gPSAnJztcclxuICAgICAgdGhpcy5NSU5VVEVTWzJdID0gJzAwJztcclxuICAgICAgdGhpcy5NSU5VVEVTWzNdID0gJzMwJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGVmYXVsdE1lcmlkaWVtID09PSAnUE0nKSB7XHJcbiAgICAgIHRoaXMuQU1fUE1bMl0gPSBkZWZhdWx0TWVyaWRpZW07XHJcbiAgICAgIHRoaXMuQU1fUE1bMV0gPSAnQU0nO1xyXG4gICAgICB0aGlzLkFNX1BNWzNdID0gJyc7XHJcbiAgICAgIC8vIHRoaXMuc2V0TWVyaWRpZW0oJ3VwJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLkFNX1BNWzFdID0gJyc7XHJcbiAgICAgIHRoaXMuQU1fUE1bMl0gPSAnQU0nO1xyXG4gICAgICB0aGlzLkFNX1BNWzNdID0gJ1BNJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SG91cnNUb0RlZmF1bHQoZGVmYXVsdEhvdXJzOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBwcmV2SW5kZXggPSAyO1xyXG4gICAgbGV0IG5leHRJbmRleCA9IDE7XHJcbiAgICB0aGlzLmhvdXJBcnJheSA9IHRoaXMuaG91ckFycmF5Lm1hcCgodmFsdWU6IG51bWJlciwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICB2YWx1ZSA9IGRlZmF1bHRIb3VycztcclxuICAgICAgaWYgKGluZGV4IDwgMikge1xyXG4gICAgICAgIHZhbHVlID0gdmFsdWUgLSBwcmV2SW5kZXg7XHJcbiAgICAgICAgaWYgKHZhbHVlIDwgMSkge1xyXG4gICAgICAgICAgdmFsdWUgPSAxMiArIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwcmV2SW5kZXgtLTtcclxuICAgICAgfSBlbHNlIGlmIChpbmRleCA+IDIpIHtcclxuICAgICAgICB2YWx1ZSA9IHZhbHVlICsgbmV4dEluZGV4O1xyXG4gICAgICAgIGlmICh2YWx1ZSA+IDEyKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlIC0gMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG5leHRJbmRleCsrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRpbWVQaWNrZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRpbWVQaWNrZXItaW5uZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbWVQaWNrZXItY29sdW1uXCIgI2hvdXJfY29sdW1uPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBlYWNoSG91ciBvZiBob3VyQXJyYXk7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0aW1lUGlja2VyLW5vIHZ4LXBhcmFncmFwaC10eHQgdngtZnMtMTQgdngtZnctNTAwIHZ4LW1sLTEgdngtbXItMVwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IDJcIlxyXG4gICAgICAgICAgKG1vdXNld2hlZWwpPVwib25TY3JvbGwoJGV2ZW50LCBUSU1FX1ZBUklBQkxFWzBdKVwiXHJcbiAgICAgICAgICBbaWRdPVwiJ2hvdXJfY29sdW1uXycgKyAoaSArIDEpXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblZhbHVlU2VsZWN0KGVhY2hIb3VyLCBUSU1FX1ZBUklBQkxFWzBdKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVhY2hIb3VyID4gMCAmJiBlYWNoSG91ciA8IDEzXCI+XHJcbiAgICAgICAgICAgIHt7IGVhY2hIb3VyIH19XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lUGlja2VyLWNvbHVtblwiICNtaW51dGVzX2NvbHVtbj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZWFjaE1pbnV0ZXMgb2YgTUlOVVRFUzsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICBjbGFzcz1cInRpbWVQaWNrZXItbm8gdngtcGFyYWdyYXBoLXR4dCB2eC1mcy0xNCB2eC1mdy01MDAgdngtbWwtMSB2eC1tci0xXCJcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gMlwiXHJcbiAgICAgICAgICBbaWRdPVwiJ21pbnV0ZXNfY29sdW1uXycgKyAoaSArIDEpXCJcclxuICAgICAgICAgIChtb3VzZXdoZWVsKT1cIm9uU2Nyb2xsKCRldmVudCwgVElNRV9WQVJJQUJMRVsxXSlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVmFsdWVTZWxlY3QoZWFjaE1pbnV0ZXMsIFRJTUVfVkFSSUFCTEVbMV0pXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBlYWNoTWludXRlcyB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbWVQaWNrZXItY29sdW1uXCIgI21lcmlkaWVtX2NvbHVtbj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZWFjaE1lcmlkaWVtIG9mIEFNX1BNOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgIGNsYXNzPVwidGltZVBpY2tlci1ubyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1tbC0xIHZ4LW1yLTEgdngtdHQtdXBwZXJjYXNlXCJcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gMlwiXHJcbiAgICAgICAgICBbaWRdPVwiJ21lcmlkaWVtX2NvbHVtbl8nICsgKGkgKyAxKVwiXHJcbiAgICAgICAgICAobW91c2V3aGVlbCk9XCJvblNjcm9sbCgkZXZlbnQsIFRJTUVfVkFSSUFCTEVbMl0pXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblZhbHVlU2VsZWN0KGVhY2hNZXJpZGllbSwgVElNRV9WQVJJQUJMRVsyXSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IGVhY2hNZXJpZGllbSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidGltZVBpY2tlci1ib3R0b20gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcC0yXCJcclxuICA+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIChjbGljayk9XCJvbkNsb3NlVGltZVBpY2tlcignY2FuY2VsJylcIlxyXG4gICAgICBjbGFzcz1cImNhbmNlbC1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC1ibHVlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGwtMiB2eC1wci0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTZcIlxyXG4gICAgPlxyXG4gICAgICBDQU5DRUxcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAoY2xpY2spPVwib25DbG9zZVRpbWVQaWNrZXIoJ29rJylcIlxyXG4gICAgICBjbGFzcz1cIm9rLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGwtMiB2eC1wci0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTZcIlxyXG4gICAgPlxyXG4gICAgICBPS1xyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TimePickerComponent } from './time-picker/time-picker.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class TimePickerModule {
|
|
6
|
+
}
|
|
7
|
+
TimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
TimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: TimePickerModule, declarations: [TimePickerComponent], imports: [CommonModule], exports: [TimePickerComponent] });
|
|
9
|
+
TimePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TimePickerModule, imports: [CommonModule] });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: TimePickerModule, decorators: [{
|
|
11
|
+
type: NgModule,
|
|
12
|
+
args: [{
|
|
13
|
+
declarations: [
|
|
14
|
+
TimePickerComponent
|
|
15
|
+
],
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule
|
|
18
|
+
],
|
|
19
|
+
exports: [
|
|
20
|
+
TimePickerComponent
|
|
21
|
+
]
|
|
22
|
+
}]
|
|
23
|
+
}] });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvdWkta2l0L3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFlMUUsTUFBTSxPQUFPLGdCQUFnQjs7NkdBQWhCLGdCQUFnQjs4R0FBaEIsZ0JBQWdCLGlCQVR6QixtQkFBbUIsYUFHbkIsWUFBWSxhQUdaLG1CQUFtQjs4R0FHVixnQkFBZ0IsWUFOekIsWUFBWTsyRkFNSCxnQkFBZ0I7a0JBWDVCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG1CQUFtQjtxQkFDcEI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG1CQUFtQjtxQkFDcEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5cclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgVGltZVBpY2tlckNvbXBvbmVudFxyXG4gIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBUaW1lUGlja2VyQ29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlck1vZHVsZSB7IH1cclxuIl19
|