info-library 2.16.0-beta → 3.0.0-beta
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/controls/autocomplete/autocomplete.component.d.ts +2 -1
- package/controls/date/date.component.d.ts +2 -1
- package/controls/date-month/date-month.component.d.ts +2 -1
- package/controls/grid/grid.component.d.ts +5 -5
- package/controls/input/input.component.d.ts +13 -3
- package/controls/multi-select/multi-select.component.d.ts +3 -1
- package/controls/select/select.component.d.ts +2 -1
- package/directives/unmask.directive.d.ts +2 -1
- package/esm2022/controls/alert/alert.component.mjs +8 -10
- package/esm2022/controls/autocomplete/autocomplete.component.mjs +33 -26
- package/esm2022/controls/big-checkbox/big-checkbox.component.mjs +27 -25
- package/esm2022/controls/card/card.component.mjs +12 -6
- package/esm2022/controls/card-menu/card-menu.component.mjs +14 -16
- package/esm2022/controls/checkbox/checkbox.component.mjs +13 -13
- package/esm2022/controls/chips/chips.component.mjs +12 -11
- package/esm2022/controls/date/date.component.mjs +64 -32
- package/esm2022/controls/date-month/date-month.component.mjs +64 -31
- package/esm2022/controls/editor/editor.component.mjs +35 -31
- package/esm2022/controls/grid/grid.component.mjs +529 -511
- package/esm2022/controls/input/input.component.mjs +146 -71
- package/esm2022/controls/input-list/input-list.component.mjs +16 -15
- package/esm2022/controls/list-checkbox/list-checkbox.component.mjs +16 -12
- package/esm2022/controls/message/message.component.mjs +9 -11
- package/esm2022/controls/multi-select/multi-select.component.mjs +35 -22
- package/esm2022/controls/paginator/paginator.component.mjs +15 -16
- package/esm2022/controls/select/select.component.mjs +32 -23
- package/esm2022/controls/timeline/timeline.component.mjs +15 -16
- package/esm2022/directives/mask.directive.mjs +17 -8
- package/esm2022/directives/unmask.directive.mjs +14 -7
- package/esm2022/info-library.module.mjs +10 -5
- package/esm2022/layouts/dialog/dialog.component.mjs +10 -6
- package/esm2022/layouts/filter/filter.component.mjs +179 -0
- package/esm2022/layouts/loading/loading.component.mjs +7 -9
- package/esm2022/layouts/main/main.component.mjs +101 -54
- package/esm2022/layouts/modal/modal.component.mjs +37 -22
- package/esm2022/layouts/pagebar/pagebar.component.mjs +125 -97
- package/esm2022/layouts/sidebar/sidebar.component.mjs +152 -100
- package/esm2022/layouts/topbar/topbar.component.mjs +417 -253
- package/esm2022/layouts/topmenu/topmenu.component.mjs +20 -12
- package/esm2022/model/app-config.model.mjs +12 -12
- package/esm2022/model/data-access.model.mjs +10 -8
- package/esm2022/model/dialog-result.model.mjs +3 -2
- package/esm2022/model/dialog.model.mjs +13 -14
- package/esm2022/model/form-prop.model.mjs +8 -6
- package/esm2022/model/grid-button.model.mjs +12 -7
- package/esm2022/model/last-search.model.mjs +5 -7
- package/esm2022/model/login.model.mjs +4 -2
- package/esm2022/model/method-grid-button.model.mjs +4 -2
- package/esm2022/model/notification.model.mjs +9 -5
- package/esm2022/model/pagebar-buttons.model.mjs +6 -6
- package/esm2022/model/permission.model.mjs +4 -1
- package/esm2022/model/platform.model.mjs +13 -14
- package/esm2022/model/session.model.mjs +25 -6
- package/esm2022/pipe/mask.pipe.mjs +10 -6
- package/esm2022/pipe/translate.pipe.mjs +4 -3
- package/esm2022/public_api.mjs +2 -1
- package/esm2022/service/authentication.service.mjs +89 -36
- package/esm2022/service/configuration.service.mjs +41 -10
- package/esm2022/service/data.service.mjs +38 -21
- package/esm2022/service/theme.service.mjs +16 -6
- package/esm2022/service/translate.service.mjs +9 -5
- package/esm2022/utils/utilities.mjs +52 -5
- package/fesm2022/info-library.mjs +2551 -1649
- package/fesm2022/info-library.mjs.map +1 -1
- package/info-library-3.0.0-beta.tgz +0 -0
- package/info-library.module.d.ts +32 -31
- package/layouts/filter/filter.component.d.ts +24 -0
- package/layouts/main/main.component.d.ts +4 -0
- package/layouts/modal/modal.component.d.ts +1 -0
- package/layouts/sidebar/sidebar.component.d.ts +1 -1
- package/layouts/topbar/topbar.component.d.ts +4 -1
- package/model/app-config.model.d.ts +2 -0
- package/model/session.model.d.ts +5 -0
- package/package.json +1 -1
- package/public_api.d.ts +1 -0
- package/service/authentication.service.d.ts +4 -2
- package/service/configuration.service.d.ts +4 -1
- package/service/data.service.d.ts +2 -0
- package/utils/utilities.d.ts +11 -0
|
@@ -6,12 +6,45 @@ import { createTextMaskInputElement } from "text-mask-core/dist/textMaskCore";
|
|
|
6
6
|
import { createAutoCorrectedDatePipe } from "text-mask-addons";
|
|
7
7
|
import moment from "moment";
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/
|
|
10
|
-
import * as i2 from "@angular/
|
|
11
|
-
import * as i3 from "@angular/material/
|
|
12
|
-
import * as i4 from "@angular/material/
|
|
13
|
-
import * as i5 from "
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "@angular/forms";
|
|
11
|
+
import * as i3 from "@angular/material/form-field";
|
|
12
|
+
import * as i4 from "@angular/material/input";
|
|
13
|
+
import * as i5 from "@angular/material/datepicker";
|
|
14
|
+
import * as i6 from "../../pipe/translate.pipe";
|
|
14
15
|
const _c0 = ["inputDate"];
|
|
16
|
+
function InfoDateComponent_mat_form_field_0_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
18
|
+
i0.ɵɵelementStart(0, "mat-form-field")(1, "input", 1, 2);
|
|
19
|
+
i0.ɵɵlistener("ngModelChange", function InfoDateComponent_mat_form_field_0_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.dateValue = $event); })("dateChange", function InfoDateComponent_mat_form_field_0_Template_input_dateChange_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onChangeValue()); })("input", function InfoDateComponent_mat_form_field_0_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.onInputDate($event.target.value)); })("keypress", function InfoDateComponent_mat_form_field_0_Template_input_keypress_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onKeyPress($event)); })("blur", function InfoDateComponent_mat_form_field_0_Template_input_blur_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.onChangeValue()); });
|
|
20
|
+
i0.ɵɵpipe(3, "translate");
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
i0.ɵɵelement(4, "mat-datepicker-toggle", 3)(5, "mat-datepicker", 4, 5);
|
|
23
|
+
i0.ɵɵelementEnd();
|
|
24
|
+
} if (rf & 2) {
|
|
25
|
+
const _r3 = i0.ɵɵreference(6);
|
|
26
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
27
|
+
i0.ɵɵadvance(1);
|
|
28
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 10, ctx_r0.placeholder))("ngModel", ctx_r0.dateValue)("disabled", ctx_r0.disabled)("required", ctx_r0.required)("min", ctx_r0.minDate)("max", ctx_r0.maxDate)("matDatepicker", _r3)("matDatepickerFilter", ctx_r0.datefilter);
|
|
29
|
+
i0.ɵɵadvance(3);
|
|
30
|
+
i0.ɵɵproperty("for", _r3);
|
|
31
|
+
i0.ɵɵadvance(1);
|
|
32
|
+
i0.ɵɵproperty("dateClass", ctx_r0.dateclass);
|
|
33
|
+
} }
|
|
34
|
+
function InfoDateComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
36
|
+
i0.ɵɵelementContainerStart(0);
|
|
37
|
+
i0.ɵɵelementStart(1, "input", 6, 2);
|
|
38
|
+
i0.ɵɵlistener("click", function InfoDateComponent_ng_container_1_Template_input_click_1_listener() { i0.ɵɵrestoreView(_r13); const _r11 = i0.ɵɵreference(4); return i0.ɵɵresetView(_r11.open()); })("ngModelChange", function InfoDateComponent_ng_container_1_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r14 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r14.dateValue = $event); })("dateChange", function InfoDateComponent_ng_container_1_Template_input_dateChange_1_listener() { i0.ɵɵrestoreView(_r13); const ctx_r15 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r15.onChangeValue()); });
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
i0.ɵɵelement(3, "mat-datepicker", null, 5);
|
|
41
|
+
i0.ɵɵelementContainerEnd();
|
|
42
|
+
} if (rf & 2) {
|
|
43
|
+
const _r11 = i0.ɵɵreference(4);
|
|
44
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
45
|
+
i0.ɵɵadvance(1);
|
|
46
|
+
i0.ɵɵproperty("ngModel", ctx_r1.dateValue)("disabled", ctx_r1.disabled)("required", ctx_r1.required)("min", ctx_r1.minDate)("max", ctx_r1.maxDate)("matDatepicker", _r11)("matDatepickerFilter", ctx_r1.datefilter);
|
|
47
|
+
} }
|
|
15
48
|
export const PT_BR_DATE_FORMATS = {
|
|
16
49
|
parse: {
|
|
17
50
|
dateInput: 'DD/MM/YYYY',
|
|
@@ -24,14 +57,19 @@ export const PT_BR_DATE_FORMATS = {
|
|
|
24
57
|
},
|
|
25
58
|
};
|
|
26
59
|
export class InfoDateComponent {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
60
|
+
placeholder;
|
|
61
|
+
disabled = false;
|
|
62
|
+
required = false;
|
|
63
|
+
minDate = new Date(1800, 0, 1);
|
|
64
|
+
maxDate = null;
|
|
65
|
+
button = false;
|
|
66
|
+
datefilter = null; //Metodo que recebe uma data(moment) e retorna boolean
|
|
67
|
+
dateclass = null; //Metodo que recebe uma data(moment) e retorna string
|
|
68
|
+
input;
|
|
69
|
+
dateValue;
|
|
70
|
+
dateMask;
|
|
71
|
+
onChange;
|
|
72
|
+
onTouched;
|
|
35
73
|
ngAfterViewInit() {
|
|
36
74
|
let config = {
|
|
37
75
|
mask: [/\d/, /\d/, '/', /\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
|
|
@@ -78,13 +116,13 @@ export class InfoDateComponent {
|
|
|
78
116
|
if (e.keyCode == 13)
|
|
79
117
|
this.onChangeValue();
|
|
80
118
|
}
|
|
81
|
-
/** @nocollapse */ static
|
|
82
|
-
/** @nocollapse */ static
|
|
119
|
+
/** @nocollapse */ static ɵfac = function InfoDateComponent_Factory(t) { return new (t || InfoDateComponent)(); };
|
|
120
|
+
/** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoDateComponent, selectors: [["info-date"]], viewQuery: function InfoDateComponent_Query(rf, ctx) { if (rf & 1) {
|
|
83
121
|
i0.ɵɵviewQuery(_c0, 5);
|
|
84
122
|
} if (rf & 2) {
|
|
85
123
|
let _t;
|
|
86
124
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
|
|
87
|
-
} }, inputs: { placeholder: "placeholder", disabled: "disabled", required: "required", minDate: "minDate", maxDate: "maxDate", datefilter: "datefilter", dateclass: "dateclass" }, features: [i0.ɵɵProvidersFeature([{
|
|
125
|
+
} }, inputs: { placeholder: "placeholder", disabled: "disabled", required: "required", minDate: "minDate", maxDate: "maxDate", button: "button", datefilter: "datefilter", dateclass: "dateclass" }, features: [i0.ɵɵProvidersFeature([{
|
|
88
126
|
provide: NG_VALUE_ACCESSOR,
|
|
89
127
|
useExisting: forwardRef((() => InfoDateComponent)),
|
|
90
128
|
multi: true
|
|
@@ -92,22 +130,14 @@ export class InfoDateComponent {
|
|
|
92
130
|
{ provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },
|
|
93
131
|
{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
|
|
94
132
|
{ provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_FORMATS },
|
|
95
|
-
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }])], decls:
|
|
96
|
-
i0.ɵɵ
|
|
97
|
-
i0.ɵɵ
|
|
98
|
-
i0.ɵɵpipe(3, "translate");
|
|
99
|
-
i0.ɵɵelementEnd();
|
|
100
|
-
i0.ɵɵelement(4, "mat-datepicker-toggle", 2)(5, "mat-datepicker", 3, 4);
|
|
101
|
-
i0.ɵɵelementEnd();
|
|
133
|
+
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }])], decls: 2, vars: 2, consts: [[4, "ngIf"], ["matInput", "", 3, "placeholder", "ngModel", "disabled", "required", "min", "max", "matDatepicker", "matDatepickerFilter", "ngModelChange", "dateChange", "input", "keypress", "blur"], ["inputDate", ""], ["matSuffix", "", 3, "for"], [3, "dateClass"], ["datepicker", ""], ["type", "button", 1, "mat-button", 3, "ngModel", "disabled", "required", "min", "max", "matDatepicker", "matDatepickerFilter", "click", "ngModelChange", "dateChange"]], template: function InfoDateComponent_Template(rf, ctx) { if (rf & 1) {
|
|
134
|
+
i0.ɵɵtemplate(0, InfoDateComponent_mat_form_field_0_Template, 7, 12, "mat-form-field", 0);
|
|
135
|
+
i0.ɵɵtemplate(1, InfoDateComponent_ng_container_1_Template, 5, 7, "ng-container", 0);
|
|
102
136
|
} if (rf & 2) {
|
|
103
|
-
|
|
104
|
-
i0.ɵɵadvance(1);
|
|
105
|
-
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 10, ctx.placeholder))("ngModel", ctx.dateValue)("disabled", ctx.disabled)("required", ctx.required)("min", ctx.minDate)("max", ctx.maxDate)("matDatepicker", _r1)("matDatepickerFilter", ctx.datefilter);
|
|
106
|
-
i0.ɵɵadvance(3);
|
|
107
|
-
i0.ɵɵproperty("for", _r1);
|
|
137
|
+
i0.ɵɵproperty("ngIf", !ctx.button);
|
|
108
138
|
i0.ɵɵadvance(1);
|
|
109
|
-
i0.ɵɵproperty("
|
|
110
|
-
} }, dependencies: [i1.DefaultValueAccessor,
|
|
139
|
+
i0.ɵɵproperty("ngIf", ctx.button);
|
|
140
|
+
} }, dependencies: [i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.RequiredValidator, i2.NgModel, i3.MatFormField, i3.MatSuffix, i4.MatInput, i5.MatDatepicker, i5.MatDatepickerInput, i5.MatDatepickerToggle, i6.InfoTranslatePipe], encapsulation: 2 });
|
|
111
141
|
}
|
|
112
142
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoDateComponent, [{
|
|
113
143
|
type: Component,
|
|
@@ -119,7 +149,7 @@ export class InfoDateComponent {
|
|
|
119
149
|
{ provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },
|
|
120
150
|
{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
|
|
121
151
|
{ provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_FORMATS },
|
|
122
|
-
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }], template: "<mat-form-field>\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate
|
|
152
|
+
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }], template: "<mat-form-field *ngIf=\"!button\">\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate>\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker [dateClass]=\"dateclass\" #datepicker></mat-datepicker>\r\n</mat-form-field>\r\n\r\n<ng-container *ngIf=\"button\">\r\n <input class=\"mat-button\" type=\"button\" (click)=\"datepicker.open()\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate>\r\n\r\n <mat-datepicker #datepicker></mat-datepicker>\r\n</ng-container>" }]
|
|
123
153
|
}], null, { placeholder: [{
|
|
124
154
|
type: Input
|
|
125
155
|
}], disabled: [{
|
|
@@ -130,6 +160,8 @@ export class InfoDateComponent {
|
|
|
130
160
|
type: Input
|
|
131
161
|
}], maxDate: [{
|
|
132
162
|
type: Input
|
|
163
|
+
}], button: [{
|
|
164
|
+
type: Input
|
|
133
165
|
}], datefilter: [{
|
|
134
166
|
type: Input
|
|
135
167
|
}], dateclass: [{
|
|
@@ -138,4 +170,4 @@ export class InfoDateComponent {
|
|
|
138
170
|
type: ViewChild,
|
|
139
171
|
args: ['inputDate', { static: false }]
|
|
140
172
|
}] }); })();
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7QUFFNUIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDOUIsS0FBSyxFQUFFO1FBQ0gsU0FBUyxFQUFFLFlBQVk7S0FDMUI7SUFDRCxPQUFPLEVBQUU7UUFDTCxTQUFTLEVBQUUsWUFBWTtRQUN2QixjQUFjLEVBQUUsT0FBTztRQUN2QixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxRQUFRO0tBQy9CO0NBQ0osQ0FBQztBQWVGLE1BQU0sT0FBTyxpQkFBaUI7SUFiOUI7UUFnQmEsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBUyxJQUFJ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QUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7b0JBQy9DLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUU7b0JBQzlFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtvQkFDM0QsRUFBRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBSWhFLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSztZQUVHLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBRXFDLEtBQUs7a0JBQS9DLFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVRleHRNYXNrSW5wdXRFbGVtZW50IH0gZnJvbSBcInRleHQtbWFzay1jb3JlL2Rpc3QvdGV4dE1hc2tDb3JlXCI7XHJcbmltcG9ydCB7IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSB9IGZyb20gXCJ0ZXh0LW1hc2stYWRkb25zXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBUX0JSX0RBVEVfRk9STUFUUyA9IHtcclxuICAgIHBhcnNlOiB7XHJcbiAgICAgICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWScsXHJcbiAgICB9LFxyXG4gICAgZGlzcGxheToge1xyXG4gICAgICAgIGRhdGVJbnB1dDogJ0REL01NL1lZWVknLFxyXG4gICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFknLFxyXG4gICAgICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZJyxcclxuICAgIH0sXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1kYXRlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmZvRGF0ZUNvbXBvbmVudCksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdwdC1CUicgfSxcclxuICAgIHsgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlciwgZGVwczogW01BVF9EQVRFX0xPQ0FMRV0gfSxcclxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IFBUX0JSX0RBVEVfRk9STUFUUyB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IHRydWUgfSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbWluRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE4MDAsIDAsIDEpO1xyXG4gICAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZSA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgZGF0ZWZpbHRlcjogYW55ID0gbnVsbDsgLy9NZXRvZG8gcXVlIHJlY2ViZSB1bWEgZGF0YShtb21lbnQpIGUgcmV0b3JuYSBib29sZWFuXHJcbiAgICBASW5wdXQoKSBkYXRlY2xhc3M6IGFueSA9IG51bGw7IC8vTWV0b2RvIHF1ZSByZWNlYmUgdW1hIGRhdGEobW9tZW50KSBlIHJldG9ybmEgc3RyaW5nXHJcblxyXG4gICAgQFZpZXdDaGlsZCgnaW5wdXREYXRlJywgeyBzdGF0aWM6IGZhbHNlIH0pIGlucHV0O1xyXG5cclxuICAgIGRhdGVWYWx1ZTogYW55O1xyXG4gICAgZGF0ZU1hc2s6IGFueTtcclxuICAgIG9uQ2hhbmdlO1xyXG4gICAgb25Ub3VjaGVkO1xyXG5cclxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuXHJcbiAgICAgICAgbGV0IGNvbmZpZyA9IHtcclxuICAgICAgICAgICAgbWFzazogWy9cXGQvLCAvXFxkLywgJy8nLCAvXFxkLywgL1xcZC8sICcvJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC9dLFxyXG4gICAgICAgICAgICBndWlkZTogdHJ1ZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiAnXycsXHJcbiAgICAgICAgICAgIHBpcGU6IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZShQVF9CUl9EQVRFX0ZPUk1BVFMucGFyc2UuZGF0ZUlucHV0LnRvTG93ZXJDYXNlKCkpLFxyXG4gICAgICAgICAgICBtb2RlbENsZWFuOiB0cnVlLFxyXG4gICAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRlTWFzayA9IGNyZWF0ZVRleHRNYXNrSW5wdXRFbGVtZW50KFxyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHsgaW5wdXRFbGVtZW50OiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQgfSwgY29uZmlnKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbnB1dERhdGUodmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRhdGVNYXNrLnVwZGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VWYWx1ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRlVmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAobW9tZW50KHRoaXMuZGF0ZVZhbHVlKS5pc0JlZm9yZShtb21lbnQodGhpcy5taW5EYXRlKSkpXHJcbiAgICAgICAgICAgICAgIHRoaXMuZGF0ZVZhbHVlID0gdGhpcy5taW5EYXRlO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0aGlzLm1heERhdGUgIT0gbnVsbCAmJiBtb21lbnQodGhpcy5kYXRlVmFsdWUpLmlzQWZ0ZXIobW9tZW50KHRoaXMubWF4RGF0ZSkpKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSB0aGlzLm1heERhdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSAhPSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZGF0ZVZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodmFsdWUgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuICAgICAgICAgICAgdmFsdWUuc2V0TWludXRlcyh2YWx1ZS5nZXRNaW51dGVzKCkgKyB2YWx1ZS5nZXRUaW1lem9uZU9mZnNldCgpKTtcclxuICAgICAgICAgICAgdmFsdWUgPSBuZXcgRGF0ZSh2YWx1ZS5nZXRGdWxsWWVhcigpLCB2YWx1ZS5nZXRNb250aCgpLCB2YWx1ZS5nZXREYXRlKCkpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIG9uS2V5UHJlc3MoZSl7XHJcbiAgICAgICAgaWYgKGUua2V5Q29kZSA9PSAxMylcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgICB9XHJcbn0iLCI8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICA8aW5wdXQgbWF0SW5wdXQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyIHwgdHJhbnNsYXRlXCIgWyhuZ01vZGVsKV09XCJkYXRlVmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIlxyXG4gICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uQ2hhbmdlVmFsdWUoKVwiIChpbnB1dCk9XCJvbklucHV0RGF0ZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIiAoYmx1cik9XCJvbkNoYW5nZVZhbHVlKClcIiBbbWF0RGF0ZXBpY2tlcl09XCJkYXRlcGlja2VyXCJcclxuICAgICAgICAgICBbbWF0RGF0ZXBpY2tlckZpbHRlcl09XCJkYXRlZmlsdGVyXCIgI2lucHV0RGF0ZSA+XHJcblxyXG4gICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJkYXRlcGlja2VyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXIgW2RhdGVDbGFzc109XCJkYXRlY2xhc3NcIiAjZGF0ZXBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxyXG48L21hdC1mb3JtLWZpZWxkPiJdfQ==
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2RhdGUvZGF0ZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2RhdGUvZGF0ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9ELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7SUNONUIsc0NBQWdDLGtCQUFBO0lBQzRCLDJPQUF1QixxS0FDMUQsZUFBQSxzQkFBZSxDQUFBLElBRDJDLGlLQUNoQyxlQUFBLHVDQUFnQyxDQUFBLElBREEsdUtBQ2MsZUFBQSx5QkFBa0IsQ0FBQSxJQURoQyx5SkFDMEMsZUFBQSxzQkFBZSxDQUFBLElBRHpEOztJQUEvRSxpQkFFcUQ7SUFFckQsMkNBQTRFLDJCQUFBO0lBRWhGLGlCQUFpQjs7OztJQU5HLGVBQXVDO0lBQXZDLHVFQUF1Qyw2QkFBQSw2QkFBQSw2QkFBQSx1QkFBQSx1QkFBQSxzQkFBQSwwQ0FBQTtJQUl0QixlQUFrQjtJQUFsQix5QkFBa0I7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ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX0RBVEVfTE9DQUxFIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1vbWVudERhdGVBZGFwdGVyLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsLW1vbWVudC1hZGFwdGVyXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVRleHRNYXNrSW5wdXRFbGVtZW50IH0gZnJvbSBcInRleHQtbWFzay1jb3JlL2Rpc3QvdGV4dE1hc2tDb3JlXCI7XHJcbmltcG9ydCB7IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSB9IGZyb20gXCJ0ZXh0LW1hc2stYWRkb25zXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBUX0JSX0RBVEVfRk9STUFUUyA9IHtcclxuICAgIHBhcnNlOiB7XHJcbiAgICAgICAgZGF0ZUlucHV0OiAnREQvTU0vWVlZWScsXHJcbiAgICB9LFxyXG4gICAgZGlzcGxheToge1xyXG4gICAgICAgIGRhdGVJbnB1dDogJ0REL01NL1lZWVknLFxyXG4gICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFknLFxyXG4gICAgICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZJyxcclxuICAgIH0sXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1kYXRlJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmZvRGF0ZUNvbXBvbmVudCksXHJcbiAgICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0xPQ0FMRSwgdXNlVmFsdWU6ICdwdC1CUicgfSxcclxuICAgIHsgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlciwgZGVwczogW01BVF9EQVRFX0xPQ0FMRV0gfSxcclxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IFBUX0JSX0RBVEVfRk9STUFUUyB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IHRydWUgfSB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0RhdGVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgbWluRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKDE4MDAsIDAsIDEpO1xyXG4gICAgQElucHV0KCkgbWF4RGF0ZTogRGF0ZSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBidXR0b246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKSBkYXRlZmlsdGVyOiBhbnkgPSBudWxsOyAvL01ldG9kbyBxdWUgcmVjZWJlIHVtYSBkYXRhKG1vbWVudCkgZSByZXRvcm5hIGJvb2xlYW5cclxuICAgIEBJbnB1dCgpIGRhdGVjbGFzczogYW55ID0gbnVsbDsgLy9NZXRvZG8gcXVlIHJlY2ViZSB1bWEgZGF0YShtb21lbnQpIGUgcmV0b3JuYSBzdHJpbmdcclxuXHJcbiAgICBAVmlld0NoaWxkKCdpbnB1dERhdGUnLCB7IHN0YXRpYzogZmFsc2UgfSkgaW5wdXQ7XHJcblxyXG4gICAgZGF0ZVZhbHVlOiBhbnk7XHJcbiAgICBkYXRlTWFzazogYW55O1xyXG4gICAgb25DaGFuZ2U7XHJcbiAgICBvblRvdWNoZWQ7XHJcblxyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG5cclxuICAgICAgICBsZXQgY29uZmlnID0ge1xyXG4gICAgICAgICAgICBtYXNrOiBbL1xcZC8sIC9cXGQvLCAnLycsIC9cXGQvLCAvXFxkLywgJy8nLCAvXFxkLywgL1xcZC8sIC9cXGQvLCAvXFxkL10sXHJcbiAgICAgICAgICAgIGd1aWRlOiB0cnVlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlckNoYXI6ICdfJyxcclxuICAgICAgICAgICAgcGlwZTogY3JlYXRlQXV0b0NvcnJlY3RlZERhdGVQaXBlKFBUX0JSX0RBVEVfRk9STUFUUy5wYXJzZS5kYXRlSW5wdXQudG9Mb3dlckNhc2UoKSksXHJcbiAgICAgICAgICAgIG1vZGVsQ2xlYW46IHRydWUsXHJcbiAgICAgICAgICAgIGtlZXBDaGFyUG9zaXRpb25zOiBmYWxzZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRhdGVNYXNrID0gY3JlYXRlVGV4dE1hc2tJbnB1dEVsZW1lbnQoXHJcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oeyBpbnB1dEVsZW1lbnQ6IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudCB9LCBjb25maWcpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICBvbklucHV0RGF0ZSh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuZGF0ZU1hc2sudXBkYXRlKHZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBvbkNoYW5nZVZhbHVlKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGVWYWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlmIChtb21lbnQodGhpcy5kYXRlVmFsdWUpLmlzQmVmb3JlKG1vbWVudCh0aGlzLm1pbkRhdGUpKSlcclxuICAgICAgICAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSB0aGlzLm1pbkRhdGU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgaWYgKHRoaXMubWF4RGF0ZSAhPSBudWxsICYmIG1vbWVudCh0aGlzLmRhdGVWYWx1ZSkuaXNBZnRlcihtb21lbnQodGhpcy5tYXhEYXRlKSkpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IHRoaXMubWF4RGF0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5kYXRlVmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgICAgICAgICB2YWx1ZS5zZXRNaW51dGVzKHZhbHVlLmdldE1pbnV0ZXMoKSArIHZhbHVlLmdldFRpbWV6b25lT2Zmc2V0KCkpO1xyXG4gICAgICAgICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlLmdldEZ1bGxZZWFyKCksIHZhbHVlLmdldE1vbnRoKCksIHZhbHVlLmdldERhdGUoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgb25LZXlQcmVzcyhlKXtcclxuICAgICAgICBpZiAoZS5rZXlDb2RlID09IDEzKVxyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgIH1cclxufSIsIjxtYXQtZm9ybS1maWVsZCAqbmdJZj1cIiFidXR0b25cIj5cclxuICAgIDxpbnB1dCBtYXRJbnB1dCBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIgfCB0cmFuc2xhdGVcIiBbKG5nTW9kZWwpXT1cImRhdGVWYWx1ZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFttaW5dPVwibWluRGF0ZVwiIFttYXhdPVwibWF4RGF0ZVwiXHJcbiAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwib25DaGFuZ2VWYWx1ZSgpXCIgKGlucHV0KT1cIm9uSW5wdXREYXRlKCRldmVudC50YXJnZXQudmFsdWUpXCIgKGtleXByZXNzKT1cIm9uS2V5UHJlc3MoJGV2ZW50KVwiIChibHVyKT1cIm9uQ2hhbmdlVmFsdWUoKVwiIFttYXREYXRlcGlja2VyXT1cImRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgIFttYXREYXRlcGlja2VyRmlsdGVyXT1cImRhdGVmaWx0ZXJcIiAjaW5wdXREYXRlPlxyXG5cclxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwiZGF0ZXBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyIFtkYXRlQ2xhc3NdPVwiZGF0ZWNsYXNzXCIgI2RhdGVwaWNrZXI+PC9tYXQtZGF0ZXBpY2tlcj5cclxuPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCJidXR0b25cIj5cclxuICAgIDxpbnB1dCBjbGFzcz1cIm1hdC1idXR0b25cIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cImRhdGVwaWNrZXIub3BlbigpXCIgWyhuZ01vZGVsKV09XCJkYXRlVmFsdWVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIlxyXG4gICAgICAgICAgIChkYXRlQ2hhbmdlKT1cIm9uQ2hhbmdlVmFsdWUoKVwiIFttYXREYXRlcGlja2VyXT1cImRhdGVwaWNrZXJcIlxyXG4gICAgICAgICAgIFttYXREYXRlcGlja2VyRmlsdGVyXT1cImRhdGVmaWx0ZXJcIiAjaW5wdXREYXRlPlxyXG5cclxuICAgIDxtYXQtZGF0ZXBpY2tlciAjZGF0ZXBpY2tlcj48L21hdC1kYXRlcGlja2VyPlxyXG48L25nLWNvbnRhaW5lcj4iXX0=
|
|
@@ -6,12 +6,47 @@ import { createTextMaskInputElement } from "text-mask-core/dist/textMaskCore";
|
|
|
6
6
|
import { createAutoCorrectedDatePipe } from "text-mask-addons";
|
|
7
7
|
import moment from "moment";
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/
|
|
10
|
-
import * as i2 from "@angular/
|
|
11
|
-
import * as i3 from "@angular/material/
|
|
12
|
-
import * as i4 from "@angular/material/
|
|
13
|
-
import * as i5 from "
|
|
9
|
+
import * as i1 from "@angular/common";
|
|
10
|
+
import * as i2 from "@angular/forms";
|
|
11
|
+
import * as i3 from "@angular/material/form-field";
|
|
12
|
+
import * as i4 from "@angular/material/input";
|
|
13
|
+
import * as i5 from "@angular/material/datepicker";
|
|
14
|
+
import * as i6 from "../../pipe/translate.pipe";
|
|
14
15
|
const _c0 = ["inputDate"];
|
|
16
|
+
function InfoDateMonthComponent_mat_form_field_0_Template(rf, ctx) { if (rf & 1) {
|
|
17
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
18
|
+
i0.ɵɵelementStart(0, "mat-form-field")(1, "input", 1, 2);
|
|
19
|
+
i0.ɵɵlistener("ngModelChange", function InfoDateMonthComponent_mat_form_field_0_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.dateValue = $event); })("dateChange", function InfoDateMonthComponent_mat_form_field_0_Template_input_dateChange_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.onChangeValue()); })("input", function InfoDateMonthComponent_mat_form_field_0_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.onInputDate($event.target.value)); })("keypress", function InfoDateMonthComponent_mat_form_field_0_Template_input_keypress_1_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.onKeyPress($event)); })("blur", function InfoDateMonthComponent_mat_form_field_0_Template_input_blur_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r9 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r9.onChangeValue()); });
|
|
20
|
+
i0.ɵɵpipe(3, "translate");
|
|
21
|
+
i0.ɵɵelementEnd();
|
|
22
|
+
i0.ɵɵelement(4, "mat-datepicker-toggle", 3);
|
|
23
|
+
i0.ɵɵelementStart(5, "mat-datepicker", 4, 5);
|
|
24
|
+
i0.ɵɵlistener("yearSelected", function InfoDateMonthComponent_mat_form_field_0_Template_mat_datepicker_yearSelected_5_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.chosenYearHandler($event)); })("monthSelected", function InfoDateMonthComponent_mat_form_field_0_Template_mat_datepicker_monthSelected_5_listener($event) { i0.ɵɵrestoreView(_r5); const _r3 = i0.ɵɵreference(6); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.chosenMonthHandler($event, _r3)); });
|
|
25
|
+
i0.ɵɵelementEnd()();
|
|
26
|
+
} if (rf & 2) {
|
|
27
|
+
const _r3 = i0.ɵɵreference(6);
|
|
28
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
29
|
+
i0.ɵɵadvance(1);
|
|
30
|
+
i0.ɵɵproperty("placeholder", i0.ɵɵpipeBind1(3, 7, ctx_r0.placeholder))("ngModel", ctx_r0.dateValue)("disabled", ctx_r0.disabled)("required", ctx_r0.required)("min", ctx_r0.minDate)("matDatepicker", _r3);
|
|
31
|
+
i0.ɵɵadvance(3);
|
|
32
|
+
i0.ɵɵproperty("for", _r3);
|
|
33
|
+
} }
|
|
34
|
+
function InfoDateMonthComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
36
|
+
i0.ɵɵelementContainerStart(0);
|
|
37
|
+
i0.ɵɵelementStart(1, "input", 6, 2);
|
|
38
|
+
i0.ɵɵlistener("click", function InfoDateMonthComponent_ng_container_1_Template_input_click_1_listener() { i0.ɵɵrestoreView(_r15); const _r13 = i0.ɵɵreference(4); return i0.ɵɵresetView(_r13.open()); })("ngModelChange", function InfoDateMonthComponent_ng_container_1_Template_input_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r16 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r16.dateValue = $event); })("dateChange", function InfoDateMonthComponent_ng_container_1_Template_input_dateChange_1_listener() { i0.ɵɵrestoreView(_r15); const ctx_r17 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r17.onChangeValue()); })("input", function InfoDateMonthComponent_ng_container_1_Template_input_input_1_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r18 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r18.onInputDate($event.target.value)); });
|
|
39
|
+
i0.ɵɵelementEnd();
|
|
40
|
+
i0.ɵɵelementStart(3, "mat-datepicker", 4, 5);
|
|
41
|
+
i0.ɵɵlistener("yearSelected", function InfoDateMonthComponent_ng_container_1_Template_mat_datepicker_yearSelected_3_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r19 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r19.chosenYearHandler($event)); })("monthSelected", function InfoDateMonthComponent_ng_container_1_Template_mat_datepicker_monthSelected_3_listener($event) { i0.ɵɵrestoreView(_r15); const _r13 = i0.ɵɵreference(4); const ctx_r20 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r20.chosenMonthHandler($event, _r13)); });
|
|
42
|
+
i0.ɵɵelementEnd();
|
|
43
|
+
i0.ɵɵelementContainerEnd();
|
|
44
|
+
} if (rf & 2) {
|
|
45
|
+
const _r13 = i0.ɵɵreference(4);
|
|
46
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
47
|
+
i0.ɵɵadvance(1);
|
|
48
|
+
i0.ɵɵproperty("ngModel", ctx_r1.dateValue)("disabled", ctx_r1.disabled)("required", ctx_r1.required)("min", ctx_r1.minDate)("matDatepicker", _r13);
|
|
49
|
+
} }
|
|
15
50
|
export const PT_BR_DATE_MONTH_FORMATS = {
|
|
16
51
|
parse: {
|
|
17
52
|
dateInput: 'MM/YYYY',
|
|
@@ -24,12 +59,17 @@ export const PT_BR_DATE_MONTH_FORMATS = {
|
|
|
24
59
|
},
|
|
25
60
|
};
|
|
26
61
|
export class InfoDateMonthComponent {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
62
|
+
placeholder;
|
|
63
|
+
disabled = false;
|
|
64
|
+
required = false;
|
|
65
|
+
changeonlyonmonth = false;
|
|
66
|
+
minDate = new Date(1800, 0, 1);
|
|
67
|
+
button = false;
|
|
68
|
+
input;
|
|
69
|
+
dateValue;
|
|
70
|
+
dateMask;
|
|
71
|
+
onChange;
|
|
72
|
+
onTouched;
|
|
33
73
|
ngAfterViewInit() {
|
|
34
74
|
let config = {
|
|
35
75
|
mask: [/\d/, /\d/, '/', /\d/, /\d/, /\d/, /\d/],
|
|
@@ -88,13 +128,13 @@ export class InfoDateMonthComponent {
|
|
|
88
128
|
if (e.keyCode == 13)
|
|
89
129
|
this.onChangeValue();
|
|
90
130
|
}
|
|
91
|
-
/** @nocollapse */ static
|
|
92
|
-
/** @nocollapse */ static
|
|
131
|
+
/** @nocollapse */ static ɵfac = function InfoDateMonthComponent_Factory(t) { return new (t || InfoDateMonthComponent)(); };
|
|
132
|
+
/** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoDateMonthComponent, selectors: [["info-date-month"]], viewQuery: function InfoDateMonthComponent_Query(rf, ctx) { if (rf & 1) {
|
|
93
133
|
i0.ɵɵviewQuery(_c0, 5);
|
|
94
134
|
} if (rf & 2) {
|
|
95
135
|
let _t;
|
|
96
136
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);
|
|
97
|
-
} }, inputs: { placeholder: "placeholder", disabled: "disabled", required: "required", changeonlyonmonth: "changeonlyonmonth", minDate: "minDate" }, features: [i0.ɵɵProvidersFeature([{
|
|
137
|
+
} }, inputs: { placeholder: "placeholder", disabled: "disabled", required: "required", changeonlyonmonth: "changeonlyonmonth", minDate: "minDate", button: "button" }, features: [i0.ɵɵProvidersFeature([{
|
|
98
138
|
provide: NG_VALUE_ACCESSOR,
|
|
99
139
|
useExisting: forwardRef((() => InfoDateMonthComponent)),
|
|
100
140
|
multi: true
|
|
@@ -102,23 +142,14 @@ export class InfoDateMonthComponent {
|
|
|
102
142
|
{ provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },
|
|
103
143
|
{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
|
|
104
144
|
{ provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_MONTH_FORMATS },
|
|
105
|
-
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }])], decls:
|
|
106
|
-
|
|
107
|
-
i0.ɵɵ
|
|
108
|
-
i0.ɵɵlistener("ngModelChange", function InfoDateMonthComponent_Template_input_ngModelChange_1_listener($event) { return ctx.dateValue = $event; })("dateChange", function InfoDateMonthComponent_Template_input_dateChange_1_listener() { return ctx.onChangeValue(); })("input", function InfoDateMonthComponent_Template_input_input_1_listener($event) { return ctx.onInputDate($event.target.value); })("keypress", function InfoDateMonthComponent_Template_input_keypress_1_listener($event) { return ctx.onKeyPress($event); })("blur", function InfoDateMonthComponent_Template_input_blur_1_listener() { return ctx.onChangeValue(); });
|
|
109
|
-
i0.ɵɵpipe(3, "translate");
|
|
110
|
-
i0.ɵɵelementEnd();
|
|
111
|
-
i0.ɵɵelement(4, "mat-datepicker-toggle", 2);
|
|
112
|
-
i0.ɵɵelementStart(5, "mat-datepicker", 3, 4);
|
|
113
|
-
i0.ɵɵlistener("yearSelected", function InfoDateMonthComponent_Template_mat_datepicker_yearSelected_5_listener($event) { return ctx.chosenYearHandler($event); })("monthSelected", function InfoDateMonthComponent_Template_mat_datepicker_monthSelected_5_listener($event) { i0.ɵɵrestoreView(_r2); const _r1 = i0.ɵɵreference(6); return i0.ɵɵresetView(ctx.chosenMonthHandler($event, _r1)); });
|
|
114
|
-
i0.ɵɵelementEnd()();
|
|
145
|
+
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }])], decls: 2, vars: 2, consts: [[4, "ngIf"], ["matInput", "", 3, "placeholder", "ngModel", "disabled", "required", "min", "matDatepicker", "ngModelChange", "dateChange", "input", "keypress", "blur"], ["inputDate", ""], ["matSuffix", "", 3, "for"], ["startView", "multi-year", 3, "yearSelected", "monthSelected"], ["datepicker", ""], ["type", "button", 1, "mat-button", 3, "ngModel", "disabled", "required", "min", "matDatepicker", "click", "ngModelChange", "dateChange", "input"]], template: function InfoDateMonthComponent_Template(rf, ctx) { if (rf & 1) {
|
|
146
|
+
i0.ɵɵtemplate(0, InfoDateMonthComponent_mat_form_field_0_Template, 7, 9, "mat-form-field", 0);
|
|
147
|
+
i0.ɵɵtemplate(1, InfoDateMonthComponent_ng_container_1_Template, 5, 5, "ng-container", 0);
|
|
115
148
|
} if (rf & 2) {
|
|
116
|
-
|
|
149
|
+
i0.ɵɵproperty("ngIf", !ctx.button);
|
|
117
150
|
i0.ɵɵadvance(1);
|
|
118
|
-
i0.ɵɵproperty("
|
|
119
|
-
|
|
120
|
-
i0.ɵɵproperty("for", _r1);
|
|
121
|
-
} }, dependencies: [i1.DefaultValueAccessor, i1.NgControlStatus, i1.RequiredValidator, i1.NgModel, i2.MatFormField, i2.MatSuffix, i3.MatInput, i4.MatDatepicker, i4.MatDatepickerInput, i4.MatDatepickerToggle, i5.InfoTranslatePipe], encapsulation: 2 }); }
|
|
151
|
+
i0.ɵɵproperty("ngIf", ctx.button);
|
|
152
|
+
} }, dependencies: [i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.RequiredValidator, i2.NgModel, i3.MatFormField, i3.MatSuffix, i4.MatInput, i5.MatDatepicker, i5.MatDatepickerInput, i5.MatDatepickerToggle, i6.InfoTranslatePipe], encapsulation: 2 });
|
|
122
153
|
}
|
|
123
154
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoDateMonthComponent, [{
|
|
124
155
|
type: Component,
|
|
@@ -130,7 +161,7 @@ export class InfoDateMonthComponent {
|
|
|
130
161
|
{ provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },
|
|
131
162
|
{ provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },
|
|
132
163
|
{ provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_MONTH_FORMATS },
|
|
133
|
-
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }], template: "<mat-form-field>\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\" #inputDate >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</mat-form-field>
|
|
164
|
+
{ provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }], template: "<mat-form-field *ngIf=\"!button\">\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\" #inputDate >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</mat-form-field>\r\n\r\n<ng-container *ngIf=\"button\">\r\n <input class=\"mat-button\" type=\"button\" (click)=\"datepicker.open()\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" [matDatepicker]=\"datepicker\" #inputDate>\r\n\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</ng-container>" }]
|
|
134
165
|
}], null, { placeholder: [{
|
|
135
166
|
type: Input
|
|
136
167
|
}], disabled: [{
|
|
@@ -141,8 +172,10 @@ export class InfoDateMonthComponent {
|
|
|
141
172
|
type: Input
|
|
142
173
|
}], minDate: [{
|
|
143
174
|
type: Input
|
|
175
|
+
}], button: [{
|
|
176
|
+
type: Input
|
|
144
177
|
}], input: [{
|
|
145
178
|
type: ViewChild,
|
|
146
179
|
args: ['inputDate', { static: false }]
|
|
147
180
|
}] }); })();
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tb250aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2RhdGUtbW9udGgvZGF0ZS1tb250aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2RhdGUtbW9udGgvZGF0ZS1tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9ELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7QUFFNUIsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDcEMsS0FBSyxFQUFFO1FBQ0gsU0FBUyxFQUFFLFNBQVM7S0FDdkI7SUFDRCxPQUFPLEVBQUU7UUFDTCxTQUFTLEVBQUUsU0FBUztRQUNwQixjQUFjLEVBQUUsVUFBVTtRQUMxQixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2xDO0NBQ0osQ0FBQztBQWVGLE1BQU0sT0FBTyxzQkFBc0I7SUFibkM7UUFnQmEsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVks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QUMsMEtBQWtCLGVBQUEsbUNBQXNDLENBQUEsSUFBeEQ7WUFBMEQsaUJBQWlCLEVBQUE7OztZQUp4SixlQUF1QztZQUF2QyxtRUFBdUMsMEJBQUEsMEJBQUEsMEJBQUEsb0JBQUEsc0JBQUE7WUFHdEIsZUFBa0I7WUFBbEIseUJBQWtCOzs7dUZEK0IxQyxzQkFBc0I7Y0FibEMsU0FBUzsyQkFDSSxpQkFBaUIsYUFFaEIsQ0FBQzt3QkFDUixPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSx1QkFBdUIsRUFBQzt3QkFDckQsS0FBSyxFQUFFLElBQUk7cUJBQ2Q7b0JBQ0QsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7b0JBQy9DLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUU7b0JBQzlFLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSx3QkFBd0IsRUFBRTtvQkFDakUsRUFBRSxPQUFPLEVBQUUsK0JBQStCLEVBQUUsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBSWhFLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLGlCQUFpQjtrQkFBekIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSztZQUVxQyxLQUFLO2tCQUEvQyxTQUFTO21CQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBNQVRfREFURV9MT0NBTEUsIERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcclxuaW1wb3J0IHsgTW9tZW50RGF0ZUFkYXB0ZXIsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXJcIjtcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBjcmVhdGVUZXh0TWFza0lucHV0RWxlbWVudCB9IGZyb20gXCJ0ZXh0LW1hc2stY29yZS9kaXN0L3RleHRNYXNrQ29yZVwiO1xyXG5pbXBvcnQgeyBjcmVhdGVBdXRvQ29ycmVjdGVkRGF0ZVBpcGUgfSBmcm9tIFwidGV4dC1tYXNrLWFkZG9uc1wiO1xyXG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tIFwibW9tZW50XCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5cclxuZXhwb3J0IGNvbnN0IFBUX0JSX0RBVEVfTU9OVEhfRk9STUFUUyA9IHtcclxuICAgIHBhcnNlOiB7XHJcbiAgICAgICAgZGF0ZUlucHV0OiAnTU0vWVlZWScsXHJcbiAgICB9LFxyXG4gICAgZGlzcGxheToge1xyXG4gICAgICAgIGRhdGVJbnB1dDogJ01NL1lZWVknLFxyXG4gICAgICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gICAgICAgIGRhdGVBMTF5TGFiZWw6ICdMTCcsXHJcbiAgICAgICAgbW9udGhZZWFyQTExeUxhYmVsOiAnTU1NTSBZWVlZJyxcclxuICAgIH0sXHJcbn07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnaW5mby1kYXRlLW1vbnRoJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlLW1vbnRoLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHByb3ZpZGVyczogW3tcclxuICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmZvRGF0ZU1vbnRoQ29tcG9uZW50KSxcclxuICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHsgcHJvdmlkZTogTUFUX0RBVEVfTE9DQUxFLCB1c2VWYWx1ZTogJ3B0LUJSJyB9LFxyXG4gICAgeyBwcm92aWRlOiBEYXRlQWRhcHRlciwgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLCBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFXSB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogUFRfQlJfREFURV9NT05USF9GT1JNQVRTIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIHVzZVZhbHVlOiB7IHVzZVV0YzogdHJ1ZSB9IH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvRGF0ZU1vbnRoQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGNoYW5nZW9ubHlvbm1vbnRoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBtaW5EYXRlOiBEYXRlID0gbmV3IERhdGUoMTgwMCwgMCwgMSk7XHJcbiAgICBcclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KSBpbnB1dDtcclxuXHJcbiAgICBkYXRlVmFsdWU6IGFueTtcclxuICAgIGRhdGVNYXNrOiBhbnk7XHJcbiAgICBvbkNoYW5nZTtcclxuICAgIG9uVG91Y2hlZDtcclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblxyXG4gICAgICAgIGxldCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIG1hc2s6IFsvXFxkLywgL1xcZC8sICcvJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC9dLFxyXG4gICAgICAgICAgICBndWlkZTogdHJ1ZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiAnXycsXHJcbiAgICAgICAgICAgIHBpcGU6IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZShQVF9CUl9EQVRFX01PTlRIX0ZPUk1BVFMucGFyc2UuZGF0ZUlucHV0LnRvTG93ZXJDYXNlKCkpLFxyXG4gICAgICAgICAgICBtb2RlbENsZWFuOiB0cnVlLFxyXG4gICAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRlTWFzayA9IGNyZWF0ZVRleHRNYXNrSW5wdXRFbGVtZW50KFxyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHsgaW5wdXRFbGVtZW50OiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQgfSwgY29uZmlnKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbnB1dERhdGUodmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRhdGVNYXNrLnVwZGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VWYWx1ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlmIChtb21lbnQodGhpcy5kYXRlVmFsdWUpLmlzQmVmb3JlKG1vbWVudCh0aGlzLm1pbkRhdGUpKSlcclxuICAgICAgICAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSB0aGlzLm1pbkRhdGU7XHJcblxyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZGF0ZVZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgICAgICAgICB2YWx1ZS5zZXRNaW51dGVzKHZhbHVlLmdldE1pbnV0ZXMoKSArIHZhbHVlLmdldFRpbWV6b25lT2Zmc2V0KCkpO1xyXG4gICAgICAgICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlLmdldEZ1bGxZZWFyKCksIHZhbHVlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGNob3NlblllYXJIYW5kbGVyKHZhbHVlOiBNb21lbnQpIHtcclxuICAgICAgICBpZiAodGhpcy5jaGFuZ2Vvbmx5b25tb250aClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGxldCBhdXggPSBuZXcgRGF0ZSh2YWx1ZS55ZWFyKCksIG5ldyBEYXRlKHRoaXMuZGF0ZVZhbHVlKS5nZXRNb250aCgpLCAxKTtcclxuICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IGF1eDtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjaG9zZW5Nb250aEhhbmRsZXIodmFsdWU6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxNb21lbnQ+KSB7XHJcbiAgICAgICAgbGV0IGF1eCA9IG5ldyBEYXRlKHZhbHVlLnllYXIoKSwgdmFsdWUubW9udGgoKSwgMSk7XHJcbiAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSBhdXg7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgICAgICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBvbktleVByZXNzKGUpe1xyXG4gICAgICAgIGlmIChlLmtleUNvZGUgPT0gMTMpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG59IiwiPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgPGlucHV0IG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwiZGF0ZVZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW21pbl09XCJtaW5EYXRlXCJcclxuICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJvbkNoYW5nZVZhbHVlKClcIiAoaW5wdXQpPVwib25JbnB1dERhdGUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIiAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCIgKGJsdXIpPVwib25DaGFuZ2VWYWx1ZSgpXCIgW21hdERhdGVwaWNrZXJdPVwiZGF0ZXBpY2tlclwiICNpbnB1dERhdGUgPlxyXG5cclxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwiZGF0ZXBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyICNkYXRlcGlja2VyIHN0YXJ0Vmlldz1cIm11bHRpLXllYXJcIiAoeWVhclNlbGVjdGVkKT1cImNob3NlblllYXJIYW5kbGVyKCRldmVudClcIiAobW9udGhTZWxlY3RlZCk9XCJjaG9zZW5Nb250aEhhbmRsZXIoJGV2ZW50LCBkYXRlcGlja2VyKVwiPjwvbWF0LWRhdGVwaWNrZXI+XHJcbjwvbWF0LWZvcm0tZmllbGQ+ICAgIl19
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1tb250aC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2RhdGUtbW9udGgvZGF0ZS1tb250aC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2RhdGUtbW9udGgvZGF0ZS1tb250aC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRXRHLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRS9ELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7Ozs7Ozs7SUNSNUIsc0NBQWdDLGtCQUFBO0lBQzRCLGdQQUF1QiwwS0FDMUQsZUFBQSxzQkFBZSxDQUFBLElBRDJDLHNLQUNoQyxlQUFBLHVDQUFnQyxDQUFBLElBREEsNEtBQ2MsZUFBQSx5QkFBa0IsQ0FBQSxJQURoQyw4SkFDMEMsZUFBQSxzQkFBZSxDQUFBLElBRHpEOztJQUEvRSxpQkFDbUw7SUFFbkwsMkNBQTRFO0lBQzVFLDRDQUF1SjtJQUFwRywyTUFBZ0IsZUFBQSxpQ0FBeUIsQ0FBQSxJQUFDLCtOQUFrQixlQUFBLHVDQUFzQyxDQUFBLElBQXhEO0lBQTBE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QUFJLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRTtvQkFDOUUsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLHdCQUF3QixFQUFFO29CQUNqRSxFQUFFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFJaEUsV0FBVztrQkFBbkIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csaUJBQWlCO2tCQUF6QixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBRXFDLEtBQUs7a0JBQS9DLFNBQVM7bUJBQUMsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1BVF9EQVRFX0xPQ0FMRSwgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZVwiO1xyXG5pbXBvcnQgeyBNb21lbnREYXRlQWRhcHRlciwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlclwiO1xyXG5pbXBvcnQgeyBNYXREYXRlcGlja2VyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IGNyZWF0ZVRleHRNYXNrSW5wdXRFbGVtZW50IH0gZnJvbSBcInRleHQtbWFzay1jb3JlL2Rpc3QvdGV4dE1hc2tDb3JlXCI7XHJcbmltcG9ydCB7IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZSB9IGZyb20gXCJ0ZXh0LW1hc2stYWRkb25zXCI7XHJcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gXCJtb21lbnRcIjtcclxuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XHJcblxyXG5leHBvcnQgY29uc3QgUFRfQlJfREFURV9NT05USF9GT1JNQVRTID0ge1xyXG4gICAgcGFyc2U6IHtcclxuICAgICAgICBkYXRlSW5wdXQ6ICdNTS9ZWVlZJyxcclxuICAgIH0sXHJcbiAgICBkaXNwbGF5OiB7XHJcbiAgICAgICAgZGF0ZUlucHV0OiAnTU0vWVlZWScsXHJcbiAgICAgICAgbW9udGhZZWFyTGFiZWw6ICdNTU0gWVlZWScsXHJcbiAgICAgICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgICAgICBtb250aFllYXJBMTF5TGFiZWw6ICdNTU1NIFlZWVknLFxyXG4gICAgfSxcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLWRhdGUtbW9udGgnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtbW9udGguY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgcHJvdmlkZXJzOiBbe1xyXG4gICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEluZm9EYXRlTW9udGhDb21wb25lbnQpLFxyXG4gICAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9MT0NBTEUsIHVzZVZhbHVlOiAncHQtQlInIH0sXHJcbiAgICB7IHByb3ZpZGU6IERhdGVBZGFwdGVyLCB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIsIGRlcHM6IFtNQVRfREFURV9MT0NBTEVdIH0sXHJcbiAgICB7IHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBQVF9CUl9EQVRFX01PTlRIX0ZPUk1BVFMgfSxcclxuICAgIHsgcHJvdmlkZTogTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUywgdXNlVmFsdWU6IHsgdXNlVXRjOiB0cnVlIH0gfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9EYXRlTW9udGhDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgY2hhbmdlb25seW9ubW9udGg6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIG1pbkRhdGU6IERhdGUgPSBuZXcgRGF0ZSgxODAwLCAwLCAxKTtcclxuICAgIEBJbnB1dCgpIGJ1dHRvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0RGF0ZScsIHsgc3RhdGljOiBmYWxzZSB9KSBpbnB1dDtcclxuXHJcbiAgICBkYXRlVmFsdWU6IGFueTtcclxuICAgIGRhdGVNYXNrOiBhbnk7XHJcbiAgICBvbkNoYW5nZTtcclxuICAgIG9uVG91Y2hlZDtcclxuXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcblxyXG4gICAgICAgIGxldCBjb25maWcgPSB7XHJcbiAgICAgICAgICAgIG1hc2s6IFsvXFxkLywgL1xcZC8sICcvJywgL1xcZC8sIC9cXGQvLCAvXFxkLywgL1xcZC9dLFxyXG4gICAgICAgICAgICBndWlkZTogdHJ1ZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXJDaGFyOiAnXycsXHJcbiAgICAgICAgICAgIHBpcGU6IGNyZWF0ZUF1dG9Db3JyZWN0ZWREYXRlUGlwZShQVF9CUl9EQVRFX01PTlRIX0ZPUk1BVFMucGFyc2UuZGF0ZUlucHV0LnRvTG93ZXJDYXNlKCkpLFxyXG4gICAgICAgICAgICBtb2RlbENsZWFuOiB0cnVlLFxyXG4gICAgICAgICAgICBrZWVwQ2hhclBvc2l0aW9uczogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRlTWFzayA9IGNyZWF0ZVRleHRNYXNrSW5wdXRFbGVtZW50KFxyXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHsgaW5wdXRFbGVtZW50OiB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQgfSwgY29uZmlnKVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgb25JbnB1dERhdGUodmFsdWUpIHtcclxuICAgICAgICB0aGlzLmRhdGVNYXNrLnVwZGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25DaGFuZ2VWYWx1ZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5vbkNoYW5nZSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlmIChtb21lbnQodGhpcy5kYXRlVmFsdWUpLmlzQmVmb3JlKG1vbWVudCh0aGlzLm1pbkRhdGUpKSlcclxuICAgICAgICAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSB0aGlzLm1pbkRhdGU7XHJcblxyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZGF0ZVZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IG51bGw7XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHZhbHVlID0gbmV3IERhdGUodmFsdWUpO1xyXG4gICAgICAgICAgICB2YWx1ZS5zZXRNaW51dGVzKHZhbHVlLmdldE1pbnV0ZXMoKSArIHZhbHVlLmdldFRpbWV6b25lT2Zmc2V0KCkpO1xyXG4gICAgICAgICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlLmdldEZ1bGxZZWFyKCksIHZhbHVlLmdldE1vbnRoKCksIDEpO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgfVxyXG5cclxuICAgIGNob3NlblllYXJIYW5kbGVyKHZhbHVlOiBNb21lbnQpIHtcclxuICAgICAgICBpZiAodGhpcy5jaGFuZ2Vvbmx5b25tb250aClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGxldCBhdXggPSBuZXcgRGF0ZSh2YWx1ZS55ZWFyKCksIG5ldyBEYXRlKHRoaXMuZGF0ZVZhbHVlKS5nZXRNb250aCgpLCAxKTtcclxuICAgICAgICB0aGlzLmRhdGVWYWx1ZSA9IGF1eDtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlVmFsdWUoKTtcclxuICAgIH1cclxuXHJcbiAgICBjaG9zZW5Nb250aEhhbmRsZXIodmFsdWU6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxNb21lbnQ+KSB7XHJcbiAgICAgICAgbGV0IGF1eCA9IG5ldyBEYXRlKHZhbHVlLnllYXIoKSwgdmFsdWUubW9udGgoKSwgMSk7XHJcbiAgICAgICAgdGhpcy5kYXRlVmFsdWUgPSBhdXg7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgICAgICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBvbktleVByZXNzKGUpe1xyXG4gICAgICAgIGlmIChlLmtleUNvZGUgPT0gMTMpXHJcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VWYWx1ZSgpO1xyXG4gICAgfVxyXG59IiwiPG1hdC1mb3JtLWZpZWxkICpuZ0lmPVwiIWJ1dHRvblwiPlxyXG4gICAgPGlucHV0IG1hdElucHV0IFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlciB8IHRyYW5zbGF0ZVwiIFsobmdNb2RlbCldPVwiZGF0ZVZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW21pbl09XCJtaW5EYXRlXCJcclxuICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJvbkNoYW5nZVZhbHVlKClcIiAoaW5wdXQpPVwib25JbnB1dERhdGUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIiAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCIgKGJsdXIpPVwib25DaGFuZ2VWYWx1ZSgpXCIgW21hdERhdGVwaWNrZXJdPVwiZGF0ZXBpY2tlclwiICNpbnB1dERhdGUgPlxyXG5cclxuICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwiZGF0ZXBpY2tlclwiPjwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgPG1hdC1kYXRlcGlja2VyICNkYXRlcGlja2VyIHN0YXJ0Vmlldz1cIm11bHRpLXllYXJcIiAoeWVhclNlbGVjdGVkKT1cImNob3NlblllYXJIYW5kbGVyKCRldmVudClcIiAobW9udGhTZWxlY3RlZCk9XCJjaG9zZW5Nb250aEhhbmRsZXIoJGV2ZW50LCBkYXRlcGlja2VyKVwiPjwvbWF0LWRhdGVwaWNrZXI+XHJcbjwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiYnV0dG9uXCI+XHJcbiAgICA8aW5wdXQgY2xhc3M9XCJtYXQtYnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJkYXRlcGlja2VyLm9wZW4oKVwiIFsobmdNb2RlbCldPVwiZGF0ZVZhbHVlXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW21pbl09XCJtaW5EYXRlXCJcclxuICAgICAgICAgICAoZGF0ZUNoYW5nZSk9XCJvbkNoYW5nZVZhbHVlKClcIiAoaW5wdXQpPVwib25JbnB1dERhdGUoJGV2ZW50LnRhcmdldC52YWx1ZSlcIiBbbWF0RGF0ZXBpY2tlcl09XCJkYXRlcGlja2VyXCIgI2lucHV0RGF0ZT5cclxuXHJcbiAgICA8bWF0LWRhdGVwaWNrZXIgI2RhdGVwaWNrZXIgc3RhcnRWaWV3PVwibXVsdGkteWVhclwiICh5ZWFyU2VsZWN0ZWQpPVwiY2hvc2VuWWVhckhhbmRsZXIoJGV2ZW50KVwiIChtb250aFNlbGVjdGVkKT1cImNob3Nlbk1vbnRoSGFuZGxlcigkZXZlbnQsIGRhdGVwaWNrZXIpXCI+PC9tYXQtZGF0ZXBpY2tlcj5cclxuPC9uZy1jb250YWluZXI+Il19
|
|
@@ -8,6 +8,11 @@ import * as i2 from "@angular/forms";
|
|
|
8
8
|
import * as i3 from "@kolkov/angular-editor";
|
|
9
9
|
const _c0 = ["editor"];
|
|
10
10
|
export class InfoEditorComponent {
|
|
11
|
+
_sanitizer;
|
|
12
|
+
editor;
|
|
13
|
+
required = false;
|
|
14
|
+
enabledhtmlmode = false;
|
|
15
|
+
sanitize = true;
|
|
11
16
|
get disabled() { return !(this.editorConfig || {}).editable; }
|
|
12
17
|
set disabled(value) { this.editorConfig.editable = !value; }
|
|
13
18
|
get height() { return (this.editorConfig || {}).height; }
|
|
@@ -20,35 +25,34 @@ export class InfoEditorComponent {
|
|
|
20
25
|
set width(value) { this.editorConfig.width = value || 'auto'; }
|
|
21
26
|
get minwidth() { return (this.editorConfig || {}).minWidth; }
|
|
22
27
|
set minwidth(value) { this.editorConfig.minWidth = value || '0'; }
|
|
28
|
+
value = '';
|
|
29
|
+
onChange;
|
|
30
|
+
onTouched;
|
|
31
|
+
focused = false;
|
|
32
|
+
id = null;
|
|
33
|
+
editorConfig = {
|
|
34
|
+
editable: true,
|
|
35
|
+
spellcheck: true,
|
|
36
|
+
height: 'auto',
|
|
37
|
+
minHeight: '0',
|
|
38
|
+
maxHeight: 'auto',
|
|
39
|
+
width: 'auto',
|
|
40
|
+
minWidth: '0',
|
|
41
|
+
translate: 'yes',
|
|
42
|
+
enableToolbar: true,
|
|
43
|
+
showToolbar: true,
|
|
44
|
+
defaultParagraphSeparator: '',
|
|
45
|
+
toolbarPosition: 'top',
|
|
46
|
+
sanitize: false,
|
|
47
|
+
fonts: [
|
|
48
|
+
{ class: 'arial', name: 'Arial' },
|
|
49
|
+
{ class: 'times-new-roman', name: 'Times New Roman' },
|
|
50
|
+
{ class: 'calibri', name: 'Calibri' },
|
|
51
|
+
{ class: 'comic-sans-ms', name: 'Comic Sans MS' }
|
|
52
|
+
],
|
|
53
|
+
};
|
|
23
54
|
constructor(_sanitizer) {
|
|
24
55
|
this._sanitizer = _sanitizer;
|
|
25
|
-
this.required = false;
|
|
26
|
-
this.enabledhtmlmode = false;
|
|
27
|
-
this.sanitize = true;
|
|
28
|
-
this.value = '';
|
|
29
|
-
this.focused = false;
|
|
30
|
-
this.id = null;
|
|
31
|
-
this.editorConfig = {
|
|
32
|
-
editable: true,
|
|
33
|
-
spellcheck: true,
|
|
34
|
-
height: 'auto',
|
|
35
|
-
minHeight: '0',
|
|
36
|
-
maxHeight: 'auto',
|
|
37
|
-
width: 'auto',
|
|
38
|
-
minWidth: '0',
|
|
39
|
-
translate: 'yes',
|
|
40
|
-
enableToolbar: true,
|
|
41
|
-
showToolbar: true,
|
|
42
|
-
defaultParagraphSeparator: '',
|
|
43
|
-
toolbarPosition: 'top',
|
|
44
|
-
sanitize: false,
|
|
45
|
-
fonts: [
|
|
46
|
-
{ class: 'arial', name: 'Arial' },
|
|
47
|
-
{ class: 'times-new-roman', name: 'Times New Roman' },
|
|
48
|
-
{ class: 'calibri', name: 'Calibri' },
|
|
49
|
-
{ class: 'comic-sans-ms', name: 'Comic Sans MS' }
|
|
50
|
-
],
|
|
51
|
-
};
|
|
52
56
|
}
|
|
53
57
|
ngOnInit() {
|
|
54
58
|
this.id = `editor-${this.getGuid()}`;
|
|
@@ -84,8 +88,8 @@ export class InfoEditorComponent {
|
|
|
84
88
|
setDisabledState(isDisabled) {
|
|
85
89
|
this.disabled = isDisabled;
|
|
86
90
|
}
|
|
87
|
-
/** @nocollapse */ static
|
|
88
|
-
/** @nocollapse */ static
|
|
91
|
+
/** @nocollapse */ static ɵfac = function InfoEditorComponent_Factory(t) { return new (t || InfoEditorComponent)(i0.ɵɵdirectiveInject(i1.DomSanitizer)); };
|
|
92
|
+
/** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoEditorComponent, selectors: [["info-editor"]], viewQuery: function InfoEditorComponent_Query(rf, ctx) { if (rf & 1) {
|
|
89
93
|
i0.ɵɵviewQuery(_c0, 5);
|
|
90
94
|
} if (rf & 2) {
|
|
91
95
|
let _t;
|
|
@@ -101,7 +105,7 @@ export class InfoEditorComponent {
|
|
|
101
105
|
} if (rf & 2) {
|
|
102
106
|
i0.ɵɵproperty("ngModel", ctx.value)("config", ctx.editorConfig)("required", ctx.required);
|
|
103
107
|
i0.ɵɵattribute("id", ctx.id)("focused", ctx.focused)("htmlmode", ctx.enabledhtmlmode);
|
|
104
|
-
} }, dependencies: [i2.NgControlStatus, i2.RequiredValidator, i2.NgModel, i3.AngularEditorComponent], styles: ["[_nghost-%COMP%] [htmlmode=false] .angular-editor-toolbar-set #toggleEditorMode-{display:none}[_nghost-%COMP%] .angular-editor-toolbar-set #insertVideo-{display:none}[_nghost-%COMP%] .angular-editor-textarea{outline:none;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:solid 1px!important}[_nghost-%COMP%] .angular-editor-textarea[contenteditable=false]{border-bottom:dotted 1.5px lightgray!important}[_nghost-%COMP%] .angular-editor-wrapper:after{content:\"\";position:absolute;left:0;width:100%;height:2px;bottom:0;transform-origin:50%;transform:scaleX(.5);opacity:0;background-color:#000;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}[_nghost-%COMP%] [focused=true] .angular-editor-wrapper:after{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}[_nghost-%COMP%] .ng-touched.ng-invalid .angular-editor-wrapper:after{background-color:#f44336!important}[_nghost-%COMP%] .ng-touched.ng-invalid .angular-editor-textarea[contenteditable=true]{border-bottom-color:#f44336!important}"] });
|
|
108
|
+
} }, dependencies: [i2.NgControlStatus, i2.RequiredValidator, i2.NgModel, i3.AngularEditorComponent], styles: ["[_nghost-%COMP%] [htmlmode=false] .angular-editor-toolbar-set #toggleEditorMode-{display:none}[_nghost-%COMP%] .angular-editor-toolbar-set #insertVideo-{display:none}[_nghost-%COMP%] .angular-editor-textarea{outline:none;border-top:none!important;border-left:none!important;border-right:none!important;border-bottom:solid 1px!important}[_nghost-%COMP%] .angular-editor-textarea[contenteditable=false]{border-bottom:dotted 1.5px lightgray!important}[_nghost-%COMP%] .angular-editor-wrapper:after{content:\"\";position:absolute;left:0;width:100%;height:2px;bottom:0;transform-origin:50%;transform:scaleX(.5);opacity:0;background-color:#000;transition:background-color .3s cubic-bezier(.55,0,.55,.2)}[_nghost-%COMP%] [focused=true] .angular-editor-wrapper:after{opacity:1;transform:scaleX(1);transition:transform .3s cubic-bezier(.25,.8,.25,1),opacity .1s cubic-bezier(.25,.8,.25,1),background-color .3s cubic-bezier(.25,.8,.25,1)}[_nghost-%COMP%] .ng-touched.ng-invalid .angular-editor-wrapper:after{background-color:#f44336!important}[_nghost-%COMP%] .ng-touched.ng-invalid .angular-editor-textarea[contenteditable=true]{border-bottom-color:#f44336!important}"] });
|
|
105
109
|
}
|
|
106
110
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoEditorComponent, [{
|
|
107
111
|
type: Component,
|
|
@@ -132,4 +136,4 @@ export class InfoEditorComponent {
|
|
|
132
136
|
}], minwidth: [{
|
|
133
137
|
type: Input
|
|
134
138
|
}] }); })();
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQTZDLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVkzRyxNQUFNLE9BQU8sbUJBQW1CO0lBUTlCLElBQ0ksUUFBUSxLQUFLLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUM5RCxJQUFJLFFBQVEsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBRTVELElBQ0ksTUFBTSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDekQsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBRWpFLElBQ0ksU0FBUyxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJ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Zm9yd2FyZFJlZiwgSW5wdXQsIFNlY3VyaXR5Q29udGV4dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JDb21wb25lbnQsIEFuZ3VsYXJFZGl0b3JDb25maWcsIEFuZ3VsYXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnQGtvbGtvdi9hbmd1bGFyLWVkaXRvcic7XHJcbiBcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbmZvLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmZvRWRpdG9yQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9FZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcicpIGVkaXRvcjogQW5ndWxhckVkaXRvckNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbmFibGVkaHRtbG1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzYW5pdGl6ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGRpc2FibGVkKCkgeyByZXR1cm4gISh0aGlzLmVkaXRvckNvbmZpZyB8fCB7fSkuZWRpdGFibGU7IH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWUpIHsgdGhpcy5lZGl0b3JDb25maWcuZWRpdGFibGUgPSAhdmFsdWU7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgaGVpZ2h0KCkgeyByZXR1cm4gKHRoaXMuZWRpdG9yQ29uZmlnIHx8IHt9KS5oZWlnaHQ7IH1cclxuICBzZXQgaGVpZ2h0KHZhbHVlKSB7IHRoaXMuZWRpdG9yQ29uZmlnLmhlaWdodCA9IHZhbHVlIHx8ICdhdXRvJzsgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBtaW5oZWlnaHQoKSB7IHJldHVybiAodGhpcy5lZGl0b3JDb25maWcgfHwge30pLm1pbkhlaWdodDsgfVxyXG4gIHNldCBtaW5oZWlnaHQodmFsdWUpIHsgdGhpcy5lZGl0b3JDb25maWcubWluSGVpZ2h0ID0gdmFsdWUgfHwgJzAnOyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1heGhlaWdodCgpIHsgcmV0dXJuICh0aGlzLmVkaXRvckNvbmZpZyB8fCB7fSkubWF4SGVpZ2h0OyB9XHJcbiAgc2V0IG1heGhlaWdodCh2YWx1ZSkgeyB0aGlzLmVkaXRvckNvbmZpZy5tYXhIZWlnaHQgPSB2YWx1ZSB8fCAnYXV0byc7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgd2lkdGgoKSB7IHJldHVybiAodGhpcy5lZGl0b3JDb25maWcgfHwge30pLndpZHRoOyB9XHJcbiAgc2V0IHdpZHRoKHZhbHVlKSB7IHRoaXMuZWRpdG9yQ29uZmlnLndpZHRoID0gdmFsdWUgfHwgJ2F1dG8nOyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1pbndpZHRoKCkgeyByZXR1cm4gKHRoaXMuZWRpdG9yQ29uZmlnIHx8IHt9KS5taW5XaWR0aDsgfVxyXG4gIHNldCBtaW53aWR0aCh2YWx1ZSkgeyB0aGlzLmVkaXRvckNvbmZpZy5taW5XaWR0aCA9IHZhbHVlIHx8ICcwJzsgfVxyXG5cclxuICB2YWx1ZTogYW55ID0gJyc7XHJcbiAgXHJcbiAgb25DaGFuZ2U6IGFueTtcclxuICBvblRvdWNoZWQ6IGFueTtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgaWQgPSBudWxsO1xyXG5cclxuICBlZGl0b3JDb25maWc6IEFuZ3VsYXJFZGl0b3JDb25maWcgPSB7XHJcbiAgICBlZGl0YWJsZTogdHJ1ZSxcclxuICAgIHNwZWxsY2hlY2s6IHRydWUsXHJcbiAgICBoZWlnaHQ6ICdhdXRvJyxcclxuICAgIG1pbkhlaWdodDogJzAnLFxyXG4gICAgbWF4SGVpZ2h0OiAnYXV0bycsXHJcbiAgICB3aWR0aDogJ2F1dG8nLFxyXG4gICAgbWluV2lkdGg6ICcwJyxcclxuICAgIHRyYW5zbGF0ZTogJ3llcycsXHJcbiAgICBlbmFibGVUb29sYmFyOiB0cnVlLFxyXG4gICAgc2hvd1Rvb2xiYXI6IHRydWUsXHJcbiAgICBkZWZhdWx0UGFyYWdyYXBoU2VwYXJhdG9yOiAnJyxcclxuICAgIHRvb2xiYXJQb3NpdGlvbjogJ3RvcCcsXHJcbiAgICBzYW5pdGl6ZTogZmFsc2UsXHJcbiAgICBmb250czogW1xyXG4gICAgICB7Y2xhc3M6ICdhcmlhbCcsIG5hbWU6ICdBcmlhbCd9LFxyXG4gICAgICB7Y2xhc3M6ICd0aW1lcy1uZXctcm9tYW4nLCBuYW1lOiAnVGltZXMgTmV3IFJvbWFuJ30sXHJcbiAgICAgIHtjbGFzczogJ2NhbGlicmknLCBuYW1lOiAnQ2FsaWJyaSd9LFxyXG4gICAgICB7Y2xhc3M6ICdjb21pYy1zYW5zLW1zJywgbmFtZTogJ0NvbWljIFNhbnMgTVMnfVxyXG4gICAgXSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlkID0gYGVkaXRvci0ke3RoaXMuZ2V0R3VpZCgpfWA7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5pZH0gLmFuZ3VsYXItZWRpdG9yLXRleHRhcmVhYCkuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiBfdGhpcy5mb2N1c2VkID0gdHJ1ZSk7XHJcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLmlkfSAuYW5ndWxhci1lZGl0b3ItdGV4dGFyZWFgKS5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gX3RoaXMuZm9jdXNlZCA9IGZhbHNlKTtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuaWR9IC5hbmd1bGFyLWVkaXRvci10ZXh0YXJlYWApLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgKCkgPT4gX3RoaXMuZWRpdG9yLmVkaXRvclRvb2xiYXJbJ2VkaXRvclNlcnZpY2UnXS5zYXZlU2VsZWN0aW9uKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRHdWlkKCkgOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24oYykge1xyXG4gICAgICAgIGNvbnN0IHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLCB2ID0gYyA9PT0gJ3gnID8gciA6ICggciAmIDB4MyB8IDB4OCApO1xyXG4gICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VWYWx1ZSgpIHtcclxuICAgIGlmICh0aGlzLnNhbml0aXplKVxyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5fc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB0aGlzLnZhbHVlKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpXHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUobW9kZWxWYWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5zYW5pdGl6ZSA/IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgbW9kZWxWYWx1ZSkgOiBtb2RlbFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgfVxyXG4gIFxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICBcclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBcclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbiAgXHJcbn0iLCI8YW5ndWxhci1lZGl0b3IgW2F0dHIuaWRdPVwiaWRcIiBbYXR0ci5mb2N1c2VkXT1cImZvY3VzZWRcIiBbYXR0ci5odG1sbW9kZV09XCJlbmFibGVkaHRtbG1vZGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgbmFtZT1cImVkaXRvclwiIFtjb25maWddPVwiZWRpdG9yQ29uZmlnXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VWYWx1ZSgpXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgI2VkaXRvcj48L2FuZ3VsYXItZWRpdG9yPlxyXG4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvY29udHJvbHMvZWRpdG9yL2VkaXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2NvbnRyb2xzL2VkaXRvci9lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsc0JBQXNCLEVBQTZDLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQVkzRyxNQUFNLE9BQU8sbUJBQW1CO0lBNkRWO0lBM0RDLE1BQU0sQ0FBeUI7SUFFM0MsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixlQUFlLEdBQVksS0FBSyxDQUFDO0lBQ2pDLFFBQVEsR0FBWSxJQUFJLENBQUM7SUFFbEMsSUFDSSxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzlELElBQUksUUFBUSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFNUQsSUFDSSxNQUFNLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUN6RCxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFD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SyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5wdXQsIFNlY3VyaXR5Q29udGV4dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3JDb21wb25lbnQsIEFuZ3VsYXJFZGl0b3JDb25maWcsIEFuZ3VsYXJFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnQGtvbGtvdi9hbmd1bGFyLWVkaXRvcic7XHJcbiBcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpbmZvLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2VkaXRvci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmZvRWRpdG9yQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlXHJcbiAgfV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9FZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VkaXRvcicpIGVkaXRvcjogQW5ndWxhckVkaXRvckNvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBlbmFibGVkaHRtbG1vZGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBzYW5pdGl6ZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IGRpc2FibGVkKCkgeyByZXR1cm4gISh0aGlzLmVkaXRvckNvbmZpZyB8fCB7fSkuZWRpdGFibGU7IH1cclxuICBzZXQgZGlzYWJsZWQodmFsdWUpIHsgdGhpcy5lZGl0b3JDb25maWcuZWRpdGFibGUgPSAhdmFsdWU7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgaGVpZ2h0KCkgeyByZXR1cm4gKHRoaXMuZWRpdG9yQ29uZmlnIHx8IHt9KS5oZWlnaHQ7IH1cclxuICBzZXQgaGVpZ2h0KHZhbHVlKSB7IHRoaXMuZWRpdG9yQ29uZmlnLmhlaWdodCA9IHZhbHVlIHx8ICdhdXRvJzsgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCBtaW5oZWlnaHQoKSB7IHJldHVybiAodGhpcy5lZGl0b3JDb25maWcgfHwge30pLm1pbkhlaWdodDsgfVxyXG4gIHNldCBtaW5oZWlnaHQodmFsdWUpIHsgdGhpcy5lZGl0b3JDb25maWcubWluSGVpZ2h0ID0gdmFsdWUgfHwgJzAnOyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1heGhlaWdodCgpIHsgcmV0dXJuICh0aGlzLmVkaXRvckNvbmZpZyB8fCB7fSkubWF4SGVpZ2h0OyB9XHJcbiAgc2V0IG1heGhlaWdodCh2YWx1ZSkgeyB0aGlzLmVkaXRvckNvbmZpZy5tYXhIZWlnaHQgPSB2YWx1ZSB8fCAnYXV0byc7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBnZXQgd2lkdGgoKSB7IHJldHVybiAodGhpcy5lZGl0b3JDb25maWcgfHwge30pLndpZHRoOyB9XHJcbiAgc2V0IHdpZHRoKHZhbHVlKSB7IHRoaXMuZWRpdG9yQ29uZmlnLndpZHRoID0gdmFsdWUgfHwgJ2F1dG8nOyB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZ2V0IG1pbndpZHRoKCkgeyByZXR1cm4gKHRoaXMuZWRpdG9yQ29uZmlnIHx8IHt9KS5taW5XaWR0aDsgfVxyXG4gIHNldCBtaW53aWR0aCh2YWx1ZSkgeyB0aGlzLmVkaXRvckNvbmZpZy5taW5XaWR0aCA9IHZhbHVlIHx8ICcwJzsgfVxyXG5cclxuICB2YWx1ZTogYW55ID0gJyc7XHJcbiAgXHJcbiAgb25DaGFuZ2U6IGFueTtcclxuICBvblRvdWNoZWQ6IGFueTtcclxuICBmb2N1c2VkID0gZmFsc2U7XHJcbiAgaWQgPSBudWxsO1xyXG5cclxuICBlZGl0b3JDb25maWc6IEFuZ3VsYXJFZGl0b3JDb25maWcgPSB7XHJcbiAgICBlZGl0YWJsZTogdHJ1ZSxcclxuICAgIHNwZWxsY2hlY2s6IHRydWUsXHJcbiAgICBoZWlnaHQ6ICdhdXRvJyxcclxuICAgIG1pbkhlaWdodDogJzAnLFxyXG4gICAgbWF4SGVpZ2h0OiAnYXV0bycsXHJcbiAgICB3aWR0aDogJ2F1dG8nLFxyXG4gICAgbWluV2lkdGg6ICcwJyxcclxuICAgIHRyYW5zbGF0ZTogJ3llcycsXHJcbiAgICBlbmFibGVUb29sYmFyOiB0cnVlLFxyXG4gICAgc2hvd1Rvb2xiYXI6IHRydWUsXHJcbiAgICBkZWZhdWx0UGFyYWdyYXBoU2VwYXJhdG9yOiAnJyxcclxuICAgIHRvb2xiYXJQb3NpdGlvbjogJ3RvcCcsXHJcbiAgICBzYW5pdGl6ZTogZmFsc2UsXHJcbiAgICBmb250czogW1xyXG4gICAgICB7Y2xhc3M6ICdhcmlhbCcsIG5hbWU6ICdBcmlhbCd9LFxyXG4gICAgICB7Y2xhc3M6ICd0aW1lcy1uZXctcm9tYW4nLCBuYW1lOiAnVGltZXMgTmV3IFJvbWFuJ30sXHJcbiAgICAgIHtjbGFzczogJ2NhbGlicmknLCBuYW1lOiAnQ2FsaWJyaSd9LFxyXG4gICAgICB7Y2xhc3M6ICdjb21pYy1zYW5zLW1zJywgbmFtZTogJ0NvbWljIFNhbnMgTVMnfVxyXG4gICAgXSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9zYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlkID0gYGVkaXRvci0ke3RoaXMuZ2V0R3VpZCgpfWA7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xyXG4gICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7dGhpcy5pZH0gLmFuZ3VsYXItZWRpdG9yLXRleHRhcmVhYCkuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCAoKSA9PiBfdGhpcy5mb2N1c2VkID0gdHJ1ZSk7XHJcbiAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLmlkfSAuYW5ndWxhci1lZGl0b3ItdGV4dGFyZWFgKS5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4gX3RoaXMuZm9jdXNlZCA9IGZhbHNlKTtcclxuICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuaWR9IC5hbmd1bGFyLWVkaXRvci10ZXh0YXJlYWApLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlb3V0JywgKCkgPT4gX3RoaXMuZWRpdG9yLmVkaXRvclRvb2xiYXJbJ2VkaXRvclNlcnZpY2UnXS5zYXZlU2VsZWN0aW9uKCkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRHdWlkKCkgOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgZnVuY3Rpb24oYykge1xyXG4gICAgICAgIGNvbnN0IHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwLCB2ID0gYyA9PT0gJ3gnID8gciA6ICggciAmIDB4MyB8IDB4OCApO1xyXG4gICAgICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25DaGFuZ2VWYWx1ZSgpIHtcclxuICAgIGlmICh0aGlzLnNhbml0aXplKVxyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5fc2FuaXRpemVyLnNhbml0aXplKFNlY3VyaXR5Q29udGV4dC5IVE1MLCB0aGlzLnZhbHVlKTtcclxuICAgIGlmICh0aGlzLm9uQ2hhbmdlICE9IG51bGwpXHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUobW9kZWxWYWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5zYW5pdGl6ZSA/IHRoaXMuX3Nhbml0aXplci5zYW5pdGl6ZShTZWN1cml0eUNvbnRleHQuSFRNTCwgbW9kZWxWYWx1ZSkgOiBtb2RlbFZhbHVlO1xyXG4gICAgdGhpcy5vbkNoYW5nZVZhbHVlKCk7XHJcbiAgfVxyXG4gIFxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICBcclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuICBcclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcbiAgXHJcbn0iLCI8YW5ndWxhci1lZGl0b3IgW2F0dHIuaWRdPVwiaWRcIiBbYXR0ci5mb2N1c2VkXT1cImZvY3VzZWRcIiBbYXR0ci5odG1sbW9kZV09XCJlbmFibGVkaHRtbG1vZGVcIiBbKG5nTW9kZWwpXT1cInZhbHVlXCIgbmFtZT1cImVkaXRvclwiIFtjb25maWddPVwiZWRpdG9yQ29uZmlnXCIgKG5nTW9kZWxDaGFuZ2UpPVwib25DaGFuZ2VWYWx1ZSgpXCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgI2VkaXRvcj48L2FuZ3VsYXItZWRpdG9yPlxyXG4iXX0=
|