UNPKG

@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
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