@c8y/ngx-components 1017.0.378 → 1017.0.382
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/auth-configuration/basic-settings/basic-auth-settings.component.d.ts +3 -0
- package/core/date-time-picker/close-date-picker.directive.d.ts +14 -0
- package/core/date-time-picker/date-time-picker.component.d.ts +7 -2
- package/core/date-time-picker/date-time-picker.module.d.ts +8 -7
- package/esm2020/auth-configuration/basic-settings/basic-auth-settings.component.mjs +10 -7
- package/esm2020/core/date-time-picker/close-date-picker.directive.mjs +36 -0
- package/esm2020/core/date-time-picker/date-time-picker.component.mjs +28 -8
- package/esm2020/core/date-time-picker/date-time-picker.module.mjs +4 -3
- package/fesm2015/c8y-ngx-components-auth-configuration.mjs +54 -51
- package/fesm2015/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2015/c8y-ngx-components.mjs +57 -8
- package/fesm2015/c8y-ngx-components.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components-auth-configuration.mjs +54 -51
- package/fesm2020/c8y-ngx-components-auth-configuration.mjs.map +1 -1
- package/fesm2020/c8y-ngx-components.mjs +57 -8
- package/fesm2020/c8y-ngx-components.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { SimpleChanges } from '@angular/core';
|
|
2
2
|
import { TenantLoginOptionType } from '@c8y/client';
|
|
3
3
|
import { AuthConfiguration } from './auth-configuration.model';
|
|
4
|
+
import { ControlContainer } from '@angular/forms';
|
|
4
5
|
import { AuthenticationRestrictions } from './basic-settings.model';
|
|
5
6
|
import * as i0 from "@angular/core";
|
|
6
7
|
export declare class BasicAuthSettingsComponent {
|
|
8
|
+
private controlContainer;
|
|
7
9
|
authConfiguration: AuthConfiguration;
|
|
8
10
|
preferredLoginOptionType: TenantLoginOptionType;
|
|
9
11
|
tenantLoginOptionTypeEnum: typeof TenantLoginOptionType;
|
|
12
|
+
constructor(controlContainer: ControlContainer);
|
|
10
13
|
ngOnChanges(changes: SimpleChanges): void;
|
|
11
14
|
ngDoCheck(): void;
|
|
12
15
|
get forbiddenWebBrowsers(): boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ElementRef } from '@angular/core';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
3
|
+
import { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class CloseDatePickerDirective {
|
|
6
|
+
private el;
|
|
7
|
+
protected destroy$: Subject<unknown>;
|
|
8
|
+
closeDatepicker: BsDatepickerDirective;
|
|
9
|
+
constructor(el: ElementRef);
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
ngOnDestroy(): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CloseDatePickerDirective, never>;
|
|
13
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<CloseDatePickerDirective, "[closeDatepicker]", never, { "closeDatepicker": "closeDatepicker"; }, {}, never, never, false>;
|
|
14
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import { OnDestroy } from '@angular/core';
|
|
1
|
+
import { OnDestroy, ChangeDetectorRef } from '@angular/core';
|
|
2
2
|
import { ControlValueAccessor, FormGroup, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
3
|
+
import { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class DateTimePickerComponent implements ControlValueAccessor, Validator, OnDestroy {
|
|
6
|
+
private cd;
|
|
5
7
|
minDate: Date;
|
|
6
8
|
set _minDate(value: string);
|
|
7
9
|
maxDate: Date;
|
|
@@ -12,10 +14,12 @@ export declare class DateTimePickerComponent implements ControlValueAccessor, Va
|
|
|
12
14
|
defaultPlaceholder: any;
|
|
13
15
|
onChange: (value: string) => void;
|
|
14
16
|
onTouched: () => void;
|
|
17
|
+
datepicker: BsDatepickerDirective;
|
|
15
18
|
private previousValue;
|
|
16
19
|
private destroy$;
|
|
17
|
-
constructor();
|
|
20
|
+
constructor(cd: ChangeDetectorRef);
|
|
18
21
|
ngOnDestroy(): void;
|
|
22
|
+
ngAfterViewInit(): void;
|
|
19
23
|
/**
|
|
20
24
|
* Control Value Accessor - If form value changes by external factor, update date property and internal form with new value.
|
|
21
25
|
*/
|
|
@@ -26,6 +30,7 @@ export declare class DateTimePickerComponent implements ControlValueAccessor, Va
|
|
|
26
30
|
validate(_control: AbstractControl): ValidationErrors | null;
|
|
27
31
|
previousDay(): void;
|
|
28
32
|
nextDay(): void;
|
|
33
|
+
hide(): void;
|
|
29
34
|
/**
|
|
30
35
|
* If internal form changes its value, then combine date and time into one Date and pass its ISO string value to onChange method
|
|
31
36
|
* @param dateTime
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "./date-time-picker.component";
|
|
3
|
-
import * as i2 from "
|
|
4
|
-
import * as i3 from "
|
|
5
|
-
import * as i4 from "@angular/
|
|
6
|
-
import * as i5 from "
|
|
7
|
-
import * as i6 from "
|
|
8
|
-
import * as i7 from "../
|
|
3
|
+
import * as i2 from "./close-date-picker.directive";
|
|
4
|
+
import * as i3 from "../forms/forms.module";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
6
|
+
import * as i5 from "@angular/forms";
|
|
7
|
+
import * as i6 from "ngx-bootstrap/datepicker";
|
|
8
|
+
import * as i7 from "../common/common.module";
|
|
9
|
+
import * as i8 from "../time-picker/time-picker.module";
|
|
9
10
|
/**
|
|
10
11
|
* The angular module definition for a date-time picker - it provides FormControl that handles date and time.
|
|
11
12
|
* @exports DateTimePickerComponent
|
|
12
13
|
*/
|
|
13
14
|
export declare class DateTimePickerModule {
|
|
14
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<DateTimePickerModule, never>;
|
|
15
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<DateTimePickerModule, [typeof i1.DateTimePickerComponent], [typeof
|
|
16
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<DateTimePickerModule, [typeof i1.DateTimePickerComponent, typeof i2.CloseDatePickerDirective], [typeof i3.FormsModule, typeof i4.CommonModule, typeof i5.FormsModule, typeof i5.ReactiveFormsModule, typeof i6.BsDatepickerModule, typeof i7.CommonModule, typeof i8.TimePickerModule], [typeof i1.DateTimePickerComponent]>;
|
|
16
17
|
static ɵinj: i0.ɵɵInjectorDeclaration<DateTimePickerModule>;
|
|
17
18
|
}
|
|
@@ -3,11 +3,12 @@ import { TenantLoginOptionType } from '@c8y/client';
|
|
|
3
3
|
import { ControlContainer, NgForm } from '@angular/forms';
|
|
4
4
|
import { UserAgent, isBasic } from './basic-settings.model';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/
|
|
7
|
-
import * as i2 from "@angular/
|
|
6
|
+
import * as i1 from "@angular/forms";
|
|
7
|
+
import * as i2 from "@angular/common";
|
|
8
8
|
import * as i3 from "@c8y/ngx-components";
|
|
9
9
|
export class BasicAuthSettingsComponent {
|
|
10
|
-
constructor() {
|
|
10
|
+
constructor(controlContainer) {
|
|
11
|
+
this.controlContainer = controlContainer;
|
|
11
12
|
this.preferredLoginOptionType = TenantLoginOptionType.BASIC;
|
|
12
13
|
this.tenantLoginOptionTypeEnum = TenantLoginOptionType;
|
|
13
14
|
}
|
|
@@ -33,9 +34,11 @@ export class BasicAuthSettingsComponent {
|
|
|
33
34
|
}
|
|
34
35
|
forbiddenUserAgentsRemove(id) {
|
|
35
36
|
this.authenticationRestrictions.forbiddenUserAgents = this.remove(this.authenticationRestrictions.forbiddenUserAgents, id);
|
|
37
|
+
this.controlContainer.control.markAsDirty();
|
|
36
38
|
}
|
|
37
39
|
trustedUserAgentsRemove(id) {
|
|
38
40
|
this.authenticationRestrictions.trustedUserAgents = this.remove(this.authenticationRestrictions.trustedUserAgents, id);
|
|
41
|
+
this.controlContainer.control.markAsDirty();
|
|
39
42
|
}
|
|
40
43
|
get authenticationRestrictions() {
|
|
41
44
|
return this.authConfiguration.loginOptions.find(isBasic).authenticationRestrictions;
|
|
@@ -51,12 +54,12 @@ export class BasicAuthSettingsComponent {
|
|
|
51
54
|
return newArray;
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
|
-
BasicAuthSettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BasicAuthSettingsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
-
BasicAuthSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BasicAuthSettingsComponent, selector: "c8y-basic-auth-settings", inputs: { authConfiguration: "authConfiguration" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"card-block separator-top\"\n *ngIf=\"authConfiguration.preferredLoginOptionType !== 'BASIC'\"\n>\n <div class=\"col-sm-2\">\n <div class=\"h4 text-normal text-right text-left-xs\">\n {{ 'Basic Auth restrictions' | translate }}\n </div>\n </div>\n\n <div class=\"col-sm-9\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"c8y-switch\" title=\"{{ 'Forbidden for web browsers' | translate }}\">\n <input type=\"checkbox\" name=\"forbiddenWebBrowsers\" [(ngModel)]=\"forbiddenWebBrowsers\" />\n <span></span>\n <span>{{ 'Forbidden for web browsers' | translate }}</span>\n </label>\n <div\n class=\"alert alert-warning\"\n *ngIf=\"\n preferredLoginOptionType === tenantLoginOptionTypeEnum.BASIC && forbiddenWebBrowsers\n \"\n >\n {{\n 'You are about to forbid browsers from using Basic authentication. This will prevent users from using web applications on your tenant because you are going to set Basic authentication as the preferred login mode.'\n | translate\n }}\n </div>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label title=\"{{ 'Forbidden user agents' | translate }}\">\n {{ 'Forbidden user agents' | translate }}\n </label>\n <div\n class=\"input-group m-t-8\"\n *ngFor=\"\n let forbiddenUserAgent of authenticationRestrictions.forbiddenUserAgents;\n last as isLast;\n first as isFirst\n \"\n >\n <input\n type=\"text\"\n [name]=\"'forbiddenUserAgent' + forbiddenUserAgent.id\"\n [(ngModel)]=\"forbiddenUserAgent.value\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} forbidden-agent\"\n />\n <div class=\"input-group-btn col-sm-2\">\n <button\n *ngIf=\"!(isFirst && isLast && forbiddenUserAgent.value === '')\"\n title=\"{{ 'Remove' | translate }}\"\n [name]=\"'forbiddenUserAgentRemove' + forbiddenUserAgent.id\"\n type=\"button\"\n class=\"btn btn-dot text-primary\"\n (click)=\"forbiddenUserAgentsRemove(forbiddenUserAgent.id)\"\n >\n <i class=\"dlt-c8y-icon-minus-circle text-danger\"></i>\n </button>\n <button\n title=\"{{ 'Add' | translate }}\"\n type=\"button\"\n class=\"btn btn-dot text-primary\"\n (click)=\"add(authenticationRestrictions.forbiddenUserAgents)\"\n *ngIf=\"isLast\"\n >\n <i class=\"dlt-c8y-icon-plus-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"col-sm-6\">\n <label title=\"{{ 'Trusted user agents' | translate }}\">\n {{ 'Trusted user agents' | translate }}\n </label>\n <div\n class=\"input-group m-t-8\"\n *ngFor=\"\n let trustedUserAgent of authenticationRestrictions.trustedUserAgents;\n last as isLast;\n first as isFirst\n \"\n >\n <input\n type=\"text\"\n [name]=\"'trustedUserAgent' + trustedUserAgent.id\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} trusted-agent\"\n [(ngModel)]=\"trustedUserAgent.value\"\n />\n <div class=\"input-group-btn col-sm-2\">\n <button\n *ngIf=\"!(isFirst && isLast && trustedUserAgent.value === '')\"\n title=\"{{ 'Remove' | translate }}\"\n [name]=\"'trustedUserAgentRemove' + trustedUserAgent.id\"\n type=\"button\"\n class=\"btn btn-dot btn-dot--danger text-primary\"\n (click)=\"trustedUserAgentsRemove(trustedUserAgent.id)\"\n >\n <i class=\"dlt-c8y-icon-minus-circle\"></i>\n </button>\n <button\n title=\"{{ 'Add' | translate }}\"\n type=\"button\"\n (click)=\"add(authenticationRestrictions.trustedUserAgents)\"\n class=\"btn btn-dot text-primary\"\n *ngIf=\"isLast\"\n >\n <i class=\"dlt-c8y-icon-plus-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type:
|
|
57
|
+
BasicAuthSettingsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BasicAuthSettingsComponent, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component });
|
|
58
|
+
BasicAuthSettingsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BasicAuthSettingsComponent, selector: "c8y-basic-auth-settings", inputs: { authConfiguration: "authConfiguration" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"card-block separator-top\"\n *ngIf=\"authConfiguration.preferredLoginOptionType !== 'BASIC'\"\n>\n <div class=\"col-sm-2\">\n <div class=\"h4 text-normal text-right text-left-xs\">\n {{ 'Basic Auth restrictions' | translate }}\n </div>\n </div>\n\n <div class=\"col-sm-9\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"c8y-switch\" title=\"{{ 'Forbidden for web browsers' | translate }}\">\n <input type=\"checkbox\" name=\"forbiddenWebBrowsers\" [(ngModel)]=\"forbiddenWebBrowsers\" />\n <span></span>\n <span>{{ 'Forbidden for web browsers' | translate }}</span>\n </label>\n <div\n class=\"alert alert-warning\"\n *ngIf=\"\n preferredLoginOptionType === tenantLoginOptionTypeEnum.BASIC && forbiddenWebBrowsers\n \"\n >\n {{\n 'You are about to forbid browsers from using Basic authentication. This will prevent users from using web applications on your tenant because you are going to set Basic authentication as the preferred login mode.'\n | translate\n }}\n </div>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label title=\"{{ 'Forbidden user agents' | translate }}\">\n {{ 'Forbidden user agents' | translate }}\n </label>\n <div\n class=\"input-group m-t-8\"\n *ngFor=\"\n let forbiddenUserAgent of authenticationRestrictions.forbiddenUserAgents;\n last as isLast;\n first as isFirst\n \"\n >\n <input\n type=\"text\"\n [name]=\"'forbiddenUserAgent' + forbiddenUserAgent.id\"\n [(ngModel)]=\"forbiddenUserAgent.value\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} forbidden-agent\"\n />\n <div class=\"input-group-btn col-sm-2\">\n <button\n *ngIf=\"!(isFirst && isLast && forbiddenUserAgent.value === '')\"\n title=\"{{ 'Remove' | translate }}\"\n [name]=\"'forbiddenUserAgentRemove' + forbiddenUserAgent.id\"\n type=\"button\"\n class=\"btn btn-dot text-primary\"\n (click)=\"forbiddenUserAgentsRemove(forbiddenUserAgent.id)\"\n >\n <i class=\"dlt-c8y-icon-minus-circle text-danger\"></i>\n </button>\n <button\n title=\"{{ 'Add' | translate }}\"\n type=\"button\"\n class=\"btn btn-dot text-primary\"\n (click)=\"add(authenticationRestrictions.forbiddenUserAgents)\"\n *ngIf=\"isLast\"\n >\n <i class=\"dlt-c8y-icon-plus-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"col-sm-6\">\n <label title=\"{{ 'Trusted user agents' | translate }}\">\n {{ 'Trusted user agents' | translate }}\n </label>\n <div\n class=\"input-group m-t-8\"\n *ngFor=\"\n let trustedUserAgent of authenticationRestrictions.trustedUserAgents;\n last as isLast;\n first as isFirst\n \"\n >\n <input\n type=\"text\"\n [name]=\"'trustedUserAgent' + trustedUserAgent.id\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} trusted-agent\"\n [(ngModel)]=\"trustedUserAgent.value\"\n />\n <div class=\"input-group-btn col-sm-2\">\n <button\n *ngIf=\"!(isFirst && isLast && trustedUserAgent.value === '')\"\n title=\"{{ 'Remove' | translate }}\"\n [name]=\"'trustedUserAgentRemove' + trustedUserAgent.id\"\n type=\"button\"\n class=\"btn btn-dot btn-dot--danger text-primary\"\n (click)=\"trustedUserAgentsRemove(trustedUserAgent.id)\"\n >\n <i class=\"dlt-c8y-icon-minus-circle\"></i>\n </button>\n <button\n title=\"{{ 'Add' | translate }}\"\n type=\"button\"\n (click)=\"add(authenticationRestrictions.trustedUserAgents)\"\n class=\"btn btn-dot text-primary\"\n *ngIf=\"isLast\"\n >\n <i class=\"dlt-c8y-icon-plus-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FormGroupComponent, selector: "c8y-form-group", inputs: ["hasError", "hasWarning", "hasSuccess", "novalidation", "status"] }, { kind: "pipe", type: i3.C8yTranslatePipe, name: "translate" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
|
|
56
59
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BasicAuthSettingsComponent, decorators: [{
|
|
57
60
|
type: Component,
|
|
58
61
|
args: [{ selector: 'c8y-basic-auth-settings', viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div\n class=\"card-block separator-top\"\n *ngIf=\"authConfiguration.preferredLoginOptionType !== 'BASIC'\"\n>\n <div class=\"col-sm-2\">\n <div class=\"h4 text-normal text-right text-left-xs\">\n {{ 'Basic Auth restrictions' | translate }}\n </div>\n </div>\n\n <div class=\"col-sm-9\">\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <c8y-form-group>\n <label class=\"c8y-switch\" title=\"{{ 'Forbidden for web browsers' | translate }}\">\n <input type=\"checkbox\" name=\"forbiddenWebBrowsers\" [(ngModel)]=\"forbiddenWebBrowsers\" />\n <span></span>\n <span>{{ 'Forbidden for web browsers' | translate }}</span>\n </label>\n <div\n class=\"alert alert-warning\"\n *ngIf=\"\n preferredLoginOptionType === tenantLoginOptionTypeEnum.BASIC && forbiddenWebBrowsers\n \"\n >\n {{\n 'You are about to forbid browsers from using Basic authentication. This will prevent users from using web applications on your tenant because you are going to set Basic authentication as the preferred login mode.'\n | translate\n }}\n </div>\n </c8y-form-group>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-sm-6\">\n <label title=\"{{ 'Forbidden user agents' | translate }}\">\n {{ 'Forbidden user agents' | translate }}\n </label>\n <div\n class=\"input-group m-t-8\"\n *ngFor=\"\n let forbiddenUserAgent of authenticationRestrictions.forbiddenUserAgents;\n last as isLast;\n first as isFirst\n \"\n >\n <input\n type=\"text\"\n [name]=\"'forbiddenUserAgent' + forbiddenUserAgent.id\"\n [(ngModel)]=\"forbiddenUserAgent.value\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} forbidden-agent\"\n />\n <div class=\"input-group-btn col-sm-2\">\n <button\n *ngIf=\"!(isFirst && isLast && forbiddenUserAgent.value === '')\"\n title=\"{{ 'Remove' | translate }}\"\n [name]=\"'forbiddenUserAgentRemove' + forbiddenUserAgent.id\"\n type=\"button\"\n class=\"btn btn-dot text-primary\"\n (click)=\"forbiddenUserAgentsRemove(forbiddenUserAgent.id)\"\n >\n <i class=\"dlt-c8y-icon-minus-circle text-danger\"></i>\n </button>\n <button\n title=\"{{ 'Add' | translate }}\"\n type=\"button\"\n class=\"btn btn-dot text-primary\"\n (click)=\"add(authenticationRestrictions.forbiddenUserAgents)\"\n *ngIf=\"isLast\"\n >\n <i class=\"dlt-c8y-icon-plus-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n <div class=\"col-sm-6\">\n <label title=\"{{ 'Trusted user agents' | translate }}\">\n {{ 'Trusted user agents' | translate }}\n </label>\n <div\n class=\"input-group m-t-8\"\n *ngFor=\"\n let trustedUserAgent of authenticationRestrictions.trustedUserAgents;\n last as isLast;\n first as isFirst\n \"\n >\n <input\n type=\"text\"\n [name]=\"'trustedUserAgent' + trustedUserAgent.id\"\n class=\"form-control\"\n placeholder=\"{{ 'e.g.' | translate }} trusted-agent\"\n [(ngModel)]=\"trustedUserAgent.value\"\n />\n <div class=\"input-group-btn col-sm-2\">\n <button\n *ngIf=\"!(isFirst && isLast && trustedUserAgent.value === '')\"\n title=\"{{ 'Remove' | translate }}\"\n [name]=\"'trustedUserAgentRemove' + trustedUserAgent.id\"\n type=\"button\"\n class=\"btn btn-dot btn-dot--danger text-primary\"\n (click)=\"trustedUserAgentsRemove(trustedUserAgent.id)\"\n >\n <i class=\"dlt-c8y-icon-minus-circle\"></i>\n </button>\n <button\n title=\"{{ 'Add' | translate }}\"\n type=\"button\"\n (click)=\"add(authenticationRestrictions.trustedUserAgents)\"\n class=\"btn btn-dot text-primary\"\n *ngIf=\"isLast\"\n >\n <i class=\"dlt-c8y-icon-plus-circle\"></i>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
59
|
-
}], propDecorators: { authConfiguration: [{
|
|
62
|
+
}], ctorParameters: function () { return [{ type: i1.ControlContainer }]; }, propDecorators: { authConfiguration: [{
|
|
60
63
|
type: Input
|
|
61
64
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYXV0aC1zZXR0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hdXRoLWNvbmZpZ3VyYXRpb24vYmFzaWMtc2V0dGluZ3MvYmFzaWMtYXV0aC1zZXR0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9hdXRoLWNvbmZpZ3VyYXRpb24vYmFzaWMtc2V0dGluZ3MvYmFzaWMtYXV0aC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUE4QixPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFPeEYsTUFBTSxPQUFPLDBCQUEwQjtJQUx2QztRQVNFLDZCQUF3QixHQUEwQixxQkFBcUIsQ0FBQyxLQUFLLENBQUM7UUFFOUUsOEJBQXlCLEdBQUcscUJBQXFCLENBQUM7S0F1RG5EO0lBckRDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxPQUFPLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFO1lBQ3ZFLElBQUksQ0FBQyx3QkFBd0I7Z0JBQzNCLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsd0JBQXdCLENBQUM7U0FDbkU7SUFDSCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLHdCQUF3QixLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsRUFBRTtZQUNyRixJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLHdCQUF3QixDQUFDO1lBQ2hGLElBQUksSUFBSSxDQUFDLHdCQUF3QixLQUFLLHFCQUFxQixDQUFDLEtBQUssRUFBRTtnQkFDakUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQzthQUNuQztTQUNGO0lBQ0gsQ0FBQztJQUVELElBQUksb0JBQW9CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLDBCQUEwQixDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsSUFBSSxvQkFBb0IsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNuRixDQUFDO0lBRUQseUJBQXlCLENBQUMsRUFBRTtRQUMxQixJQUFJLENBQUMsMEJBQTBCLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FDL0QsSUFBSSxDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixFQUNuRCxFQUFFLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxFQUFFO1FBQ3hCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUM3RCxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQ2pELEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksMEJBQTBCO1FBQzVCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsMEJBQTBCLENBQUM7SUFDdEYsQ0FBQztJQUVELEdBQUcsQ0FBQyxVQUFVO1FBQ1osVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDM0IsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUU7WUFDcEIsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7dUhBNURVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHdJQ1h2QyxnaUpBMEhBLCt0Q0RqSGlCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDOzJGQUV4RCwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UseUJBQXlCLGlCQUVwQixDQUFDLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsQ0FBQzs4QkFJbkUsaUJBQWlCO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVuYW50TG9naW5PcHRpb25UeXBlIH0gZnJvbSAnQGM4eS9jbGllbnQnO1xuaW1wb3J0IHsgQXV0aENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2F1dGgtY29uZmlndXJhdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBDb250cm9sQ29udGFpbmVyLCBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVc2VyQWdlbnQsIEF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLCBpc0Jhc2ljIH0gZnJvbSAnLi9iYXNpYy1zZXR0aW5ncy5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2M4eS1iYXNpYy1hdXRoLXNldHRpbmdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jhc2ljLWF1dGgtc2V0dGluZ3MuY29tcG9uZW50Lmh0bWwnLFxuICB2aWV3UHJvdmlkZXJzOiBbeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogTmdGb3JtIH1dXG59KVxuZXhwb3J0IGNsYXNzIEJhc2ljQXV0aFNldHRpbmdzQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYXV0aENvbmZpZ3VyYXRpb246IEF1dGhDb25maWd1cmF0aW9uO1xuXG4gIHByZWZlcnJlZExvZ2luT3B0aW9uVHlwZTogVGVuYW50TG9naW5PcHRpb25UeXBlID0gVGVuYW50TG9naW5PcHRpb25UeXBlLkJBU0lDO1xuXG4gIHRlbmFudExvZ2luT3B0aW9uVHlwZUVudW0gPSBUZW5hbnRMb2dpbk9wdGlvblR5cGU7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmF1dGhDb25maWd1cmF0aW9uICYmIGNoYW5nZXMuYXV0aENvbmZpZ3VyYXRpb24uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZSA9XG4gICAgICAgIGNoYW5nZXMuYXV0aENvbmZpZ3VyYXRpb24uY3VycmVudFZhbHVlLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMucHJlZmVycmVkTG9naW5PcHRpb25UeXBlICE9PSB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZSkge1xuICAgICAgdGhpcy5wcmVmZXJyZWRMb2dpbk9wdGlvblR5cGUgPSB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZTtcbiAgICAgIGlmICh0aGlzLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZSA9PT0gVGVuYW50TG9naW5PcHRpb25UeXBlLkJBU0lDKSB7XG4gICAgICAgIHRoaXMuZm9yYmlkZGVuV2ViQnJvd3NlcnMgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgZm9yYmlkZGVuV2ViQnJvd3NlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMuZm9yYmlkZGVuQ2xpZW50cy5pbmNsdWRlcygnV0VCX0JST1dTRVJTJyk7XG4gIH1cblxuICBzZXQgZm9yYmlkZGVuV2ViQnJvd3NlcnModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLmZvcmJpZGRlbkNsaWVudHMgPSB2YWx1ZSA/IFsnV0VCX0JST1dTRVJTJ10gOiBbXTtcbiAgfVxuXG4gIGZvcmJpZGRlblVzZXJBZ2VudHNSZW1vdmUoaWQpIHtcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLmZvcmJpZGRlblVzZXJBZ2VudHMgPSB0aGlzLnJlbW92ZShcbiAgICAgIHRoaXMuYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMuZm9yYmlkZGVuVXNlckFnZW50cyxcbiAgICAgIGlkXG4gICAgKTtcbiAgfVxuXG4gIHRydXN0ZWRVc2VyQWdlbnRzUmVtb3ZlKGlkKSB7XG4gICAgdGhpcy5hdXRoZW50aWNhdGlvblJlc3RyaWN0aW9ucy50cnVzdGVkVXNlckFnZW50cyA9IHRoaXMucmVtb3ZlKFxuICAgICAgdGhpcy5hdXRoZW50aWNhdGlvblJlc3RyaWN0aW9ucy50cnVzdGVkVXNlckFnZW50cyxcbiAgICAgIGlkXG4gICAgKTtcbiAgfVxuXG4gIGdldCBhdXRoZW50aWNhdGlvblJlc3RyaWN0aW9ucygpOiBBdXRoZW50aWNhdGlvblJlc3RyaWN0aW9ucyB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aENvbmZpZ3VyYXRpb24ubG9naW5PcHRpb25zLmZpbmQoaXNCYXNpYykuYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnM7XG4gIH1cblxuICBhZGQoY29sbGVjdGlvbikge1xuICAgIGNvbGxlY3Rpb24ucHVzaChuZXcgVXNlckFnZW50KCcnKSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZShjb2xsZWN0aW9uLCBpZCkge1xuICAgIGNvbnN0IG5ld0FycmF5ID0gY29sbGVjdGlvbi5maWx0ZXIob2JqID0+IG9iai5pZCAhPT0gaWQpO1xuICAgIGlmICghbmV3QXJyYXkubGVuZ3RoKSB7XG4gICAgICBuZXdBcnJheS5wdXNoKG5ldyBVc2VyQWdlbnQoJycpKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0FycmF5O1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiY2FyZC1ibG9jayBzZXBhcmF0b3ItdG9wXCJcbiAgKm5nSWY9XCJhdXRoQ29uZmlndXJhdGlvbi5wcmVmZXJyZWRMb2dpbk9wdGlvblR5cGUgIT09ICdCQVNJQydcIlxuPlxuICA8ZGl2IGNsYXNzPVwiY29sLXNtLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaDQgdGV4dC1ub3JtYWwgdGV4dC1yaWdodCB0ZXh0LWxlZnQteHNcIj5cbiAgICAgIHt7ICdCYXNpYyBBdXRoIHJlc3RyaWN0aW9ucycgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImNvbC1zbS05XCI+XG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XG4gICAgICAgIDxjOHktZm9ybS1ncm91cD5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJjOHktc3dpdGNoXCIgdGl0bGU9XCJ7eyAnRm9yYmlkZGVuIGZvciB3ZWIgYnJvd3NlcnMnIHwgdHJhbnNsYXRlIH19XCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgbmFtZT1cImZvcmJpZGRlbldlYkJyb3dzZXJzXCIgWyhuZ01vZGVsKV09XCJmb3JiaWRkZW5XZWJCcm93c2Vyc1wiIC8+XG4gICAgICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgICAgICA8c3Bhbj57eyAnRm9yYmlkZGVuIGZvciB3ZWIgYnJvd3NlcnMnIHwgdHJhbnNsYXRlIH19PC9zcGFuPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3M9XCJhbGVydCBhbGVydC13YXJuaW5nXCJcbiAgICAgICAgICAgICpuZ0lmPVwiXG4gICAgICAgICAgICAgIHByZWZlcnJlZExvZ2luT3B0aW9uVHlwZSA9PT0gdGVuYW50TG9naW5PcHRpb25UeXBlRW51bS5CQVNJQyAmJiBmb3JiaWRkZW5XZWJCcm93c2Vyc1xuICAgICAgICAgICAgXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAnWW91IGFyZSBhYm91dCB0byBmb3JiaWQgYnJvd3NlcnMgZnJvbSB1c2luZyBCYXNpYyBhdXRoZW50aWNhdGlvbi4gVGhpcyB3aWxsIHByZXZlbnQgdXNlcnMgZnJvbSB1c2luZyB3ZWIgYXBwbGljYXRpb25zIG9uIHlvdXIgdGVuYW50IGJlY2F1c2UgeW91IGFyZSBnb2luZyB0byBzZXQgQmFzaWMgYXV0aGVudGljYXRpb24gYXMgdGhlIHByZWZlcnJlZCBsb2dpbiBtb2RlLidcbiAgICAgICAgICAgICAgICB8IHRyYW5zbGF0ZVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9jOHktZm9ybS1ncm91cD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS02XCI+XG4gICAgICAgIDxsYWJlbCB0aXRsZT1cInt7ICdGb3JiaWRkZW4gdXNlciBhZ2VudHMnIHwgdHJhbnNsYXRlIH19XCI+XG4gICAgICAgICAge3sgJ0ZvcmJpZGRlbiB1c2VyIGFnZW50cycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAgbS10LThcIlxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IGZvcmJpZGRlblVzZXJBZ2VudCBvZiBhdXRoZW50aWNhdGlvblJlc3RyaWN0aW9ucy5mb3JiaWRkZW5Vc2VyQWdlbnRzO1xuICAgICAgICAgICAgbGFzdCBhcyBpc0xhc3Q7XG4gICAgICAgICAgICBmaXJzdCBhcyBpc0ZpcnN0XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ2ZvcmJpZGRlblVzZXJBZ2VudCcgKyBmb3JiaWRkZW5Vc2VyQWdlbnQuaWRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJmb3JiaWRkZW5Vc2VyQWdlbnQudmFsdWVcIlxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnZS5nLicgfCB0cmFuc2xhdGUgfX0gZm9yYmlkZGVuLWFnZW50XCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG4gY29sLXNtLTJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCIhKGlzRmlyc3QgJiYgaXNMYXN0ICYmIGZvcmJpZGRlblVzZXJBZ2VudC52YWx1ZSA9PT0gJycpXCJcbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnUmVtb3ZlJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIFtuYW1lXT1cIidmb3JiaWRkZW5Vc2VyQWdlbnRSZW1vdmUnICsgZm9yYmlkZGVuVXNlckFnZW50LmlkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kb3QgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImZvcmJpZGRlblVzZXJBZ2VudHNSZW1vdmUoZm9yYmlkZGVuVXNlckFnZW50LmlkKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZGx0LWM4eS1pY29uLW1pbnVzLWNpcmNsZSB0ZXh0LWRhbmdlclwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBZGQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kb3QgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZChhdXRoZW50aWNhdGlvblJlc3RyaWN0aW9ucy5mb3JiaWRkZW5Vc2VyQWdlbnRzKVwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiaXNMYXN0XCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJkbHQtYzh5LWljb24tcGx1cy1jaXJjbGVcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgICA8bGFiZWwgdGl0bGU9XCJ7eyAnVHJ1c3RlZCB1c2VyIGFnZW50cycgfCB0cmFuc2xhdGUgfX1cIj5cbiAgICAgICAgICB7eyAnVHJ1c3RlZCB1c2VyIGFnZW50cycgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAgbS10LThcIlxuICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgbGV0IHRydXN0ZWRVc2VyQWdlbnQgb2YgYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMudHJ1c3RlZFVzZXJBZ2VudHM7XG4gICAgICAgICAgICBsYXN0IGFzIGlzTGFzdDtcbiAgICAgICAgICAgIGZpcnN0IGFzIGlzRmlyc3RcbiAgICAgICAgICBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICBbbmFtZV09XCIndHJ1c3RlZFVzZXJBZ2VudCcgKyB0cnVzdGVkVXNlckFnZW50LmlkXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4nIHwgdHJhbnNsYXRlIH19IHRydXN0ZWQtYWdlbnRcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ0cnVzdGVkVXNlckFnZW50LnZhbHVlXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cC1idG4gY29sLXNtLTJcIj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgKm5nSWY9XCIhKGlzRmlyc3QgJiYgaXNMYXN0ICYmIHRydXN0ZWRVc2VyQWdlbnQudmFsdWUgPT09ICcnKVwiXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1JlbW92ZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBbbmFtZV09XCIndHJ1c3RlZFVzZXJBZ2VudFJlbW92ZScgKyB0cnVzdGVkVXNlckFnZW50LmlkXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kb3QgYnRuLWRvdC0tZGFuZ2VyIHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJ0cnVzdGVkVXNlckFnZW50c1JlbW92ZSh0cnVzdGVkVXNlckFnZW50LmlkKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZGx0LWM4eS1pY29uLW1pbnVzLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBZGQnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGQoYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMudHJ1c3RlZFVzZXJBZ2VudHMpXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRvdCB0ZXh0LXByaW1hcnlcIlxuICAgICAgICAgICAgICAqbmdJZj1cImlzTGFzdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZGx0LWM4eS1pY29uLXBsdXMtY2lyY2xlXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYXV0aC1zZXR0aW5ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9hdXRoLWNvbmZpZ3VyYXRpb24vYmFzaWMtc2V0dGluZ3MvYmFzaWMtYXV0aC1zZXR0aW5ncy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9hdXRoLWNvbmZpZ3VyYXRpb24vYmFzaWMtc2V0dGluZ3MvYmFzaWMtYXV0aC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDaEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRXBELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUE4QixPQUFPLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7QUFPeEYsTUFBTSxPQUFPLDBCQUEwQjtJQVFyQyxZQUFvQixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUp0RCw2QkFBd0IsR0FBMEIscUJBQXFCLENBQUMsS0FBSyxDQUFDO1FBRTlFLDhCQUF5QixHQUFHLHFCQUFxQixDQUFDO0lBRU8sQ0FBQztJQUUxRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsaUJBQWlCLElBQUksT0FBTyxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRTtZQUN2RSxJQUFJLENBQUMsd0JBQXdCO2dCQUMzQixPQUFPLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHdCQUF3QixDQUFDO1NBQ25FO0lBQ0gsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyx3QkFBd0IsS0FBSyxJQUFJLENBQUMsaUJBQWlCLENBQUMsd0JBQXdCLEVBQUU7WUFDckYsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQztZQUNoRixJQUFJLElBQUksQ0FBQyx3QkFBd0IsS0FBSyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUU7Z0JBQ2pFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7YUFDbkM7U0FDRjtJQUNILENBQUM7SUFFRCxJQUFJLG9CQUFvQjtRQUN0QixPQUFPLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELElBQUksb0JBQW9CLENBQUMsS0FBYztRQUNyQyxJQUFJLENBQUMsMEJBQTBCLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDbkYsQ0FBQztJQUVELHlCQUF5QixDQUFDLEVBQUU7UUFDMUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQy9ELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxtQkFBbUIsRUFDbkQsRUFBRSxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxFQUFFO1FBQ3hCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUM3RCxJQUFJLENBQUMsMEJBQTBCLENBQUMsaUJBQWlCLEVBQ2pELEVBQUUsQ0FDSCxDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSSwwQkFBMEI7UUFDNUIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQywwQkFBMEIsQ0FBQztJQUN0RixDQUFDO0lBRUQsR0FBRyxDQUFDLFVBQVU7UUFDWixVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUMzQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRTtZQUNwQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDbEM7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzt1SEFoRVUsMEJBQTBCOzJHQUExQiwwQkFBMEIsd0lDWHZDLGdpSkEwSEEsK3RDRGpIaUIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUM7MkZBRXhELDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx5QkFBeUIsaUJBRXBCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxDQUFDO3VHQUluRSxpQkFBaUI7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZW5hbnRMb2dpbk9wdGlvblR5cGUgfSBmcm9tICdAYzh5L2NsaWVudCc7XG5pbXBvcnQgeyBBdXRoQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vYXV0aC1jb25maWd1cmF0aW9uLm1vZGVsJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFVzZXJBZ2VudCwgQXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMsIGlzQmFzaWMgfSBmcm9tICcuL2Jhc2ljLXNldHRpbmdzLm1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWJhc2ljLWF1dGgtc2V0dGluZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vYmFzaWMtYXV0aC1zZXR0aW5ncy5jb21wb25lbnQuaHRtbCcsXG4gIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IENvbnRyb2xDb250YWluZXIsIHVzZUV4aXN0aW5nOiBOZ0Zvcm0gfV1cbn0pXG5leHBvcnQgY2xhc3MgQmFzaWNBdXRoU2V0dGluZ3NDb21wb25lbnQge1xuICBASW5wdXQoKVxuICBhdXRoQ29uZmlndXJhdGlvbjogQXV0aENvbmZpZ3VyYXRpb247XG5cbiAgcHJlZmVycmVkTG9naW5PcHRpb25UeXBlOiBUZW5hbnRMb2dpbk9wdGlvblR5cGUgPSBUZW5hbnRMb2dpbk9wdGlvblR5cGUuQkFTSUM7XG5cbiAgdGVuYW50TG9naW5PcHRpb25UeXBlRW51bSA9IFRlbmFudExvZ2luT3B0aW9uVHlwZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIpIHt9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmF1dGhDb25maWd1cmF0aW9uICYmIGNoYW5nZXMuYXV0aENvbmZpZ3VyYXRpb24uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZSA9XG4gICAgICAgIGNoYW5nZXMuYXV0aENvbmZpZ3VyYXRpb24uY3VycmVudFZhbHVlLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZTtcbiAgICB9XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMucHJlZmVycmVkTG9naW5PcHRpb25UeXBlICE9PSB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZSkge1xuICAgICAgdGhpcy5wcmVmZXJyZWRMb2dpbk9wdGlvblR5cGUgPSB0aGlzLmF1dGhDb25maWd1cmF0aW9uLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZTtcbiAgICAgIGlmICh0aGlzLnByZWZlcnJlZExvZ2luT3B0aW9uVHlwZSA9PT0gVGVuYW50TG9naW5PcHRpb25UeXBlLkJBU0lDKSB7XG4gICAgICAgIHRoaXMuZm9yYmlkZGVuV2ViQnJvd3NlcnMgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXQgZm9yYmlkZGVuV2ViQnJvd3NlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMuZm9yYmlkZGVuQ2xpZW50cy5pbmNsdWRlcygnV0VCX0JST1dTRVJTJyk7XG4gIH1cblxuICBzZXQgZm9yYmlkZGVuV2ViQnJvd3NlcnModmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLmZvcmJpZGRlbkNsaWVudHMgPSB2YWx1ZSA/IFsnV0VCX0JST1dTRVJTJ10gOiBbXTtcbiAgfVxuXG4gIGZvcmJpZGRlblVzZXJBZ2VudHNSZW1vdmUoaWQpIHtcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLmZvcmJpZGRlblVzZXJBZ2VudHMgPSB0aGlzLnJlbW92ZShcbiAgICAgIHRoaXMuYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMuZm9yYmlkZGVuVXNlckFnZW50cyxcbiAgICAgIGlkXG4gICAgKTtcbiAgICB0aGlzLmNvbnRyb2xDb250YWluZXIuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICB9XG5cbiAgdHJ1c3RlZFVzZXJBZ2VudHNSZW1vdmUoaWQpIHtcbiAgICB0aGlzLmF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLnRydXN0ZWRVc2VyQWdlbnRzID0gdGhpcy5yZW1vdmUoXG4gICAgICB0aGlzLmF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLnRydXN0ZWRVc2VyQWdlbnRzLFxuICAgICAgaWRcbiAgICApO1xuICAgIHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sLm1hcmtBc0RpcnR5KCk7XG4gIH1cblxuICBnZXQgYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMoKTogQXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMge1xuICAgIHJldHVybiB0aGlzLmF1dGhDb25maWd1cmF0aW9uLmxvZ2luT3B0aW9ucy5maW5kKGlzQmFzaWMpLmF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zO1xuICB9XG5cbiAgYWRkKGNvbGxlY3Rpb24pIHtcbiAgICBjb2xsZWN0aW9uLnB1c2gobmV3IFVzZXJBZ2VudCgnJykpO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmUoY29sbGVjdGlvbiwgaWQpIHtcbiAgICBjb25zdCBuZXdBcnJheSA9IGNvbGxlY3Rpb24uZmlsdGVyKG9iaiA9PiBvYmouaWQgIT09IGlkKTtcbiAgICBpZiAoIW5ld0FycmF5Lmxlbmd0aCkge1xuICAgICAgbmV3QXJyYXkucHVzaChuZXcgVXNlckFnZW50KCcnKSk7XG4gICAgfVxuICAgIHJldHVybiBuZXdBcnJheTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNhcmQtYmxvY2sgc2VwYXJhdG9yLXRvcFwiXG4gICpuZ0lmPVwiYXV0aENvbmZpZ3VyYXRpb24ucHJlZmVycmVkTG9naW5PcHRpb25UeXBlICE9PSAnQkFTSUMnXCJcbj5cbiAgPGRpdiBjbGFzcz1cImNvbC1zbS0yXCI+XG4gICAgPGRpdiBjbGFzcz1cImg0IHRleHQtbm9ybWFsIHRleHQtcmlnaHQgdGV4dC1sZWZ0LXhzXCI+XG4gICAgICB7eyAnQmFzaWMgQXV0aCByZXN0cmljdGlvbnMnIHwgdHJhbnNsYXRlIH19XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjb2wtc20tOVwiPlxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgICA8Yzh5LWZvcm0tZ3JvdXA+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiYzh5LXN3aXRjaFwiIHRpdGxlPVwie3sgJ0ZvcmJpZGRlbiBmb3Igd2ViIGJyb3dzZXJzJyB8IHRyYW5zbGF0ZSB9fVwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiIG5hbWU9XCJmb3JiaWRkZW5XZWJCcm93c2Vyc1wiIFsobmdNb2RlbCldPVwiZm9yYmlkZGVuV2ViQnJvd3NlcnNcIiAvPlxuICAgICAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4+e3sgJ0ZvcmJpZGRlbiBmb3Igd2ViIGJyb3dzZXJzJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzPVwiYWxlcnQgYWxlcnQtd2FybmluZ1wiXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICBwcmVmZXJyZWRMb2dpbk9wdGlvblR5cGUgPT09IHRlbmFudExvZ2luT3B0aW9uVHlwZUVudW0uQkFTSUMgJiYgZm9yYmlkZGVuV2ViQnJvd3NlcnNcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgJ1lvdSBhcmUgYWJvdXQgdG8gZm9yYmlkIGJyb3dzZXJzIGZyb20gdXNpbmcgQmFzaWMgYXV0aGVudGljYXRpb24uIFRoaXMgd2lsbCBwcmV2ZW50IHVzZXJzIGZyb20gdXNpbmcgd2ViIGFwcGxpY2F0aW9ucyBvbiB5b3VyIHRlbmFudCBiZWNhdXNlIHlvdSBhcmUgZ29pbmcgdG8gc2V0IEJhc2ljIGF1dGhlbnRpY2F0aW9uIGFzIHRoZSBwcmVmZXJyZWQgbG9naW4gbW9kZS4nXG4gICAgICAgICAgICAgICAgfCB0cmFuc2xhdGVcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvYzh5LWZvcm0tZ3JvdXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNlwiPlxuICAgICAgICA8bGFiZWwgdGl0bGU9XCJ7eyAnRm9yYmlkZGVuIHVzZXIgYWdlbnRzJyB8IHRyYW5zbGF0ZSB9fVwiPlxuICAgICAgICAgIHt7ICdGb3JiaWRkZW4gdXNlciBhZ2VudHMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwIG0tdC04XCJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCBmb3JiaWRkZW5Vc2VyQWdlbnQgb2YgYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMuZm9yYmlkZGVuVXNlckFnZW50cztcbiAgICAgICAgICAgIGxhc3QgYXMgaXNMYXN0O1xuICAgICAgICAgICAgZmlyc3QgYXMgaXNGaXJzdFxuICAgICAgICAgIFwiXG4gICAgICAgID5cbiAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgIFtuYW1lXT1cIidmb3JiaWRkZW5Vc2VyQWdlbnQnICsgZm9yYmlkZGVuVXNlckFnZW50LmlkXCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZm9yYmlkZGVuVXNlckFnZW50LnZhbHVlXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwie3sgJ2UuZy4nIHwgdHJhbnNsYXRlIH19IGZvcmJpZGRlbi1hZ2VudFwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuIGNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIShpc0ZpcnN0ICYmIGlzTGFzdCAmJiBmb3JiaWRkZW5Vc2VyQWdlbnQudmFsdWUgPT09ICcnKVwiXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgJ1JlbW92ZScgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBbbmFtZV09XCInZm9yYmlkZGVuVXNlckFnZW50UmVtb3ZlJyArIGZvcmJpZGRlblVzZXJBZ2VudC5pZFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZG90IHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJmb3JiaWRkZW5Vc2VyQWdlbnRzUmVtb3ZlKGZvcmJpZGRlblVzZXJBZ2VudC5pZClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImRsdC1jOHktaWNvbi1taW51cy1jaXJjbGUgdGV4dC1kYW5nZXJcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQWRkJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZG90IHRleHQtcHJpbWFyeVwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJhZGQoYXV0aGVudGljYXRpb25SZXN0cmljdGlvbnMuZm9yYmlkZGVuVXNlckFnZW50cylcIlxuICAgICAgICAgICAgICAqbmdJZj1cImlzTGFzdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxpIGNsYXNzPVwiZGx0LWM4eS1pY29uLXBsdXMtY2lyY2xlXCI+PC9pPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTZcIj5cbiAgICAgICAgPGxhYmVsIHRpdGxlPVwie3sgJ1RydXN0ZWQgdXNlciBhZ2VudHMnIHwgdHJhbnNsYXRlIH19XCI+XG4gICAgICAgICAge3sgJ1RydXN0ZWQgdXNlciBhZ2VudHMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImlucHV0LWdyb3VwIG0tdC04XCJcbiAgICAgICAgICAqbmdGb3I9XCJcbiAgICAgICAgICAgIGxldCB0cnVzdGVkVXNlckFnZW50IG9mIGF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLnRydXN0ZWRVc2VyQWdlbnRzO1xuICAgICAgICAgICAgbGFzdCBhcyBpc0xhc3Q7XG4gICAgICAgICAgICBmaXJzdCBhcyBpc0ZpcnN0XG4gICAgICAgICAgXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgW25hbWVdPVwiJ3RydXN0ZWRVc2VyQWdlbnQnICsgdHJ1c3RlZFVzZXJBZ2VudC5pZFwiXG4gICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdlLmcuJyB8IHRyYW5zbGF0ZSB9fSB0cnVzdGVkLWFnZW50XCJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidHJ1c3RlZFVzZXJBZ2VudC52YWx1ZVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYnRuIGNvbC1zbS0yXCI+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICpuZ0lmPVwiIShpc0ZpcnN0ICYmIGlzTGFzdCAmJiB0cnVzdGVkVXNlckFnZW50LnZhbHVlID09PSAnJylcIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7ICdSZW1vdmUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgW25hbWVdPVwiJ3RydXN0ZWRVc2VyQWdlbnRSZW1vdmUnICsgdHJ1c3RlZFVzZXJBZ2VudC5pZFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tZG90IGJ0bi1kb3QtLWRhbmdlciB0ZXh0LXByaW1hcnlcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwidHJ1c3RlZFVzZXJBZ2VudHNSZW1vdmUodHJ1c3RlZFVzZXJBZ2VudC5pZClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImRsdC1jOHktaWNvbi1taW51cy1jaXJjbGVcIj48L2k+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgdGl0bGU9XCJ7eyAnQWRkJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAoY2xpY2spPVwiYWRkKGF1dGhlbnRpY2F0aW9uUmVzdHJpY3Rpb25zLnRydXN0ZWRVc2VyQWdlbnRzKVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kb3QgdGV4dC1wcmltYXJ5XCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJpc0xhc3RcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImRsdC1jOHktaWNvbi1wbHVzLWNpcmNsZVwiPjwvaT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input } from '@angular/core';
|
|
2
|
+
import { Subject, fromEvent, merge } from 'rxjs';
|
|
3
|
+
import { filter, map, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class CloseDatePickerDirective {
|
|
7
|
+
constructor(el) {
|
|
8
|
+
this.el = el;
|
|
9
|
+
this.destroy$ = new Subject();
|
|
10
|
+
}
|
|
11
|
+
ngOnInit() {
|
|
12
|
+
const element = this.el.nativeElement.closest('.dropdown-menu');
|
|
13
|
+
const clickEvent$ = element
|
|
14
|
+
? merge(fromEvent(element, 'click'), fromEvent(document, 'click'))
|
|
15
|
+
: fromEvent(document, 'click');
|
|
16
|
+
clickEvent$
|
|
17
|
+
.pipe(map((event) => event.target), filter(target => !this.el.nativeElement.contains(target)), // i.e. anything which is not inside this `c8y-date-time-picker`
|
|
18
|
+
takeUntil(this.destroy$))
|
|
19
|
+
.subscribe(() => this.closeDatepicker.hide());
|
|
20
|
+
}
|
|
21
|
+
ngOnDestroy() {
|
|
22
|
+
this.destroy$.next();
|
|
23
|
+
this.destroy$.complete();
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
CloseDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CloseDatePickerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
27
|
+
CloseDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.6", type: CloseDatePickerDirective, selector: "[closeDatepicker]", inputs: { closeDatepicker: "closeDatepicker" }, ngImport: i0 });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CloseDatePickerDirective, decorators: [{
|
|
29
|
+
type: Directive,
|
|
30
|
+
args: [{
|
|
31
|
+
selector: '[closeDatepicker]'
|
|
32
|
+
}]
|
|
33
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { closeDatepicker: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}] } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvc2UtZGF0ZS1waWNrZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vY29yZS9kYXRlLXRpbWUtcGlja2VyL2Nsb3NlLWRhdGUtcGlja2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQUtqRSxNQUFNLE9BQU8sd0JBQXdCO0lBTW5DLFlBQW9CLEVBQWM7UUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBTHhCLGFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBS0UsQ0FBQztJQUV0QyxRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDaEUsTUFBTSxXQUFXLEdBQUcsT0FBTztZQUN6QixDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNsRSxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNqQyxXQUFXO2FBQ1IsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQW1CLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFpQixDQUFDLEVBQ3JELE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsZ0VBQWdFO1FBQzNILFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQ3pCO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOztxSEF6QlUsd0JBQXdCO3lHQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFIcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2lCQUM5QjtpR0FLQyxlQUFlO3NCQURkLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBmcm9tRXZlbnQsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyRGlyZWN0aXZlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2Nsb3NlRGF0ZXBpY2tlcl0nXG59KVxuZXhwb3J0IGNsYXNzIENsb3NlRGF0ZVBpY2tlckRpcmVjdGl2ZSB7XG4gIHByb3RlY3RlZCBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgQElucHV0KClcbiAgY2xvc2VEYXRlcGlja2VyOiBCc0RhdGVwaWNrZXJEaXJlY3RpdmU7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsb3Nlc3QoJy5kcm9wZG93bi1tZW51Jyk7XG4gICAgY29uc3QgY2xpY2tFdmVudCQgPSBlbGVtZW50XG4gICAgICA/IG1lcmdlKGZyb21FdmVudChlbGVtZW50LCAnY2xpY2snKSwgZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKSlcbiAgICAgIDogZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAgICBjbGlja0V2ZW50JFxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4gZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLFxuICAgICAgICBmaWx0ZXIodGFyZ2V0ID0+ICF0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSksIC8vIGkuZS4gYW55dGhpbmcgd2hpY2ggaXMgbm90IGluc2lkZSB0aGlzIGBjOHktZGF0ZS10aW1lLXBpY2tlcmBcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuY2xvc2VEYXRlcGlja2VyLmhpZGUoKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { Component, forwardRef, Input } from '@angular/core';
|
|
1
|
+
import { Component, forwardRef, Input, ViewChild, ChangeDetectorRef } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR, FormGroup, FormControl, NG_VALIDATORS } from '@angular/forms';
|
|
3
3
|
import { first, takeUntil } from 'rxjs/operators';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
5
|
import { gettext } from '../i18n';
|
|
6
|
+
import { BsDatepickerDirective } from 'ngx-bootstrap/datepicker';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "@angular/forms";
|
|
8
9
|
import * as i2 from "ngx-bootstrap/datepicker";
|
|
9
10
|
import * as i3 from "../time-picker/time-picker.component";
|
|
10
|
-
import * as i4 from "
|
|
11
|
+
import * as i4 from "./close-date-picker.directive";
|
|
12
|
+
import * as i5 from "../i18n/c8y-translate.pipe";
|
|
11
13
|
export class DateTimePickerComponent {
|
|
12
|
-
constructor() {
|
|
14
|
+
constructor(cd) {
|
|
15
|
+
this.cd = cd;
|
|
13
16
|
this.defaultPlaceholder = gettext('Select a date…');
|
|
14
17
|
this.destroy$ = new Subject();
|
|
15
18
|
this.form = new FormGroup({});
|
|
@@ -36,6 +39,9 @@ export class DateTimePickerComponent {
|
|
|
36
39
|
this.destroy$.next();
|
|
37
40
|
this.destroy$.complete();
|
|
38
41
|
}
|
|
42
|
+
ngAfterViewInit() {
|
|
43
|
+
this.cd.detectChanges();
|
|
44
|
+
}
|
|
39
45
|
/**
|
|
40
46
|
* Control Value Accessor - If form value changes by external factor, update date property and internal form with new value.
|
|
41
47
|
*/
|
|
@@ -79,12 +85,23 @@ export class DateTimePickerComponent {
|
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
previousDay() {
|
|
88
|
+
const isOpen = this.datepicker.isOpen;
|
|
82
89
|
this.date.setDate(this.date.getDate() - 1);
|
|
83
90
|
this.setDatetime({ date: this.date, time: this.form.get('time').value });
|
|
91
|
+
if (isOpen) {
|
|
92
|
+
this.datepicker.show();
|
|
93
|
+
}
|
|
84
94
|
}
|
|
85
95
|
nextDay() {
|
|
96
|
+
const isOpen = this.datepicker.isOpen;
|
|
86
97
|
this.date.setDate(this.date.getDate() + 1);
|
|
87
98
|
this.setDatetime({ date: this.date, time: this.form.get('time').value });
|
|
99
|
+
if (isOpen) {
|
|
100
|
+
this.datepicker.show();
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
hide() {
|
|
104
|
+
this.datepicker.hide();
|
|
88
105
|
}
|
|
89
106
|
/**
|
|
90
107
|
* If internal form changes its value, then combine date and time into one Date and pass its ISO string value to onChange method
|
|
@@ -112,7 +129,7 @@ export class DateTimePickerComponent {
|
|
|
112
129
|
this.onChange(this.date.toISOString());
|
|
113
130
|
}
|
|
114
131
|
}
|
|
115
|
-
DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
132
|
+
DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
116
133
|
DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: DateTimePickerComponent, selector: "c8y-date-time-picker", inputs: { _minDate: ["minDate", "_minDate"], _maxDate: ["maxDate", "_maxDate"], placeholder: "placeholder" }, providers: [
|
|
117
134
|
{
|
|
118
135
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -124,7 +141,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
124
141
|
useExisting: forwardRef(() => DateTimePickerComponent),
|
|
125
142
|
multi: true
|
|
126
143
|
}
|
|
127
|
-
], ngImport: i0, template: "<div class=\"datetime-picker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i2.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "component", type: i3.TimePickerComponent, selector: "c8y-time-picker", inputs: ["minDate", "maxDate", "placeholder"], outputs: ["dayForward", "dayBackward"] }, { kind: "
|
|
144
|
+
], viewQueries: [{ propertyName: "datepicker", first: true, predicate: BsDatepickerDirective, descendants: true }], ngImport: i0, template: "<div class=\"datetime-picker\" [closeDatepicker]=\"datepicker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.BsDatepickerDirective, selector: "[bsDatepicker]", inputs: ["placement", "triggers", "outsideClick", "container", "outsideEsc", "isDisabled", "minDate", "maxDate", "minMode", "daysDisabled", "datesDisabled", "datesEnabled", "dateCustomClasses", "dateTooltipTexts", "isOpen", "bsValue", "bsConfig"], outputs: ["onShown", "onHidden", "bsValueChange"], exportAs: ["bsDatepicker"] }, { kind: "directive", type: i2.BsDatepickerInputDirective, selector: "input[bsDatepicker]" }, { kind: "component", type: i3.TimePickerComponent, selector: "c8y-time-picker", inputs: ["minDate", "maxDate", "placeholder"], outputs: ["dayForward", "dayBackward"] }, { kind: "directive", type: i4.CloseDatePickerDirective, selector: "[closeDatepicker]", inputs: ["closeDatepicker"] }, { kind: "pipe", type: i5.C8yTranslatePipe, name: "translate" }] });
|
|
128
145
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
|
129
146
|
type: Component,
|
|
130
147
|
args: [{ selector: 'c8y-date-time-picker', providers: [
|
|
@@ -138,8 +155,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
138
155
|
useExisting: forwardRef(() => DateTimePickerComponent),
|
|
139
156
|
multi: true
|
|
140
157
|
}
|
|
141
|
-
], template: "<div class=\"datetime-picker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n" }]
|
|
142
|
-
}], ctorParameters: function () { return []; }, propDecorators: { _minDate: [{
|
|
158
|
+
], template: "<div class=\"datetime-picker\" [closeDatepicker]=\"datepicker\">\n <div class=\"form-group datepicker\">\n <input\n class=\"form-control\"\n [placeholder]=\"placeholder || defaultPlaceholder | translate\"\n bsDatepicker\n [outsideClick]=\"false\"\n [bsConfig]=\"{ customTodayClass: 'today', dateInputFormat: 'YYYY-MM-DD' }\"\n [formControl]=\"form.get('date')\"\n (blur)=\"onTouched()\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n />\n </div>\n <c8y-time-picker\n [formControl]=\"form.get('time')\"\n (dayBackward)=\"previousDay()\"\n (dayForward)=\"nextDay()\"\n ></c8y-time-picker>\n</div>\n" }]
|
|
159
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { _minDate: [{
|
|
143
160
|
type: Input,
|
|
144
161
|
args: ['minDate']
|
|
145
162
|
}], _maxDate: [{
|
|
@@ -147,5 +164,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
147
164
|
args: ['maxDate']
|
|
148
165
|
}], placeholder: [{
|
|
149
166
|
type: Input
|
|
167
|
+
}], datepicker: [{
|
|
168
|
+
type: ViewChild,
|
|
169
|
+
args: [BsDatepickerDirective]
|
|
150
170
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUNMLGlCQUFpQixFQUVqQixTQUFTLEVBQ1QsV0FBVyxFQUlYLGFBQWEsRUFDZCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7Ozs7QUF1QmxDLE1BQU0sT0FBTyx1QkFBdUI7SUE2QmxDO1FBUkEsdUJBQWtCLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFNdkMsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBRzdDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJ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RUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BCLE9BQU87U0FDUjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQ2xCLFFBQVEsQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQixRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3QjtRQUVELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXBDLElBQ0UsT0FBTyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksS0FBSyxXQUFXO1lBQzFDLE9BQU8sUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssV0FBVyxFQUM1QztZQUNBLFFBQVEsQ0FBQyxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7O29IQXZJVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qiw2SkFidkI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztZQUN0RCxLQUFLLEVBQUUsSUFBSTtTQUNaO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO1lBQ3RELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNsQ0gsd2xCQW1CQTsyRkRpQmEsdUJBQXVCO2tCQWhCbkMsU0FBUzsrQkFDRSxzQkFBc0IsYUFFckI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7MEVBTUcsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFNBQVM7Z0JBUVosUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFNBQVM7Z0JBTWhCLFdBQVc7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBGb3JtR3JvdXAsXG4gIEZvcm1Db250cm9sLFxuICBWYWxpZGF0b3IsXG4gIEFic3RyYWN0Q29udHJvbCxcbiAgVmFsaWRhdGlvbkVycm9ycyxcbiAgTkdfVkFMSURBVE9SU1xufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaXJzdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZ2V0dGV4dCB9IGZyb20gJy4uL2kxOG4nO1xuXG5pbnRlcmZhY2UgRGF0ZUFuZFRpbWUge1xuICBkYXRlOiBEYXRlO1xuICB0aW1lOiB7IGhvdXI6IG51bWJlcjsgbWludXRlOiBudW1iZXIgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRhdGUtdGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uRGVzdHJveSB7XG4gIG1pbkRhdGU6IERhdGU7XG5cbiAgQElucHV0KCdtaW5EYXRlJylcbiAgc2V0IF9taW5EYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1pbkRhdGUgPSB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG1heERhdGU6IERhdGU7XG5cbiAgQElucHV0KCdtYXhEYXRlJylcbiAgc2V0IF9tYXhEYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1heERhdGUgPSB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgZGF0ZTogRGF0ZTtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRQbGFjZWhvbGRlciA9IGdldHRleHQoJ1NlbGVjdCBhIGRhdGXigKYnKTtcblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcblxuICBwcml2YXRlIHByZXZpb3VzVmFsdWU6IERhdGVBbmRUaW1lO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCdkYXRlJywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB0aGlzLmZvcm0uYWRkQ29udHJvbCgndGltZScsIG5ldyBGb3JtQ29udHJvbChudWxsKSk7XG4gICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCh2YWx1ZTogRGF0ZUFuZFRpbWUpID0+IHtcbiAgICAgIHRoaXMuc2V0RGF0ZXRpbWUodmFsdWUpO1xuICAgICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gdmFsdWU7XG4gICAgfSk7XG4gICAgdGhpcy5mb3JtLnN0YXR1c0NoYW5nZXNcbiAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnRyb2wgVmFsdWUgQWNjZXNzb3IgLSBJZiBmb3JtIHZhbHVlIGNoYW5nZXMgYnkgZXh0ZXJuYWwgZmFjdG9yLCB1cGRhdGUgZGF0ZSBwcm9wZXJ0eSBhbmQgaW50ZXJuYWwgZm9ybSB3aXRoIG5ldyB2YWx1ZS5cbiAgICovXG4gIHdyaXRlVmFsdWUodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLmxlbmd0aCkge1xuICAgICAgdGhpcy5kYXRlID0gbmV3IERhdGUodmFsdWUpO1xuICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKFxuICAgICAgICB7XG4gICAgICAgICAgZGF0ZTogbmV3IERhdGUodmFsdWUpLFxuICAgICAgICAgIHRpbWU6IHtcbiAgICAgICAgICAgIGhvdXI6IHRoaXMuZGF0ZS5nZXRIb3VycygpLFxuICAgICAgICAgICAgbWludXRlOiB0aGlzLmRhdGUuZ2V0TWludXRlcygpXG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7IGVtaXRFdmVudDogZmFsc2UgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtLnNldFZhbHVlKHsgZGF0ZTogbnVsbCwgdGltZTogbnVsbCB9LCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgfVxuICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKG9uVG91Y2hlZDogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBvblRvdWNoZWQ7XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgZGlzYWJsZWQgPyB0aGlzLmZvcm0uZGlzYWJsZSgpIDogdGhpcy5mb3JtLmVuYWJsZSgpO1xuICB9XG5cbiAgdmFsaWRhdGUoX2NvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICBpZiAodGhpcy5kYXRlPy5nZXRUaW1lKCkgPCBuZXcgRGF0ZSh0aGlzLm1pbkRhdGUpLmdldFRpbWUoKSkge1xuICAgICAgcmV0dXJuIHsgZGF0ZUJlZm9yZVJhbmdlTWluOiB0cnVlIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmRhdGU/LmdldFRpbWUoKSA+IG5ldyBEYXRlKHRoaXMubWF4RGF0ZSkuZ2V0VGltZSgpKSB7XG4gICAgICByZXR1cm4geyBkYXRlQWZ0ZXJSYW5nZU1heDogdHJ1ZSB9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgIHJldHVybiB7IGludmFsaWREYXRlVGltZTogdHJ1ZSB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcmV2aW91c0RheSgpIHtcbiAgICB0aGlzLmRhdGUuc2V0RGF0ZSh0aGlzLmRhdGUuZ2V0RGF0ZSgpIC0gMSk7XG4gICAgdGhpcy5zZXREYXRldGltZSh7IGRhdGU6IHRoaXMuZGF0ZSwgdGltZTogdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlIH0pO1xuICB9XG5cbiAgbmV4dERheSgpIHtcbiAgICB0aGlzLmRhdGUuc2V0RGF0ZSh0aGlzLmRhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgdGhpcy5zZXREYXRldGltZSh7IGRhdGU6IHRoaXMuZGF0ZSwgdGltZTogdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGludGVybmFsIGZvcm0gY2hhbmdlcyBpdHMgdmFsdWUsIHRoZW4gY29tYmluZSBkYXRlIGFuZCB0aW1lIGludG8gb25lIERhdGUgYW5kIHBhc3MgaXRzIElTTyBzdHJpbmcgdmFsdWUgdG8gb25DaGFuZ2UgbWV0aG9kXG4gICAqIEBwYXJhbSBkYXRlVGltZVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXREYXRldGltZShkYXRlVGltZTogRGF0ZUFuZFRpbWUpIHtcbiAgICBpZiAoIWRhdGVUaW1lLmRhdGUgJiYgdGhpcy5wcmV2aW91c1ZhbHVlPy5kYXRlKSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCd0aW1lJykuc2V0VmFsdWUoeyBob3VyOiB1bmRlZmluZWQsIG1pbnV0ZTogdW5kZWZpbmVkIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFkYXRlVGltZS5kYXRlKSB7XG4gICAgICBkYXRlVGltZS5kYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGRhdGVUaW1lLmRhdGUuc2V0U2Vjb25kcygwKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZShkYXRlVGltZS5kYXRlKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBkYXRlVGltZS50aW1lPy5ob3VyID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdHlwZW9mIGRhdGVUaW1lLnRpbWU/Lm1pbnV0ZSA9PT0gJ3VuZGVmaW5lZCdcbiAgICApIHtcbiAgICAgIGRhdGVUaW1lLnRpbWUgPSB7IGhvdXI6IDAsIG1pbnV0ZTogMCB9O1xuICAgICAgdGhpcy5mb3JtLmdldCgndGltZScpLnNldFZhbHVlKGRhdGVUaW1lLnRpbWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5kYXRlLnNldEhvdXJzKGRhdGVUaW1lLnRpbWUuaG91ciwgZGF0ZVRpbWUudGltZS5taW51dGUpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2RhdGUnKS5zZXRWYWx1ZShkYXRlVGltZS5kYXRlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmRhdGUudG9JU09TdHJpbmcoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRldGltZS1waWNrZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZGF0ZXBpY2tlclwiPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8IGRlZmF1bHRQbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICBic0RhdGVwaWNrZXJcbiAgICAgIFtic0NvbmZpZ109XCJ7IGN1c3RvbVRvZGF5Q2xhc3M6ICd0b2RheScsIGRhdGVJbnB1dEZvcm1hdDogJ1lZWVktTU0tREQnIH1cIlxuICAgICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCdkYXRlJylcIlxuICAgICAgKGJsdXIpPVwib25Ub3VjaGVkKClcIlxuICAgICAgW21pbkRhdGVdPVwibWluRGF0ZVwiXG4gICAgICBbbWF4RGF0ZV09XCJtYXhEYXRlXCJcbiAgICAvPlxuICA8L2Rpdj5cbiAgPGM4eS10aW1lLXBpY2tlclxuICAgIFtmb3JtQ29udHJvbF09XCJmb3JtLmdldCgndGltZScpXCJcbiAgICAoZGF5QmFja3dhcmQpPVwicHJldmlvdXNEYXkoKVwiXG4gICAgKGRheUZvcndhcmQpPVwibmV4dERheSgpXCJcbiAgPjwvYzh5LXRpbWUtcGlja2VyPlxuPC9kaXY+XG4iXX0=
|
|
171
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixLQUFLLEVBRUwsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLFNBQVMsRUFDVCxXQUFXLEVBSVgsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7QUF1QmpFLE1BQU0sT0FBTyx1QkFBdUI7SUE4QmxDLFlBQW9CLEVBQXFCO1FBQXJCLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBVHpDLHVCQUFrQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBT3ZDLGFBQVEsR0FBaUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUc3QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsVUFB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RUFBRSxJQUFJO3lCQUNaO3dCQUNEOzRCQUNFLE9BQU8sRUFBRSxhQUFhOzRCQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx3QkFBd0IsQ0FBQzs0QkFDdEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0dBTUcsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFNBQVM7Z0JBUVosUUFBUTtzQkFEWCxLQUFLO3VCQUFDLFNBQVM7Z0JBTWhCLFdBQVc7c0JBRFYsS0FBSztnQkFVNEIsVUFBVTtzQkFBM0MsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIGZvcndhcmRSZWYsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdDaGlsZCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1Hcm91cCxcbiAgRm9ybUNvbnRyb2wsXG4gIFZhbGlkYXRvcixcbiAgQWJzdHJhY3RDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBOR19WQUxJREFUT1JTXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IGZpcnN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXR0ZXh0IH0gZnJvbSAnLi4vaTE4bic7XG5pbXBvcnQgeyBCc0RhdGVwaWNrZXJEaXJlY3RpdmUgfSBmcm9tICduZ3gtYm9vdHN0cmFwL2RhdGVwaWNrZXInO1xuXG5pbnRlcmZhY2UgRGF0ZUFuZFRpbWUge1xuICBkYXRlOiBEYXRlO1xuICB0aW1lOiB7IGhvdXI6IG51bWJlcjsgbWludXRlOiBudW1iZXIgfTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYzh5LWRhdGUtdGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCksXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBWYWxpZGF0b3IsIE9uRGVzdHJveSB7XG4gIG1pbkRhdGU6IERhdGU7XG5cbiAgQElucHV0KCdtaW5EYXRlJylcbiAgc2V0IF9taW5EYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1pbkRhdGUgPSB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIG1heERhdGU6IERhdGU7XG5cbiAgQElucHV0KCdtYXhEYXRlJylcbiAgc2V0IF9tYXhEYXRlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLm1heERhdGUgPSB2YWx1ZSA/IG5ldyBEYXRlKHZhbHVlKSA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG5cbiAgZGF0ZTogRGF0ZTtcbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlZmF1bHRQbGFjZWhvbGRlciA9IGdldHRleHQoJ1NlbGVjdCBhIGRhdGXigKYnKTtcblxuICBvbkNoYW5nZTogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG9uVG91Y2hlZDogKCkgPT4gdm9pZDtcbiAgQFZpZXdDaGlsZChCc0RhdGVwaWNrZXJEaXJlY3RpdmUpIGRhdGVwaWNrZXI6IEJzRGF0ZXBpY2tlckRpcmVjdGl2ZTtcblxuICBwcml2YXRlIHByZXZpb3VzVmFsdWU6IERhdGVBbmRUaW1lO1xuICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2RhdGUnLCBuZXcgRm9ybUNvbnRyb2wobnVsbCkpO1xuICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKCd0aW1lJywgbmV3IEZvcm1Db250cm9sKG51bGwpKTtcbiAgICB0aGlzLmZvcm0udmFsdWVDaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHZhbHVlOiBEYXRlQW5kVGltZSkgPT4ge1xuICAgICAgdGhpcy5zZXREYXRldGltZSh2YWx1ZSk7XG4gICAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB2YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUoZmlyc3QoKSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udHJvbCBWYWx1ZSBBY2Nlc3NvciAtIElmIGZvcm0gdmFsdWUgY2hhbmdlcyBieSBleHRlcm5hbCBmYWN0b3IsIHVwZGF0ZSBkYXRlIHByb3BlcnR5IGFuZCBpbnRlcm5hbCBmb3JtIHdpdGggbmV3IHZhbHVlLlxuICAgKi9cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgJiYgdmFsdWUubGVuZ3RoKSB7XG4gICAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoXG4gICAgICAgIHtcbiAgICAgICAgICBkYXRlOiBuZXcgRGF0ZSh2YWx1ZSksXG4gICAgICAgICAgdGltZToge1xuICAgICAgICAgICAgaG91cjogdGhpcy5kYXRlLmdldEhvdXJzKCksXG4gICAgICAgICAgICBtaW51dGU6IHRoaXMuZGF0ZS5nZXRNaW51dGVzKClcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHsgZW1pdEV2ZW50OiBmYWxzZSB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoeyBkYXRlOiBudWxsLCB0aW1lOiBudWxsIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gdGhpcy5mb3JtLnZhbHVlO1xuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQob25Ub3VjaGVkOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IG9uVG91Y2hlZDtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoZGlzYWJsZWQ6IGJvb2xlYW4pIHtcbiAgICBkaXNhYmxlZCA/IHRoaXMuZm9ybS5kaXNhYmxlKCkgOiB0aGlzLmZvcm0uZW5hYmxlKCk7XG4gIH1cblxuICB2YWxpZGF0ZShfY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmICh0aGlzLmRhdGU/LmdldFRpbWUoKSA8IG5ldyBEYXRlKHRoaXMubWluRGF0ZSkuZ2V0VGltZSgpKSB7XG4gICAgICByZXR1cm4geyBkYXRlQmVmb3JlUmFuZ2VNaW46IHRydWUgfTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZGF0ZT8uZ2V0VGltZSgpID4gbmV3IERhdGUodGhpcy5tYXhEYXRlKS5nZXRUaW1lKCkpIHtcbiAgICAgIHJldHVybiB7IGRhdGVBZnRlclJhbmdlTWF4OiB0cnVlIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmZvcm0uaW52YWxpZCkge1xuICAgICAgcmV0dXJuIHsgaW52YWxpZERhdGVUaW1lOiB0cnVlIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHByZXZpb3VzRGF5KCkge1xuICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMuZGF0ZXBpY2tlci5pc09wZW47XG4gICAgdGhpcy5kYXRlLnNldERhdGUodGhpcy5kYXRlLmdldERhdGUoKSAtIDEpO1xuICAgIHRoaXMuc2V0RGF0ZXRpbWUoeyBkYXRlOiB0aGlzLmRhdGUsIHRpbWU6IHRoaXMuZm9ybS5nZXQoJ3RpbWUnKS52YWx1ZSB9KTtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICB0aGlzLmRhdGVwaWNrZXIuc2hvdygpO1xuICAgIH1cbiAgfVxuXG4gIG5leHREYXkoKSB7XG4gICAgY29uc3QgaXNPcGVuID0gdGhpcy5kYXRlcGlja2VyLmlzT3BlbjtcbiAgICB0aGlzLmRhdGUuc2V0RGF0ZSh0aGlzLmRhdGUuZ2V0RGF0ZSgpICsgMSk7XG4gICAgdGhpcy5zZXREYXRldGltZSh7IGRhdGU6IHRoaXMuZGF0ZSwgdGltZTogdGhpcy5mb3JtLmdldCgndGltZScpLnZhbHVlIH0pO1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHRoaXMuZGF0ZXBpY2tlci5zaG93KCk7XG4gICAgfVxuICB9XG5cbiAgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVwaWNrZXIuaGlkZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGludGVybmFsIGZvcm0gY2hhbmdlcyBpdHMgdmFsdWUsIHRoZW4gY29tYmluZSBkYXRlIGFuZCB0aW1lIGludG8gb25lIERhdGUgYW5kIHBhc3MgaXRzIElTTyBzdHJpbmcgdmFsdWUgdG8gb25DaGFuZ2UgbWV0aG9kXG4gICAqIEBwYXJhbSBkYXRlVGltZVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzZXREYXRldGltZShkYXRlVGltZTogRGF0ZUFuZFRpbWUpIHtcbiAgICBpZiAoIWRhdGVUaW1lLmRhdGUgJiYgdGhpcy5wcmV2aW91c1ZhbHVlPy5kYXRlKSB7XG4gICAgICB0aGlzLmZvcm0uZ2V0KCd0aW1lJykuc2V0VmFsdWUoeyBob3VyOiB1bmRlZmluZWQsIG1pbnV0ZTogdW5kZWZpbmVkIH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFkYXRlVGltZS5kYXRlKSB7XG4gICAgICBkYXRlVGltZS5kYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGRhdGVUaW1lLmRhdGUuc2V0U2Vjb25kcygwKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZShkYXRlVGltZS5kYXRlKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBkYXRlVGltZS50aW1lPy5ob3VyID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdHlwZW9mIGRhdGVUaW1lLnRpbWU/Lm1pbnV0ZSA9PT0gJ3VuZGVmaW5lZCdcbiAgICApIHtcbiAgICAgIGRhdGVUaW1lLnRpbWUgPSB7IGhvdXI6IDAsIG1pbnV0ZTogMCB9O1xuICAgICAgdGhpcy5mb3JtLmdldCgndGltZScpLnNldFZhbHVlKGRhdGVUaW1lLnRpbWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG4gICAgdGhpcy5kYXRlLnNldEhvdXJzKGRhdGVUaW1lLnRpbWUuaG91ciwgZGF0ZVRpbWUudGltZS5taW51dGUpO1xuICAgIHRoaXMuZm9ybS5nZXQoJ2RhdGUnKS5zZXRWYWx1ZShkYXRlVGltZS5kYXRlLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XG4gICAgdGhpcy5vbkNoYW5nZSh0aGlzLmRhdGUudG9JU09TdHJpbmcoKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkYXRldGltZS1waWNrZXJcIiBbY2xvc2VEYXRlcGlja2VyXT1cImRhdGVwaWNrZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZGF0ZXBpY2tlclwiPlxuICAgIDxpbnB1dFxuICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHx8IGRlZmF1bHRQbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiXG4gICAgICBic0RhdGVwaWNrZXJcbiAgICAgIFtvdXRzaWRlQ2xpY2tdPVwiZmFsc2VcIlxuICAgICAgW2JzQ29uZmlnXT1cInsgY3VzdG9tVG9kYXlDbGFzczogJ3RvZGF5JywgZGF0ZUlucHV0Rm9ybWF0OiAnWVlZWS1NTS1ERCcgfVwiXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiZm9ybS5nZXQoJ2RhdGUnKVwiXG4gICAgICAoYmx1cik9XCJvblRvdWNoZWQoKVwiXG4gICAgICBbbWluRGF0ZV09XCJtaW5EYXRlXCJcbiAgICAgIFttYXhEYXRlXT1cIm1heERhdGVcIlxuICAgIC8+XG4gIDwvZGl2PlxuICA8Yzh5LXRpbWUtcGlja2VyXG4gICAgW2Zvcm1Db250cm9sXT1cImZvcm0uZ2V0KCd0aW1lJylcIlxuICAgIChkYXlCYWNrd2FyZCk9XCJwcmV2aW91c0RheSgpXCJcbiAgICAoZGF5Rm9yd2FyZCk9XCJuZXh0RGF5KClcIlxuICA+PC9jOHktdGltZS1waWNrZXI+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -7,6 +7,7 @@ import { FormsModule as C8yFormsModule } from '../forms/index';
|
|
|
7
7
|
import { BsDatepickerModule } from 'ngx-bootstrap/datepicker';
|
|
8
8
|
import { DateTimePickerComponent } from './date-time-picker.component';
|
|
9
9
|
import { TimePickerModule } from '../time-picker/time-picker.module';
|
|
10
|
+
import { CloseDatePickerDirective } from './close-date-picker.directive';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "ngx-bootstrap/datepicker";
|
|
12
13
|
/**
|
|
@@ -16,7 +17,7 @@ import * as i1 from "ngx-bootstrap/datepicker";
|
|
|
16
17
|
export class DateTimePickerModule {
|
|
17
18
|
}
|
|
18
19
|
DateTimePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
-
DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent], imports: [C8yFormsModule,
|
|
20
|
+
DateTimePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: DateTimePickerModule, declarations: [DateTimePickerComponent, CloseDatePickerDirective], imports: [C8yFormsModule,
|
|
20
21
|
CommonModule,
|
|
21
22
|
FormsModule,
|
|
22
23
|
ReactiveFormsModule, i1.BsDatepickerModule, C8yCommonModule,
|
|
@@ -41,7 +42,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
|
|
|
41
42
|
TimePickerModule
|
|
42
43
|
],
|
|
43
44
|
exports: [DateTimePickerComponent],
|
|
44
|
-
declarations: [DateTimePickerComponent]
|
|
45
|
+
declarations: [DateTimePickerComponent, CloseDatePickerDirective]
|
|
45
46
|
}]
|
|
46
47
|
}] });
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxJQUFJLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsSUFBSSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBRXpFOzs7R0FHRztBQWNILE1BQU0sT0FBTyxvQkFBb0I7O2lIQUFwQixvQkFBb0I7a0hBQXBCLG9CQUFvQixpQkFGaEIsdUJBQXVCLEVBQUUsd0JBQXdCLGFBVDlELGNBQWM7UUFDZCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQix5QkFFbkIsZUFBZTtRQUNmLGdCQUFnQixhQUVSLHVCQUF1QjtrSEFHdEIsb0JBQW9CLFlBWDdCLGNBQWM7UUFDZCxZQUFZO1FBQ1osV0FBVztRQUNYLG1CQUFtQjtRQUNuQixrQkFBa0IsQ0FBQyxPQUFPLEVBQUU7UUFDNUIsZUFBZTtRQUNmLGdCQUFnQjsyRkFLUCxvQkFBb0I7a0JBYmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCLENBQUMsT0FBTyxFQUFFO3dCQUM1QixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDakI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ2xDLFlBQVksRUFBRSxDQUFDLHVCQUF1QixFQUFFLHdCQUF3QixDQUFDO2lCQUNsRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIGFzIEM4eUNvbW1vbk1vZHVsZSB9IGZyb20gJy4uL2NvbW1vbi9jb21tb24ubW9kdWxlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIGFzIEM4eUZvcm1zTW9kdWxlIH0gZnJvbSAnLi4vZm9ybXMvaW5kZXgnO1xuaW1wb3J0IHsgQnNEYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnbmd4LWJvb3RzdHJhcC9kYXRlcGlja2VyJztcbmltcG9ydCB7IERhdGVUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUaW1lUGlja2VyTW9kdWxlIH0gZnJvbSAnLi4vdGltZS1waWNrZXIvdGltZS1waWNrZXIubW9kdWxlJztcbmltcG9ydCB7IENsb3NlRGF0ZVBpY2tlckRpcmVjdGl2ZSB9IGZyb20gJy4vY2xvc2UtZGF0ZS1waWNrZXIuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBUaGUgYW5ndWxhciBtb2R1bGUgZGVmaW5pdGlvbiBmb3IgYSBkYXRlLXRpbWUgcGlja2VyIC0gaXQgcHJvdmlkZXMgRm9ybUNvbnRyb2wgdGhhdCBoYW5kbGVzIGRhdGUgYW5kIHRpbWUuXG4gKiBAZXhwb3J0cyBEYXRlVGltZVBpY2tlckNvbXBvbmVudFxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQzh5Rm9ybXNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgQnNEYXRlcGlja2VyTW9kdWxlLmZvclJvb3QoKSxcbiAgICBDOHlDb21tb25Nb2R1bGUsXG4gICAgVGltZVBpY2tlck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbRGF0ZVRpbWVQaWNrZXJDb21wb25lbnRdLFxuICBkZWNsYXJhdGlvbnM6IFtEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgQ2xvc2VEYXRlUGlja2VyRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlck1vZHVsZSB7fVxuIl19
|