@pepperi/lib
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.1.
543 lines • 60.7 kB
JavaScript
import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewChild } from '@angular/core';
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
import { DatetimeAdapter, MAT_DATETIME_FORMATS } from '@mat-datetimepicker/core';
import { MomentDateAdapter } from '@angular/material-moment-adapter';
import { MomentDatetimeAdapter } from '@mat-datetimepicker/moment';
import { LAYOUT_TYPE, CustomizationService } from '@pepperi/lib';
import * as i0 from "@angular/core";
import * as i1 from "@pepperi/lib";
import * as i2 from "@ngx-translate/core";
import * as i3 from "@angular/material/core";
import * as i4 from "@angular/forms";
import * as i5 from "@angular/common";
import * as i6 from "@angular/material/form-field";
import * as i7 from "@angular/material/input";
import * as i8 from "@mat-datetimepicker/core";
import * as i9 from "@pepperi/lib/textbox-icon";
import * as i10 from "@pepperi/lib/field-title";
import * as i11 from "@angular/material/button";
import * as i12 from "@angular/material/icon";
import * as i13 from "@pepperi/lib/icon";
const _c0 = ["datetimePicker"];
const _c1 = ["input"];
function PepperiDateComponent_ng_template_1_pep_textbox_icon_9_Template(rf, ctx) { if (rf & 1) {
const _r12 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "pep-textbox-icon", 11);
i0.ɵɵlistener("iconClicked", function PepperiDateComponent_ng_template_1_pep_textbox_icon_9_Template_pep_textbox_icon_iconClicked_0_listener() { i0.ɵɵrestoreView(_r12); i0.ɵɵnextContext(); const _r10 = i0.ɵɵreference(12); const ctx_r11 = i0.ɵɵnextContext(); return ctx_r11.openDatetimePicker(_r10); });
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r8 = i0.ɵɵnextContext(2);
i0.ɵɵproperty("value", ctx_r8.value)("label", ctx_r8.label)("type", ctx_r8.type)("disabled", ctx_r8.disabled);
} }
function PepperiDateComponent_ng_template_1_pep_textbox_icon_10_Template(rf, ctx) { if (rf & 1) {
const _r14 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "pep-textbox-icon", 12);
i0.ɵɵlistener("iconClicked", function PepperiDateComponent_ng_template_1_pep_textbox_icon_10_Template_pep_textbox_icon_iconClicked_0_listener() { i0.ɵɵrestoreView(_r14); i0.ɵɵnextContext(); const _r10 = i0.ɵɵreference(12); const ctx_r13 = i0.ɵɵnextContext(); return ctx_r13.openDatetimePicker(_r10); });
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r9 = i0.ɵɵnextContext(2);
i0.ɵɵproperty("value", ctx_r9.value)("label", ctx_r9.label)("type", ctx_r9.type)("disabled", ctx_r9.disabled);
} }
const _c2 = function (a0, a1) { return { color: a0, "text-align": a1 }; };
const _c3 = function () { return { standalone: true }; };
const _c4 = function (a0) { return { field: a0 }; };
function PepperiDateComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) {
const _r16 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "mat-form-field", 3);
i0.ɵɵelementStart(1, "input", 4, 5);
i0.ɵɵlistener("ngModelChange", function PepperiDateComponent_ng_template_1_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(); return ctx_r15.dateModel = $event; })("dateChange", function PepperiDateComponent_ng_template_1_Template_input_dateChange_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r17 = i0.ɵɵnextContext(); return ctx_r17.onDateChange($event); })("click", function PepperiDateComponent_ng_template_1_Template_input_click_1_listener() { i0.ɵɵrestoreView(_r16); const _r10 = i0.ɵɵreference(12); const ctx_r18 = i0.ɵɵnextContext(); return ctx_r18.openDatetimePicker(_r10); })("blur", function PepperiDateComponent_ng_template_1_Template_input_blur_1_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r19 = i0.ɵɵnextContext(); return ctx_r19.onBlur($event); });
i0.ɵɵelementEnd();
i0.ɵɵelementStart(3, "mat-error");
i0.ɵɵelement(4, "span", 6);
i0.ɵɵpipe(5, "translate");
i0.ɵɵpipe(6, "translate");
i0.ɵɵpipe(7, "translate");
i0.ɵɵpipe(8, "translate");
i0.ɵɵelementEnd();
i0.ɵɵtemplate(9, PepperiDateComponent_ng_template_1_pep_textbox_icon_9_Template, 1, 4, "pep-textbox-icon", 7);
i0.ɵɵtemplate(10, PepperiDateComponent_ng_template_1_pep_textbox_icon_10_Template, 1, 4, "pep-textbox-icon", 8);
i0.ɵɵelement(11, "mat-datetimepicker", 9, 10);
i0.ɵɵelementEnd();
} if (rf & 2) {
const showIcon_r6 = ctx.showIcon;
const _r10 = i0.ɵɵreference(12);
const ctx_r1 = i0.ɵɵnextContext();
i0.ɵɵadvance(1);
i0.ɵɵpropertyInterpolate("title", ctx_r1.formattedValue);
i0.ɵɵproperty("id", ctx_r1.key)("ngStyle", i0.ɵɵpureFunction2(27, _c2, ctx_r1.textColor, ctx_r1.xAlignment == "3" ? "center" : ctx_r1.xAlignment == "2" ? "right" : "left"))("ngModel", ctx_r1.dateModel)("ngModelOptions", i0.ɵɵpureFunction0(30, _c3))("matDatetimepicker", _r10)("min", ctx_r1.minDate)("max", ctx_r1.maxDate)("required", ctx_r1.required)("disabled", ctx_r1.disabled);
i0.ɵɵadvance(3);
i0.ɵɵproperty("title", ctx_r1.required && ctx_r1.formattedValue.length == 0 ? i0.ɵɵpipeBind2(5, 15, "Msg_Is_Required", i0.ɵɵpureFunction1(31, _c4, ctx_r1.label)) : i0.ɵɵpipeBind2(6, 18, "Msg_Is_Not_Valid", i0.ɵɵpureFunction1(33, _c4, ctx_r1.label)))("innerText", ctx_r1.required && ctx_r1.formattedValue.length == 0 ? i0.ɵɵpipeBind2(7, 21, "Msg_Is_Required", i0.ɵɵpureFunction1(35, _c4, ctx_r1.label)) : i0.ɵɵpipeBind2(8, 24, "Msg_Is_Not_Valid", i0.ɵɵpureFunction1(37, _c4, ctx_r1.label)));
i0.ɵɵadvance(5);
i0.ɵɵproperty("ngIf", showIcon_r6 && ctx_r1.xAlignment == "2");
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", showIcon_r6 && ctx_r1.xAlignment == "1" || ctx_r1.xAlignment == "0");
i0.ɵɵadvance(1);
i0.ɵɵproperty("type", ctx_r1.showTime ? "datetime" : "date");
} }
function PepperiDateComponent_ng_container_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainer(0);
} }
const _c5 = function () { return { showIcon: true }; };
function PepperiDateComponent_ng_container_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵelement(1, "pep-field-title", 13);
i0.ɵɵtemplate(2, PepperiDateComponent_ng_container_3_ng_container_2_Template, 1, 0, "ng-container", 14);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r2 = i0.ɵɵnextContext();
const _r0 = i0.ɵɵreference(2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("label", ctx_r2.label)("required", ctx_r2.required)("disabled", ctx_r2.disabled)("xAlignment", ctx_r2.xAlignment)("showTitle", ctx_r2.showTitle);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngTemplateOutlet", _r0)("ngTemplateOutletContext", i0.ɵɵpureFunction0(7, _c5));
} }
function PepperiDateComponent_ng_container_4_ng_container_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainer(0);
} }
function PepperiDateComponent_ng_container_4_ng_template_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainer(0);
} }
const _c6 = function (a0) { return { "one-row": a0 }; };
const _c7 = function () { return { showIcon: false }; };
function PepperiDateComponent_ng_container_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "div", 18);
i0.ɵɵtemplate(1, PepperiDateComponent_ng_container_4_ng_template_2_ng_container_1_Template, 1, 0, "ng-container", 14);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r23 = i0.ɵɵnextContext(2);
const _r0 = i0.ɵɵreference(2);
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c6, ctx_r23.rowSpan === 1));
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngTemplateOutlet", _r0)("ngTemplateOutletContext", i0.ɵɵpureFunction0(5, _c7));
} }
function PepperiDateComponent_ng_container_4_ng_template_4_span_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 23);
i0.ɵɵtext(1);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r27 = i0.ɵɵnextContext(3);
i0.ɵɵpropertyInterpolate("title", ctx_r27.label);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate1("", ctx_r27.label, "\u00A0");
} }
function PepperiDateComponent_ng_container_4_ng_template_4_button_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "button", 24);
i0.ɵɵelementStart(1, "mat-icon");
i0.ɵɵelement(2, "pep-icon", 25);
i0.ɵɵelementEnd();
i0.ɵɵelementEnd();
} }
const _c8 = function (a0, a1) { return { "one-row": a0, "pepperi-button weak": a1 }; };
function PepperiDateComponent_ng_container_4_ng_template_4_Template(rf, ctx) { if (rf & 1) {
const _r30 = i0.ɵɵgetCurrentView();
i0.ɵɵelementStart(0, "div", 19);
i0.ɵɵlistener("click", function PepperiDateComponent_ng_container_4_ng_template_4_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return !ctx_r29.disabled ? ctx_r29.cardTemplateClicked($event) : ""; });
i0.ɵɵtemplate(1, PepperiDateComponent_ng_container_4_ng_template_4_span_1_Template, 2, 2, "span", 20);
i0.ɵɵelementStart(2, "span", 21);
i0.ɵɵtext(3);
i0.ɵɵelementEnd();
i0.ɵɵtemplate(4, PepperiDateComponent_ng_container_4_ng_template_4_button_4_Template, 3, 0, "button", 22);
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r25 = i0.ɵɵnextContext(2);
i0.ɵɵclassMap("text-align-" + ctx_r25.xAlignment);
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(8, _c8, ctx_r25.rowSpan === 1, ctx_r25.isActive && !ctx_r25.disabled));
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r25.showTitle && ctx_r25.label != "");
i0.ɵɵadvance(1);
i0.ɵɵpropertyInterpolate("title", ctx_r25.formattedValue);
i0.ɵɵproperty("id", ctx_r25.key);
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(ctx_r25.formattedValue);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r25.isActive && !ctx_r25.disabled);
} }
function PepperiDateComponent_ng_container_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵtemplate(1, PepperiDateComponent_ng_container_4_ng_container_1_Template, 1, 0, "ng-container", 15);
i0.ɵɵtemplate(2, PepperiDateComponent_ng_container_4_ng_template_2_Template, 2, 6, "ng-template", null, 16, i0.ɵɵtemplateRefExtractor);
i0.ɵɵtemplate(4, PepperiDateComponent_ng_container_4_ng_template_4_Template, 5, 11, "ng-template", null, 17, i0.ɵɵtemplateRefExtractor);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const _r22 = i0.ɵɵreference(3);
const _r24 = i0.ɵɵreference(5);
const ctx_r3 = i0.ɵɵnextContext();
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r3.isInEditMode)("ngIfThen", _r22)("ngIfElse", _r24);
} }
function PepperiDateComponent_ng_container_5_ng_container_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainer(0);
} }
function PepperiDateComponent_ng_container_5_ng_template_2_ng_container_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainer(0);
} }
function PepperiDateComponent_ng_container_5_ng_template_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, PepperiDateComponent_ng_container_5_ng_template_2_ng_container_0_Template, 1, 0, "ng-container", 14);
} if (rf & 2) {
i0.ɵɵnextContext(2);
const _r0 = i0.ɵɵreference(2);
i0.ɵɵproperty("ngTemplateOutlet", _r0)("ngTemplateOutletContext", i0.ɵɵpureFunction0(2, _c5));
} }
function PepperiDateComponent_ng_container_5_ng_template_4_ng_container_0_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainer(0);
} }
const _c9 = function (a0) { return { readonly: a0 }; };
function PepperiDateComponent_ng_container_5_ng_template_4_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵelementStart(1, "span", 32);
i0.ɵɵtext(2);
i0.ɵɵelementEnd();
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r42 = i0.ɵɵnextContext(4);
i0.ɵɵadvance(1);
i0.ɵɵpropertyInterpolate("title", ctx_r42.formattedValue);
i0.ɵɵproperty("id", ctx_r42.key)("ngClass", i0.ɵɵpureFunction1(4, _c9, ctx_r42.disabled));
i0.ɵɵadvance(1);
i0.ɵɵtextInterpolate(ctx_r42.formattedValue);
} }
function PepperiDateComponent_ng_container_5_ng_template_4_ng_template_1_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0, 30);
i0.ɵɵtemplate(1, PepperiDateComponent_ng_container_5_ng_template_4_ng_template_1_ng_container_1_Template, 3, 6, "ng-container", 31);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r39 = i0.ɵɵnextContext(3);
i0.ɵɵproperty("ngSwitch", ctx_r39.type);
} }
function PepperiDateComponent_ng_container_5_ng_template_4_ng_template_3_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementStart(0, "span", 33);
i0.ɵɵtext(1, "\u00A0");
i0.ɵɵelementEnd();
} if (rf & 2) {
const ctx_r41 = i0.ɵɵnextContext(3);
i0.ɵɵproperty("id", ctx_r41.key);
} }
function PepperiDateComponent_ng_container_5_ng_template_4_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵtemplate(0, PepperiDateComponent_ng_container_5_ng_template_4_ng_container_0_Template, 1, 0, "ng-container", 15);
i0.ɵɵtemplate(1, PepperiDateComponent_ng_container_5_ng_template_4_ng_template_1_Template, 2, 1, "ng-template", null, 28, i0.ɵɵtemplateRefExtractor);
i0.ɵɵtemplate(3, PepperiDateComponent_ng_container_5_ng_template_4_ng_template_3_Template, 2, 1, "ng-template", null, 29, i0.ɵɵtemplateRefExtractor);
} if (rf & 2) {
const _r38 = i0.ɵɵreference(2);
const _r40 = i0.ɵɵreference(4);
const ctx_r35 = i0.ɵɵnextContext(2);
i0.ɵɵproperty("ngIf", (ctx_r35.formattedValue == null ? null : ctx_r35.formattedValue.length) > 0)("ngIfThen", _r38)("ngIfElse", _r40);
} }
function PepperiDateComponent_ng_container_5_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵtemplate(1, PepperiDateComponent_ng_container_5_ng_container_1_Template, 1, 0, "ng-container", 15);
i0.ɵɵtemplate(2, PepperiDateComponent_ng_container_5_ng_template_2_Template, 1, 3, "ng-template", null, 26, i0.ɵɵtemplateRefExtractor);
i0.ɵɵtemplate(4, PepperiDateComponent_ng_container_5_ng_template_4_Template, 5, 3, "ng-template", null, 27, i0.ɵɵtemplateRefExtractor);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const _r32 = i0.ɵɵreference(3);
const _r34 = i0.ɵɵreference(5);
const ctx_r4 = i0.ɵɵnextContext();
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx_r4.isActive && !ctx_r4.disabled)("ngIfThen", _r32)("ngIfElse", _r34);
} }
function PepperiDateComponent_ng_container_6_ng_container_2_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainer(0);
} }
function PepperiDateComponent_ng_container_6_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0);
i0.ɵɵelement(1, "pep-field-title", 13);
i0.ɵɵtemplate(2, PepperiDateComponent_ng_container_6_ng_container_2_Template, 1, 0, "ng-container", 14);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
const ctx_r5 = i0.ɵɵnextContext();
const _r0 = i0.ɵɵreference(2);
i0.ɵɵadvance(1);
i0.ɵɵproperty("label", ctx_r5.label)("required", ctx_r5.required)("disabled", ctx_r5.disabled)("xAlignment", ctx_r5.xAlignment)("showTitle", ctx_r5.showTitle);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngTemplateOutlet", _r0)("ngTemplateOutletContext", i0.ɵɵpureFunction0(7, _c5));
} }
export class PepperiDateComponent {
constructor(element, utilitiesService, customizationService, renderer, translate, adapter) {
this.element = element;
this.utilitiesService = utilitiesService;
this.customizationService = customizationService;
this.renderer = renderer;
this.translate = translate;
this.adapter = adapter;
this.key = '';
this.value = '';
this.formattedValue = '';
this.label = '';
this.type = 'date';
this.required = false;
this.disabled = false;
this.readonly = false;
this.textColor = '';
this.xAlignment = '0';
this.rowSpan = 1;
this.minValue = 0;
this.maxValue = 0;
this.controlType = 'date';
this.form = null;
this.isActive = false;
this.showTitle = true;
this.layoutType = LAYOUT_TYPE.PepperiForm;
this.valueChanged = new EventEmitter();
this.LAYOUT_TYPE = LAYOUT_TYPE;
this.standAlone = false;
this.isInEditMode = false;
this.showDatepicker = false;
this.showTime = false;
}
ngOnInit() {
if (this.form === null) {
this.standAlone = true;
this.form = this.customizationService.getDefaultFromGroup(this.key, this.value, this.required, this.readonly, this.disabled);
this.formattedValue = this.formattedValue || this.value;
this.renderer.addClass(this.element.nativeElement, CustomizationService.STAND_ALONE_FIELD_CLASS_NAME);
}
this.showTime = this.type === 'datetime';
if (this.minValue > 0) {
this.minDate = new Date(this.minValue * 1000 * 60 * 60 * 24);
}
if (this.maxValue > 0) {
this.maxDate = new Date(this.maxValue * 1000 * 60 * 60 * 24);
}
this.initDate();
}
ngOnDestroy() {
if (this.valueChanged) {
this.valueChanged.unsubscribe();
}
}
initDate() {
const culture = this.translate.getBrowserCultureLang() || 'en-US'; // this.userLang,
this.adapter.setLocale(culture);
if (this.value.indexOf('1900-1-1') >= 0 ||
this.value.indexOf('1900-01-01') >= 0 ||
this.value.indexOf('1970-1-1') >= 0 ||
this.value.indexOf('1970-01-01') >= 0) {
this.value = '';
this.formattedValue = '';
this.dateModel = null;
}
else {
this.dateModel = this.utilitiesService.parseDate(this.value, this.showTime);
}
}
openDatetimePicker(datetimePicker) {
datetimePicker.opened = false;
datetimePicker.open();
}
onBlur(event) {
if (this.isInEditMode && !this.datetimePicker.opened) {
this.isInEditMode = false;
}
}
onDateChange(event) {
let value = '';
if (event.value != null) {
value = this.utilitiesService.stringifyDateWithOffset(event.value.toDate(), this.showTime);
}
this.customizationService.updateFormFieldValue(this.form, this.key, value);
this.valueChanged.emit({ apiName: this.key, value });
if (this.isInEditMode) {
setTimeout(() => {
this.isInEditMode = false;
}, 0);
}
}
cardTemplateClicked(event) {
const self = this;
this.isInEditMode = true;
setTimeout(() => {
self.input.nativeElement.focus();
self.openDatetimePicker(self.datetimePicker);
}, 0);
}
}
PepperiDateComponent.ɵfac = function PepperiDateComponent_Factory(t) { return new (t || PepperiDateComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.UtilitiesService), i0.ɵɵdirectiveInject(i1.CustomizationService), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i2.TranslateService), i0.ɵɵdirectiveInject(i3.DateAdapter)); };
PepperiDateComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PepperiDateComponent, selectors: [["pep-date"]], viewQuery: function PepperiDateComponent_Query(rf, ctx) { if (rf & 1) {
i0.ɵɵviewQuery(_c0, true);
i0.ɵɵviewQuery(_c1, true);
} if (rf & 2) {
var _t;
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.datetimePicker = _t.first);
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
} }, inputs: { key: "key", value: "value", formattedValue: "formattedValue", label: "label", type: "type", required: "required", disabled: "disabled", readonly: "readonly", textColor: "textColor", xAlignment: "xAlignment", rowSpan: "rowSpan", minValue: "minValue", maxValue: "maxValue", form: "form", isActive: "isActive", showTitle: "showTitle", layoutType: "layoutType" }, outputs: { valueChanged: "valueChanged" }, features: [i0.ɵɵProvidersFeature([
// CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR,
// The locale would typically be provided on the root module of your application. We do it at
// the component level here, due to limitations of our example generation script.
// { provide: MAT_DATE_LOCALE, useValue: 'en-US' },
// `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing
// `MatMomentDateModule` in your applications root module. We provide it at the component level
// here, due to limitations of our example generation script.
// { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
// { provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS },
{ provide: DateAdapter, useClass: MomentDateAdapter },
{
provide: MAT_DATE_FORMATS,
useValue: {
parse: {
dateInput: 'L',
monthInput: 'MMMM',
timeInput: 'LT',
datetimeInput: 'L LT',
},
display: {
dateInput: 'L',
monthInput: 'MMMM',
datetimeInput: 'L LT',
timeInput: 'LT',
monthYearLabel: 'MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'MMMM YYYY',
popupHeaderDateLabel: 'ddd, DD MMM',
},
},
},
{ provide: DatetimeAdapter, useClass: MomentDatetimeAdapter },
// { provide: MAT_DATETIME_FORMATS, useValue: MAT_NATIVE_DATETIME_FORMATS }
{
provide: MAT_DATETIME_FORMATS,
useValue: {
parse: {
dateInput: 'L',
monthInput: 'MMMM',
timeInput: 'LT',
datetimeInput: 'L LT',
},
display: {
dateInput: 'L',
monthInput: 'MMMM',
datetimeInput: 'L LT',
timeInput: 'LT',
monthYearLabel: 'MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'MMMM YYYY',
popupHeaderDateLabel: 'ddd, DD MMM',
},
},
},
])], decls: 7, vars: 5, consts: [[3, "formGroup"], ["pepperiTemplate", ""], [4, "ngIf"], ["appearance", "outline"], ["matInput", "", "autocomplete", "false", 1, "body-sm", 3, "id", "title", "ngStyle", "ngModel", "ngModelOptions", "matDatetimepicker", "min", "max", "required", "disabled", "ngModelChange", "dateChange", "click", "blur"], ["input", ""], [1, "body-xs", 3, "title", "innerText"], ["matPrefix", "", 3, "value", "label", "type", "disabled", "iconClicked", 4, "ngIf"], ["matSuffix", "", 3, "value", "label", "type", "disabled", "iconClicked", 4, "ngIf"], ["openOnFocus", "false", "touchUi", "true", "timeInterval", "1", 3, "type"], ["datetimePicker", ""], ["matPrefix", "", 3, "value", "label", "type", "disabled", "iconClicked"], ["matSuffix", "", 3, "value", "label", "type", "disabled", "iconClicked"], [3, "label", "required", "disabled", "xAlignment", "showTitle"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [4, "ngIf", "ngIfThen", "ngIfElse"], ["editBlock", ""], ["readOnlyBlock", ""], [3, "ngClass"], [1, "pepperi-card-input", "card-flex-container", 3, "ngClass", "click"], ["class", "body-xs title", 3, "title", 4, "ngIf"], [1, "body-sm", "value", 3, "id", "title"], ["class", "pepperi-button weak card-edit-button", "mat-button", "", 4, "ngIf"], [1, "body-xs", "title", 3, "title"], ["mat-button", "", 1, "pepperi-button", "weak", "card-edit-button"], ["name", "system_edit"], ["selectedBlock", ""], ["notSelectedBlock", ""], ["notEmptyBlock", ""], ["emptyBlock", ""], [3, "ngSwitch"], [4, "ngSwitchDefault"], [1, "body-sm", "pepperi-report-input", 3, "id", "ngClass", "title"], [3, "id"]], template: function PepperiDateComponent_Template(rf, ctx) { if (rf & 1) {
i0.ɵɵelementContainerStart(0, 0);
i0.ɵɵtemplate(1, PepperiDateComponent_ng_template_1_Template, 13, 39, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
i0.ɵɵtemplate(3, PepperiDateComponent_ng_container_3_Template, 3, 8, "ng-container", 2);
i0.ɵɵtemplate(4, PepperiDateComponent_ng_container_4_Template, 6, 3, "ng-container", 2);
i0.ɵɵtemplate(5, PepperiDateComponent_ng_container_5_Template, 6, 3, "ng-container", 2);
i0.ɵɵtemplate(6, PepperiDateComponent_ng_container_6_Template, 3, 8, "ng-container", 2);
i0.ɵɵelementContainerEnd();
} if (rf & 2) {
i0.ɵɵproperty("formGroup", ctx.form);
i0.ɵɵadvance(3);
i0.ɵɵproperty("ngIf", ctx.layoutType === ctx.LAYOUT_TYPE.PepperiForm);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx.layoutType === ctx.LAYOUT_TYPE.PepperiCard);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx.layoutType === ctx.LAYOUT_TYPE.PepperiTable);
i0.ɵɵadvance(1);
i0.ɵɵproperty("ngIf", ctx.layoutType === ctx.LAYOUT_TYPE.Editmodal);
} }, directives: [i4.NgControlStatusGroup, i4.FormGroupDirective, i5.NgIf, i6.MatFormField, i7.MatInput, i4.DefaultValueAccessor, i8.MatDatetimepickerInput, i5.NgStyle, i4.NgControlStatus, i4.NgModel, i4.RequiredValidator, i6.MatError, i8.MatDatetimepicker, i9.PepperiTextboxIconComponent, i6.MatPrefix, i6.MatSuffix, i10.PepperiFieldTitleComponent, i5.NgTemplateOutlet, i5.NgClass, i11.MatButton, i12.MatIcon, i13.PepperiIconComponent, i5.NgSwitch, i5.NgSwitchDefault], pipes: [i2.TranslatePipe], styles: ["[_nghost-%COMP%]{display:-ms-grid;display:grid;height:inherit}[_nghost-%COMP%] > *[_ngcontent-%COMP%]{-ms-grid-row-align:center;align-self:center}"], changeDetection: 0 });
/*@__PURE__*/ (function () { i0.ɵsetClassMetadata(PepperiDateComponent, [{
type: Component,
args: [{
selector: 'pep-date',
templateUrl: './date.component.html',
styleUrls: ['./date.component.scss'],
providers: [
// CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR,
// The locale would typically be provided on the root module of your application. We do it at
// the component level here, due to limitations of our example generation script.
// { provide: MAT_DATE_LOCALE, useValue: 'en-US' },
// `MomentDateAdapter` and `MAT_MOMENT_DATE_FORMATS` can be automatically provided by importing
// `MatMomentDateModule` in your applications root module. We provide it at the component level
// here, due to limitations of our example generation script.
// { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
// { provide: MAT_DATE_FORMATS, useValue: MAT_MOMENT_DATE_FORMATS },
{ provide: DateAdapter, useClass: MomentDateAdapter },
{
provide: MAT_DATE_FORMATS,
useValue: {
parse: {
dateInput: 'L',
monthInput: 'MMMM',
timeInput: 'LT',
datetimeInput: 'L LT',
},
display: {
dateInput: 'L',
monthInput: 'MMMM',
datetimeInput: 'L LT',
timeInput: 'LT',
monthYearLabel: 'MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'MMMM YYYY',
popupHeaderDateLabel: 'ddd, DD MMM',
},
},
},
{ provide: DatetimeAdapter, useClass: MomentDatetimeAdapter },
// { provide: MAT_DATETIME_FORMATS, useValue: MAT_NATIVE_DATETIME_FORMATS }
{
provide: MAT_DATETIME_FORMATS,
useValue: {
parse: {
dateInput: 'L',
monthInput: 'MMMM',
timeInput: 'LT',
datetimeInput: 'L LT',
},
display: {
dateInput: 'L',
monthInput: 'MMMM',
datetimeInput: 'L LT',
timeInput: 'LT',
monthYearLabel: 'MMM YYYY',
dateA11yLabel: 'LL',
monthYearA11yLabel: 'MMMM YYYY',
popupHeaderDateLabel: 'ddd, DD MMM',
},
},
},
],
changeDetection: ChangeDetectionStrategy.OnPush,
}]
}], function () { return [{ type: i0.ElementRef }, { type: i1.UtilitiesService }, { type: i1.CustomizationService }, { type: i0.Renderer2 }, { type: i2.TranslateService }, { type: i3.DateAdapter }]; }, { key: [{
type: Input
}], value: [{
type: Input
}], formattedValue: [{
type: Input
}], label: [{
type: Input
}], type: [{
type: Input
}], required: [{
type: Input
}], disabled: [{
type: Input
}], readonly: [{
type: Input
}], textColor: [{
type: Input
}], xAlignment: [{
type: Input
}], rowSpan: [{
type: Input
}], minValue: [{
type: Input
}], maxValue: [{
type: Input
}], form: [{
type: Input
}], isActive: [{
type: Input
}], showTitle: [{
type: Input
}], layoutType: [{
type: Input
}], valueChanged: [{
type: Output
}], datetimePicker: [{
type: ViewChild,
args: ['datetimePicker']
}], input: [{
type: ViewChild,
args: ['input']
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9wZXBwZXJpLWxpYi9kYXRlL2RhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGVwcGVyaS1saWIvZGF0ZS9kYXRlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXNCLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFFckosT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNqRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQW9CLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQ092RSw0Q0FFbUI7SUFEcUIsNlNBQWtEO0lBQzFGLGlCQUFtQjs7O0lBRitDLG9DQUFlLHVCQUFBLHFCQUFBLDZCQUFBOzs7O0lBR2pGLDRDQUVtQjtJQURxQyw4U0FBa0Q7SUFDMUcsaUJBQW1COzs7SUFGc0Usb0NBQWUsdUJBQUEscUJBQUEsNkJBQUE7Ozs7Ozs7SUFkNUcseUNBQ0k7SUFBQSxtQ0FNQTtJQUpJLDhOQUF1Qiw2TUFBQSxrT0FBQSwyTEFBQTtJQUYzQixpQkFNQTtJQUFBLGlDQUFXO0lBQUEsMEJBRThKOzs7OztJQUN6SyxpQkFBWTtJQUNaLDZHQUVBO0lBQ0EsK0dBRUE7SUFDQSw2Q0FDeUQ7SUFDN0QsaUJBQWlCOzs7OztJQWxCWSxlQUE0QjtJQUE1Qix3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YSxFQUFFLE1BQU07Z0NBQ3JCLFNBQVMsRUFBRSxJQUFJO2dDQUNmLGNBQWMsRUFBRSxVQUFVO2dDQUMxQixhQUFhLEVBQUUsSUFBSTtnQ0FDbkIsa0JBQWtCLEVBQUUsV0FBVztnQ0FDL0Isb0JBQW9CLEVBQUUsYUFBYTs2QkFDdEM7eUJBQ0o7cUJBQ0o7aUJBQ0o7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7Z05BRVksR0FBRztrQkFBWCxLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNHLEtBQUs7a0JBQWIsS0FBSztZQUNHLElBQUk7a0JBQVosS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFJRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLFVBQVU7a0JBQWxCLEtBQUs7WUFFSSxZQUFZO2tCQUFyQixNQUFNO1lBQ3NCLGNBQWM7a0JBQTFDLFNBQVM7bUJBQUMsZ0JBQWdCO1lBRVAsS0FBSztrQkFBeEIsU0FBUzttQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIFZpZXdDaGlsZCwgUmVuZGVyZXIyLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRldGltZUFkYXB0ZXIsIE1BVF9EQVRFVElNRV9GT1JNQVRTIH0gZnJvbSAnQG1hdC1kYXRldGltZXBpY2tlci9jb3JlJztcclxuaW1wb3J0IHsgTW9tZW50RGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XHJcbmltcG9ydCB7IE1vbWVudERhdGV0aW1lQWRhcHRlciB9IGZyb20gJ0BtYXQtZGF0ZXRpbWVwaWNrZXIvbW9tZW50JztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBVdGlsaXRpZXNTZXJ2aWNlLCBMQVlPVVRfVFlQRSwgQ3VzdG9taXphdGlvblNlcnZpY2UgfSBmcm9tICdAcGVwcGVyaS9saWInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3BlcC1kYXRlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2RhdGUuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIC8vIENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgIC8vIFRoZSBsb2NhbGUgd291bGQgdHlwaWNhbGx5IGJlIHByb3ZpZGVkIG9uIHRoZSByb290IG1vZHVsZSBvZiB5b3VyIGFwcGxpY2F0aW9uLiBXZSBkbyBpdCBhdFxyXG4gICAgICAgIC8vIHRoZSBjb21wb25lbnQgbGV2ZWwgaGVyZSwgZHVlIHRvIGxpbWl0YXRpb25zIG9mIG91ciBleGFtcGxlIGdlbmVyYXRpb24gc2NyaXB0LlxyXG4gICAgICAgIC8vIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogJ2VuLVVTJyB9LFxyXG5cclxuICAgICAgICAvLyBgTW9tZW50RGF0ZUFkYXB0ZXJgIGFuZCBgTUFUX01PTUVOVF9EQVRFX0ZPUk1BVFNgIGNhbiBiZSBhdXRvbWF0aWNhbGx5IHByb3ZpZGVkIGJ5IGltcG9ydGluZ1xyXG4gICAgICAgIC8vIGBNYXRNb21lbnREYXRlTW9kdWxlYCBpbiB5b3VyIGFwcGxpY2F0aW9ucyByb290IG1vZHVsZS4gV2UgcHJvdmlkZSBpdCBhdCB0aGUgY29tcG9uZW50IGxldmVsXHJcbiAgICAgICAgLy8gaGVyZSwgZHVlIHRvIGxpbWl0YXRpb25zIG9mIG91ciBleGFtcGxlIGdlbmVyYXRpb24gc2NyaXB0LlxyXG4gICAgICAgIC8vIHsgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlciwgZGVwczogW01BVF9EQVRFX0xPQ0FMRV0gfSxcclxuICAgICAgICAvLyB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBNQVRfTU9NRU5UX0RBVEVfRk9STUFUUyB9LFxyXG4gICAgICAgIHsgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlciB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUyxcclxuICAgICAgICAgICAgdXNlVmFsdWU6IHtcclxuICAgICAgICAgICAgICAgIHBhcnNlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZUlucHV0OiAnTCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbW9udGhJbnB1dDogJ01NTU0nLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWVJbnB1dDogJ0xUJyxcclxuICAgICAgICAgICAgICAgICAgICBkYXRldGltZUlucHV0OiAnTCBMVCcsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgZGlzcGxheToge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVJbnB1dDogJ0wnLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vbnRoSW5wdXQ6ICdNTU1NJyxcclxuICAgICAgICAgICAgICAgICAgICBkYXRldGltZUlucHV0OiAnTCBMVCcsXHJcbiAgICAgICAgICAgICAgICAgICAgdGltZUlucHV0OiAnTFQnLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgICAgICAgICAgICAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxuICAgICAgICAgICAgICAgICAgICBwb3B1cEhlYWRlckRhdGVMYWJlbDogJ2RkZCwgREQgTU1NJyxcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7IHByb3ZpZGU6IERhdGV0aW1lQWRhcHRlciwgdXNlQ2xhc3M6IE1vbWVudERhdGV0aW1lQWRhcHRlciB9LFxyXG4gICAgICAgIC8vIHsgcHJvdmlkZTogTUFUX0RBVEVUSU1FX0ZPUk1BVFMsIHVzZVZhbHVlOiBNQVRfTkFUSVZFX0RBVEVUSU1FX0ZPUk1BVFMgfVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTUFUX0RBVEVUSU1FX0ZPUk1BVFMsXHJcbiAgICAgICAgICAgIHVzZVZhbHVlOiB7XHJcbiAgICAgICAgICAgICAgICBwYXJzZToge1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGVJbnB1dDogJ0wnLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vbnRoSW5wdXQ6ICdNTU1NJyxcclxuICAgICAgICAgICAgICAgICAgICB0aW1lSW5wdXQ6ICdMVCcsXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVJbnB1dDogJ0wgTFQnLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHtcclxuICAgICAgICAgICAgICAgICAgICBkYXRlSW5wdXQ6ICdMJyxcclxuICAgICAgICAgICAgICAgICAgICBtb250aElucHV0OiAnTU1NTScsXHJcbiAgICAgICAgICAgICAgICAgICAgZGF0ZXRpbWVJbnB1dDogJ0wgTFQnLFxyXG4gICAgICAgICAgICAgICAgICAgIHRpbWVJbnB1dDogJ0xUJyxcclxuICAgICAgICAgICAgICAgICAgICBtb250aFllYXJMYWJlbDogJ01NTSBZWVlZJyxcclxuICAgICAgICAgICAgICAgICAgICBkYXRlQTExeUxhYmVsOiAnTEwnLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWScsXHJcbiAgICAgICAgICAgICAgICAgICAgcG9wdXBIZWFkZXJEYXRlTGFiZWw6ICdkZGQsIEREIE1NTScsXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQZXBwZXJpRGF0ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGtleSA9ICcnO1xyXG4gICAgQElucHV0KCkgdmFsdWUgPSAnJztcclxuICAgIEBJbnB1dCgpIGZvcm1hdHRlZFZhbHVlID0gJyc7XHJcbiAgICBASW5wdXQoKSBsYWJlbCA9ICcnO1xyXG4gICAgQElucHV0KCkgdHlwZSA9ICdkYXRlJztcclxuICAgIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIHRleHRDb2xvciA9ICcnO1xyXG4gICAgQElucHV0KCkgeEFsaWdubWVudCA9ICcwJztcclxuICAgIEBJbnB1dCgpIHJvd1NwYW4gPSAxO1xyXG4gICAgQElucHV0KCkgbWluVmFsdWUgPSAwO1xyXG4gICAgQElucHV0KCkgbWF4VmFsdWUgPSAwO1xyXG5cclxuICAgIGNvbnRyb2xUeXBlID0gJ2RhdGUnO1xyXG5cclxuICAgIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cCA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBpc0FjdGl2ZSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgc2hvd1RpdGxlID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGxheW91dFR5cGU6IExBWU9VVF9UWVBFID0gTEFZT1VUX1RZUEUuUGVwcGVyaUZvcm07XHJcblxyXG4gICAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBWaWV3Q2hpbGQoJ2RhdGV0aW1lUGlja2VyJykgZGF0ZXRpbWVQaWNrZXI6IGFueTtcclxuXHJcbiAgICBAVmlld0NoaWxkKCdpbnB1dCcpIGlucHV0OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIExBWU9VVF9UWVBFID0gTEFZT1VUX1RZUEU7XHJcbiAgICBzdGFuZEFsb25lID0gZmFsc2U7XHJcbiAgICBpc0luRWRpdE1vZGUgPSBmYWxzZTtcclxuICAgIGRhdGVNb2RlbDogRGF0ZTtcclxuICAgIG1pbkRhdGU6IERhdGU7XHJcbiAgICBtYXhEYXRlOiBEYXRlO1xyXG4gICAgc2hvd0RhdGVwaWNrZXIgPSBmYWxzZTtcclxuICAgIHNob3dUaW1lID0gZmFsc2U7XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgICAgIHByaXZhdGUgdXRpbGl0aWVzU2VydmljZTogVXRpbGl0aWVzU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIGN1c3RvbWl6YXRpb25TZXJ2aWNlOiBDdXN0b21pemF0aW9uU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICAgICAgcHJpdmF0ZSBhZGFwdGVyOiBEYXRlQWRhcHRlcjxhbnk+XHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmZvcm0gPT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy5zdGFuZEFsb25lID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtID0gdGhpcy5jdXN0b21pemF0aW9uU2VydmljZS5nZXREZWZhdWx0RnJvbUdyb3VwKHRoaXMua2V5LCB0aGlzLnZhbHVlLCB0aGlzLnJlcXVpcmVkLCB0aGlzLnJlYWRvbmx5LCB0aGlzLmRpc2FibGVkKTtcclxuICAgICAgICAgICAgdGhpcy5mb3JtYXR0ZWRWYWx1ZSA9IHRoaXMuZm9ybWF0dGVkVmFsdWUgfHwgdGhpcy52YWx1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIEN1c3RvbWl6YXRpb25TZXJ2aWNlLlNUQU5EX0FMT05FX0ZJRUxEX0NMQVNTX05BTUUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zaG93VGltZSA9IHRoaXMudHlwZSA9PT0gJ2RhdGV0aW1lJztcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubWluVmFsd