mmhglobal-dynamicform 1.3.13 → 2.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/animations/component-animations.mjs +12 -0
- package/esm2020/lib/components/buttonfieldbase.component.mjs +62 -0
- package/esm2020/lib/components/containerfieldbase.component.mjs +42 -0
- package/esm2020/lib/components/datalistingfieldbase.component.mjs +138 -0
- package/esm2020/lib/components/fieldbase.component.mjs +90 -0
- package/esm2020/lib/components/inputfieldbase.component.mjs +78 -0
- package/esm2020/lib/directives/scrollbar.theme.directive.mjs +13 -11
- package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +69 -0
- package/esm2020/lib/input-error-message/input-error-message.component.mjs +33 -0
- package/esm2020/lib/kcard/kcard.component.mjs +84 -0
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +53 -12
- package/esm2020/lib/pipe/htmlSanitize.pipe.mjs +18 -0
- package/esm2020/lib/services/component-error-handler.service.mjs +84 -0
- package/esm2020/lib/services/main.service.mjs +173 -73
- package/esm2020/lib/services/zcomponent.debug.service.mjs +17 -8
- package/esm2020/lib/services/zcomponent.service.mjs +133 -9
- package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +15 -23
- package/esm2020/lib/uicontainer/uicontainer.component.mjs +2 -2
- package/esm2020/lib/uicontent/uicontent.component.mjs +21 -9
- package/esm2020/lib/uiheader/uiheader.component.mjs +61 -28
- package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +3 -3
- package/esm2020/lib/uipage/uipage.component.mjs +41 -26
- package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +2 -2
- package/esm2020/lib/zbullet/zbullet.component.mjs +3 -2
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +45 -91
- package/esm2020/lib/zcard/zcard.component.mjs +13 -60
- package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +14 -159
- package/esm2020/lib/zchip/zchip.component.mjs +34 -64
- package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +4 -3
- package/esm2020/lib/zdaterange/zdaterange.component.mjs +3 -3
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +22 -74
- package/esm2020/lib/zdiv/zdiv.component.mjs +63 -40
- package/esm2020/lib/zdiv/zdiv.pipe.mjs +2 -2
- package/esm2020/lib/zform/zform.component.mjs +9 -7
- package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +5 -3
- package/esm2020/lib/zgauge/zgauge.component.mjs +34 -70
- package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +32 -30
- package/esm2020/lib/zgrid/zgrid.component.mjs +246 -135
- package/esm2020/lib/zimg/zimg.component.mjs +44 -108
- package/esm2020/lib/zinput-container/zinput-container.component.mjs +63 -0
- package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +120 -0
- package/esm2020/lib/zkcard/zkcard.component.mjs +2 -2
- package/esm2020/lib/zlabel/zlabel.component.mjs +18 -94
- package/esm2020/lib/zmfb/zmfb.component.mjs +70 -91
- package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +15 -11
- package/esm2020/lib/zmodal/zmodal.component.mjs +14 -10
- package/esm2020/lib/znumeric/znumeric.component.mjs +18 -94
- package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +35 -87
- package/esm2020/lib/zprogressbar/zprogressbar.component.mjs +59 -0
- package/esm2020/lib/zreport/zreport.component.mjs +25 -27
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +39 -194
- package/esm2020/lib/ztab/ztab.component.mjs +17 -45
- package/esm2020/lib/ztab/ztab.pipe.mjs +6 -4
- package/esm2020/lib/ztext/ztext.component.mjs +20 -180
- package/esm2020/lib/ztextarea/ztextarea.component.mjs +23 -101
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +3 -2
- package/esm2020/lib/ztree/ztree.component.mjs +25 -41
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +104 -143
- package/esm2020/lib/zudf/zudf.component.mjs +12 -8
- package/esm2020/lib/zupload/zupload.component.mjs +18 -39
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +45 -77
- package/esm2020/public-api.mjs +15 -2
- package/fesm2015/mmhglobal-dynamicform.mjs +4529 -4392
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
- package/fesm2020/mmhglobal-dynamicform.mjs +4496 -4367
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
- package/lib/animations/component-animations.d.ts +1 -0
- package/lib/components/buttonfieldbase.component.d.ts +18 -0
- package/lib/components/containerfieldbase.component.d.ts +19 -0
- package/lib/components/datalistingfieldbase.component.d.ts +30 -0
- package/lib/components/fieldbase.component.d.ts +30 -0
- package/lib/components/inputfieldbase.component.d.ts +19 -0
- package/lib/embed-components/input-field-addons/input-field-addons.component.d.ts +16 -0
- package/lib/input-error-message/input-error-message.component.d.ts +15 -0
- package/lib/kcard/kcard.component.d.ts +21 -0
- package/lib/mmhglobal-dynamicform.module.d.ts +40 -32
- package/lib/pipe/htmlSanitize.pipe.d.ts +10 -0
- package/lib/services/component-error-handler.service.d.ts +14 -0
- package/lib/services/main.service.d.ts +23 -5
- package/lib/services/zcomponent.debug.service.d.ts +4 -1
- package/lib/services/zcomponent.service.d.ts +20 -4
- package/lib/uiappmenucontent/uiappmenucontent.component.d.ts +4 -3
- package/lib/uicontent/uicontent.component.d.ts +6 -2
- package/lib/uiheader/uiheader.component.d.ts +13 -9
- package/lib/zbuttons/zbuttons.component.d.ts +11 -20
- package/lib/zcard/zcard.component.d.ts +6 -20
- package/lib/zcheckbox/zcheckbox.component.d.ts +6 -36
- package/lib/zchip/zchip.component.d.ts +7 -16
- package/lib/zdatetime/zdatetime.component.d.ts +6 -14
- package/lib/zdiv/zdiv.component.d.ts +11 -18
- package/lib/zformcontrol/zformcontrol.component.d.ts +2 -1
- package/lib/zgauge/zgauge.component.d.ts +11 -14
- package/lib/zgrid/zgrid.binding.directive.d.ts +4 -2
- package/lib/zgrid/zgrid.component.d.ts +26 -27
- package/lib/zimg/zimg.component.d.ts +12 -31
- package/lib/zinput-container/zinput-container.component.d.ts +26 -0
- package/lib/zinput-container/zinput-container.pipe.d.ts +20 -0
- package/lib/zlabel/zlabel.component.d.ts +6 -25
- package/lib/zmfb/zmfb.component.d.ts +12 -20
- package/lib/zmodal/zmodal-mobile.component.d.ts +4 -1
- package/lib/zmodal/zmodal.component.d.ts +4 -1
- package/lib/znumeric/znumeric.component.d.ts +7 -29
- package/lib/zpostselectinput/zpostselectinput.component.d.ts +9 -19
- package/lib/zprogressbar/zprogressbar.component.d.ts +28 -0
- package/lib/zreport/zreport.component.d.ts +8 -11
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +10 -35
- package/lib/ztab/ztab.component.d.ts +6 -19
- package/lib/ztext/ztext.component.d.ts +7 -35
- package/lib/ztextarea/ztextarea.component.d.ts +9 -27
- package/lib/ztree/ztree.component.d.ts +6 -12
- package/lib/ztreelist/ztreelist.component.d.ts +17 -27
- package/lib/zupload/zupload.component.d.ts +6 -13
- package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +6 -20
- package/package.json +1 -1
- package/public-api.d.ts +14 -1
|
@@ -1,38 +1,23 @@
|
|
|
1
1
|
/********** Angular **********/
|
|
2
|
-
import { Component
|
|
3
|
-
import {
|
|
4
|
-
/********** Component & Service **********/
|
|
5
|
-
import { ZComponentHelper, ZComponentProperties } from "mmhglobal-zcore";
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { InputFieldBase } from '../components/inputfieldbase.component';
|
|
6
4
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "
|
|
8
|
-
import * as i2 from "@
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "@angular/
|
|
11
|
-
import * as i5 from "@angular/
|
|
12
|
-
export class ZnumericComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
|
|
15
|
-
this.
|
|
16
|
-
const fc = this.group.form.controls[this.data.Value];
|
|
17
|
-
status ? fc.enable() : fc.disable();
|
|
18
|
-
this.componentProperties.isReadOnly = !status;
|
|
19
|
-
};
|
|
20
|
-
this.setVisible = (status) => {
|
|
21
|
-
this.componentProperties.isVisible = status;
|
|
22
|
-
this.data.Visible = status;
|
|
23
|
-
};
|
|
24
|
-
this.setRequire = (status) => {
|
|
25
|
-
this.componentProperties.isRequired = status;
|
|
26
|
-
ZComponentHelper.changeValidator(status, this.group, this.data.Value, this.componentProperties, Validators.required);
|
|
27
|
-
};
|
|
5
|
+
import * as i1 from "../services/zcomponent.service";
|
|
6
|
+
import * as i2 from "@ionic/angular";
|
|
7
|
+
import * as i3 from "@progress/kendo-angular-inputs";
|
|
8
|
+
import * as i4 from "@angular/forms";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
10
|
+
export class ZnumericComponent extends InputFieldBase {
|
|
11
|
+
constructor(compService) {
|
|
12
|
+
super(compService);
|
|
13
|
+
this.inputMode = "decimal";
|
|
28
14
|
}
|
|
29
15
|
ngOnInit() {
|
|
30
|
-
|
|
31
|
-
ZComponentHelper.registerComponent(this);
|
|
16
|
+
super.setupInnerField();
|
|
32
17
|
if (this.data.RightAlign) {
|
|
33
18
|
var thisComponent = this;
|
|
34
19
|
setTimeout(function () {
|
|
35
|
-
// only available when popup is shown, get the element by class
|
|
20
|
+
// only available when popup is shown, get the element by class
|
|
36
21
|
let numericTextbox = $("#" + thisComponent.data.Value).find("input");
|
|
37
22
|
if (numericTextbox.length > 0) {
|
|
38
23
|
numericTextbox[0].style.textAlign = "right";
|
|
@@ -48,72 +33,11 @@ export class ZnumericComponent {
|
|
|
48
33
|
return value;
|
|
49
34
|
}
|
|
50
35
|
}
|
|
51
|
-
onChange(value) {
|
|
52
|
-
ZComponentHelper.setModelValue(this.data.Value, value, this.group);
|
|
53
|
-
this.group.subject.next({
|
|
54
|
-
type: "onChange",
|
|
55
|
-
target: this.data.OnChange,
|
|
56
|
-
event,
|
|
57
|
-
data: { value: value, field: this.data }
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
isMobileScreen() {
|
|
61
|
-
const v = ZComponentHelper.isMobileScreen();
|
|
62
|
-
return v;
|
|
63
|
-
}
|
|
64
|
-
getIon_InvalidClass(form, data) {
|
|
65
|
-
return ZComponentHelper.getIon_InvalidClass(form, data);
|
|
66
|
-
}
|
|
67
|
-
// Mobile View
|
|
68
|
-
getStyle(RightAlign) {
|
|
69
|
-
let ngStyle = "";
|
|
70
|
-
if (RightAlign) {
|
|
71
|
-
ngStyle += "right";
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
ngStyle += "left";
|
|
75
|
-
}
|
|
76
|
-
return ngStyle;
|
|
77
|
-
}
|
|
78
|
-
autocorrectHandler() {
|
|
79
|
-
if (this.data.AutoCorrect) {
|
|
80
|
-
return "on";
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return "off";
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
inputmodeHandler() {
|
|
87
|
-
return "decimal";
|
|
88
|
-
}
|
|
89
|
-
getKendoStyle() {
|
|
90
|
-
const isReadOnly = (!!this.componentProperties.isReadOnlyField ? this.group[this.componentProperties.isReadOnlyField] : this.componentProperties.isReadOnly);
|
|
91
|
-
if (isReadOnly) {
|
|
92
|
-
return {
|
|
93
|
-
"margin": "7px 0 0 0",
|
|
94
|
-
"width": "100%",
|
|
95
|
-
"background-color": "#eaeaea",
|
|
96
|
-
"color": "#545454"
|
|
97
|
-
};
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
return {
|
|
101
|
-
"margin": "7px 0 0 0",
|
|
102
|
-
"width": "100%"
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
36
|
}
|
|
107
|
-
ZnumericComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZnumericComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
108
|
-
ZnumericComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZnumericComponent, selector: "app-znumeric",
|
|
37
|
+
ZnumericComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZnumericComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
ZnumericComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ZnumericComponent, selector: "app-znumeric", usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"form\" class=\"znumeric-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ion-input *ngIf=\"isMobileScreen()\" #znumericField [id]=\"data.Value\" type=\"number\"\r\n [autocorrect]=\"data.AutoCorrect ? 'on' : 'off'\" [min]=\"data.MinValue\" [max]=\"data.MaxValue\" [step]=\"data.StepValue\"\r\n [value]=\"valueHandler()\" [inputmode]=\"inputMode\" [formControlName]=\"data.Value\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [placeholder]=\"data.PlaceHolder\" [style.text-align]=\"data.RightAlign ? 'right' : 'left'\"\r\n [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n </ion-input>\r\n <kendo-numerictextbox *ngIf=\"!isMobileScreen()\" [spinners]=\"data.ShowSpinners\" [autoCorrect]=\"data.AutoCorrect\" [formControlName]=\"data.Value\"\r\n [min]=\"data.MinValue\" [max]=\"data.MaxValue\" [step]=\"data.StepValue\" [format]=\"data.FormatOptions\" [id]=\"data.Value\"\r\n [placeholder]=\"data.PlaceHolder\" [value]=\"valueHandler()\" class=\"input-field e1tag-style1\"\r\n [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n (valueChange)=\"onChange(null, $event)\" [style]=\"componentProperties.style.style1\">\r\n </kendo-numerictextbox>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-numerictextbox:focus-within{box-shadow:0 0 3px 1px var(--ion-color-primary)}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.k-numerictextbox{color:var(--z-text-color)}\n"], components: [{ type: i2.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i3.NumericTextBoxComponent, selector: "kendo-numerictextbox", inputs: ["focusableId", "disabled", "readonly", "title", "autoCorrect", "decimals", "step", "spinners", "rangeValidation", "tabindex", "changeValueOnScroll", "selectOnFocus", "value", "format", "tabIndex", "size", "rounded", "fillMode", "max", "min", "placeholder", "maxlength"], outputs: ["valueChange", "focus", "blur"], exportAs: ["kendoNumericTextBox"] }], directives: [{ type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NumericValueAccessor, selector: "ion-input[type=number]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
109
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ZnumericComponent, decorators: [{
|
|
110
40
|
type: Component,
|
|
111
|
-
args: [{ selector: 'app-znumeric', template: "<
|
|
112
|
-
}], ctorParameters: function () { return []; }
|
|
113
|
-
|
|
114
|
-
}], group: [{
|
|
115
|
-
type: Input
|
|
116
|
-
}], form: [{
|
|
117
|
-
type: Input
|
|
118
|
-
}] } });
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem51bWVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVF2RCwyQ0FBMkM7QUFDM0MsT0FBTyxFQUNPLGdCQUFnQixFQUNaLG9CQUFvQixFQUNyQyxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7O0FBUXpCLE1BQU0sT0FBTyxpQkFBaUI7SUFNNUI7UUFEQSx3QkFBbUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUEyQzFDLGNBQVMsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1QyxJ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Q2Q7SUFDSCxDQUFDO0lBRU0sZ0JBQWdCO1FBQ3JCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxhQUFhO1FBQ1gsTUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU3SixJQUFJLFVBQVUsRUFBRTtZQUNkLE9BQU87Z0JBQ0wsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLE9BQU8sRUFBRSxNQUFNO2dCQUNmLGtCQUFrQixFQUFFLFNBQVM7Z0JBQzdCLE9BQU8sRUFBRSxTQUFTO2FBQ25CLENBQUM7U0FDSDthQUNJO1lBQ0gsT0FBTztnQkFDTCxRQUFRLEVBQUUsV0FBVztnQkFDckIsT0FBTyxFQUFFLE1BQU07YUFDaEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQzs7K0dBN0dVLGlCQUFpQjttR0FBakIsaUJBQWlCLDRHQ3RCOUIsaXNGQXlDVzs0RkRuQkUsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWM7MEVBS2YsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbi8vIGltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQsXHJcbiAgWkdyb3VwLCBaRmllbGQsIFpDb21wb25lbnRQcm9wZXJ0aWVzXHJcbn0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXpudW1lcmljJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vem51bWVyaWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3pudW1lcmljLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBabnVtZXJpY0NvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwOyBcclxuXHJcbiAgY29tcG9uZW50UHJvcGVydGllcyA9IG5ldyBaQ29tcG9uZW50UHJvcGVydGllcygpO1xyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcbiAgICBcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcblxyXG4gICAgaWYgKHRoaXMuZGF0YS5SaWdodEFsaWduKSB7XHJcbiAgICAgIHZhciB0aGlzQ29tcG9uZW50ID0gdGhpcztcclxuICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgLy8gb25seSBhdmFpbGFibGUgd2hlbiBwb3B1cCBpcyBzaG93biwgZ2V0IHRoZSBlbGVtZW50IGJ5IGNsYXNzICBcclxuICAgICAgICBsZXQgbnVtZXJpY1RleHRib3ggPSAkKFwiI1wiICsgdGhpc0NvbXBvbmVudC5kYXRhLlZhbHVlKS5maW5kKFwiaW5wdXRcIik7XHJcbiAgICAgICAgaWYgKG51bWVyaWNUZXh0Ym94Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIG51bWVyaWNUZXh0Ym94WzBdLnN0eWxlLnRleHRBbGlnbiA9IFwicmlnaHRcIjtcclxuICAgICAgICB9XHJcbiAgICAgIH0sIDc1MCk7XHJcbiAgICB9XHJcbiAgICAvLyBGb3JtYXRPcHRpb24gY2FuIGJlIFwiIy4wMFxcXFwlXCIgfCBcIiQjLjAwMFwiIHwgXCIjXCJcclxuICB9XHJcblxyXG4gIHZhbHVlSGFuZGxlcigpIHtcclxuICAgIGNvbnN0IGRhdGFWYWx1ZSA9IHRoaXMuZm9ybS5nZXQodGhpcy5kYXRhLlZhbHVlKS52YWx1ZTtcclxuICAgIGlmIChkYXRhVmFsdWUgIT0gXCJcIikge1xyXG4gICAgICB2YXIgdmFsdWU6IG51bWJlciA9ICtkYXRhVmFsdWU7Ly90aGUgXCIrXCIgY29udmVydHMgc3RyaW5nIHRvIG51bWJlclxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICAgIFxyXG4gIG9uQ2hhbmdlKHZhbHVlOiBhbnkpIHsgXHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldE1vZGVsVmFsdWUodGhpcy5kYXRhLlZhbHVlLCB2YWx1ZSwgdGhpcy5ncm91cCk7XHJcbiAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgIHR5cGU6IFwib25DaGFuZ2VcIixcclxuICAgICAgdGFyZ2V0OiB0aGlzLmRhdGEuT25DaGFuZ2UsXHJcbiAgICAgIGV2ZW50LFxyXG4gICAgICBkYXRhOiB7IHZhbHVlOiB2YWx1ZSwgZmllbGQ6IHRoaXMuZGF0YSB9XHJcbiAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgfVxyXG5cclxuICBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICBjb25zdCBmYyA9IHRoaXMuZ3JvdXAuZm9ybS5jb250cm9sc1t0aGlzLmRhdGEuVmFsdWVdO1xyXG4gICAgc3RhdHVzID8gZmMuZW5hYmxlKCkgOiBmYy5kaXNhYmxlKCk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIGdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybTogRm9ybUdyb3VwLCBkYXRhOiBaRmllbGQpIHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldElvbl9JbnZhbGlkQ2xhc3MoZm9ybSwgZGF0YSk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vIE1vYmlsZSBWaWV3XHJcbiAgcHVibGljIGdldFN0eWxlKFJpZ2h0QWxpZ246IGJvb2xlYW4pIHtcclxuICAgIGxldCBuZ1N0eWxlID0gXCJcIjtcclxuICAgIGlmIChSaWdodEFsaWduKSB7XHJcbiAgICAgIG5nU3R5bGUgKz0gXCJyaWdodFwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbmdTdHlsZSArPSBcImxlZnRcIjtcclxuICAgIH1cclxuICAgIHJldHVybiBuZ1N0eWxlO1xyXG4gIH0gXHJcblxyXG4gIHB1YmxpYyBhdXRvY29ycmVjdEhhbmRsZXIoKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLkF1dG9Db3JyZWN0KSB7XHJcbiAgICAgIHJldHVybiBcIm9uXCI7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIFwib2ZmXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5wdXRtb2RlSGFuZGxlcigpIHtcclxuICAgIHJldHVybiBcImRlY2ltYWxcIjtcclxuICB9XHJcbiAgXHJcbiAgZ2V0S2VuZG9TdHlsZSgpIHtcclxuICAgIGNvbnN0IGlzUmVhZE9ubHkgPSAoISF0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkID8gdGhpcy5ncm91cFt0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5KTtcclxuICAgIFxyXG4gICAgaWYgKGlzUmVhZE9ubHkpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBcIm1hcmdpblwiOiBcIjdweCAwIDAgMFwiLFxyXG4gICAgICAgIFwid2lkdGhcIjogXCIxMDAlXCIsXHJcbiAgICAgICAgXCJiYWNrZ3JvdW5kLWNvbG9yXCI6IFwiI2VhZWFlYVwiLFxyXG4gICAgICAgIFwiY29sb3JcIjogXCIjNTQ1NDU0XCJcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIFwibWFyZ2luXCI6IFwiN3B4IDAgMCAwXCIsXHJcbiAgICAgICAgXCJ3aWR0aFwiOiBcIjEwMCVcIlxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8aW9uLWl0ZW0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIiBbbmdDbGFzc109XCJnZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpXCI+XHJcbiAgPGlvbi1sYWJlbCBbYXR0ci5mb3JdPVwiZGF0YS5WYWx1ZVwiICpuZ0lmPVwiZGF0YS5TaG93TGFiZWwgPT09IHVuZGVmaW5lZCB8fCBkYXRhLlNob3dMYWJlbFwiIFtwb3NpdGlvbl09XCJkYXRhLkxhYmVsUG9zaXRpb24gPyBkYXRhLkxhYmVsUG9zaXRpb24gOiAnc3RhY2tlZCdcIj5cclxuICAgIHt7ZGF0YS5MYWJlbH19IDxpb24tdGV4dCAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZEZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkKVwiIGNvbG9yPVwiZGFuZ2VyXCI+KjwvaW9uLXRleHQ+XHJcbiAgPC9pb24tbGFiZWw+IFxyXG4gIDxkaXYgY2xhc3M9XCJpb24tcm93XCIgc3R5bGU9XCJqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IHdpZHRoOiAxMDAlXCI+XHJcbiAgICA8c3BhbiBzdHlsZT1cImZsZXg6IDE7XCI+XHJcbiAgICAgIDxpb24taW5wdXQgKm5nSWY9XCJpc01vYmlsZVNjcmVlbigpXCJcclxuICAgICAgICAgICAgICAgICAjem51bWVyaWNGaWVsZFxyXG4gICAgICAgICAgICAgICAgIFtpZF09XCJkYXRhLlZhbHVlXCJcclxuICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgICAgICAgICAgICBbYXV0b2NvcnJlY3RdPVwiYXV0b2NvcnJlY3RIYW5kbGVyKClcIlxyXG4gICAgICAgICAgICAgICAgIFttaW5dPVwiZGF0YS5NaW5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgW21heF09XCJkYXRhLk1heFZhbHVlXCJcclxuICAgICAgICAgICAgICAgICBbc3RlcF09XCJkYXRhLlN0ZXBWYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlSGFuZGxlcigpXCJcclxuICAgICAgICAgICAgICAgICBbaW5wdXRtb2RlXT1cImlucHV0bW9kZUhhbmRsZXIoKVwiXHJcbiAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJkYXRhLlZhbHVlXCJcclxuICAgICAgICAgICAgICAgICBbYXR0ci5kaXNhYmxlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJkYXRhLlBsYWNlSG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICBbbmdTdHlsZV09XCJ7J3RleHQtYWxpZ24nOiBnZXRTdHlsZShkYXRhLlJpZ2h0QWxpZ24gPyB0cnVlIDogZmFsc2UpfVwiPlxyXG4gICAgICA8L2lvbi1pbnB1dD5cclxuICAgICAgPCEtLSAoaW9uQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAoa2V5dXApPVwiaGFuZGxlTW9iaWxlS2V5VXAoJGV2ZW50KVwiXHJcbiAgICAgICAgIChpb25JbnB1dCk9XCJoYW5kbGVNb2JpbGVJbnB1dCgkZXZlbnQpXCItLT5cclxuICAgICAgPGtlbmRvLW51bWVyaWN0ZXh0Ym94ICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NwaW5uZXJzXT1cImRhdGEuU2hvd1NwaW5uZXJzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdXRvQ29ycmVjdF09XCJkYXRhLkF1dG9Db3JyZWN0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttaW5dPVwiZGF0YS5NaW5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWF4XT1cImRhdGEuTWF4VmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBdPVwiZGF0YS5TdGVwVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJkYXRhLkZvcm1hdE9wdGlvbnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImRhdGEuUGxhY2VIb2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cInZhbHVlSGFuZGxlcigpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0S2VuZG9TdHlsZSgpXCI+XHJcbiAgICAgIDwva2VuZG8tbnVtZXJpY3RleHRib3g+XHJcbiAgICA8L3NwYW4+IFxyXG4gICAgPGFwcC11aXZhbGlkYXRpb25tZXNzYWdlIFtncm91cF09XCJncm91cFwiIFtkYXRhXT1cImRhdGFcIiBbZm9ybV09XCJmb3JtXCI+PC9hcHAtdWl2YWxpZGF0aW9ubWVzc2FnZT5cclxuICA8L2Rpdj5cclxuPC9pb24taXRlbT4iXX0=
|
|
41
|
+
args: [{ selector: 'app-znumeric', template: "<div [formGroup]=\"form\" class=\"znumeric-container e1tag-style\" [style]=\"componentProperties.style.style\">\r\n <ion-input *ngIf=\"isMobileScreen()\" #znumericField [id]=\"data.Value\" type=\"number\"\r\n [autocorrect]=\"data.AutoCorrect ? 'on' : 'off'\" [min]=\"data.MinValue\" [max]=\"data.MaxValue\" [step]=\"data.StepValue\"\r\n [value]=\"valueHandler()\" [inputmode]=\"inputMode\" [formControlName]=\"data.Value\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [placeholder]=\"data.PlaceHolder\" [style.text-align]=\"data.RightAlign ? 'right' : 'left'\"\r\n [style]=\"componentProperties.style.style1\" class=\"e1tag-style1\">\r\n </ion-input>\r\n <kendo-numerictextbox *ngIf=\"!isMobileScreen()\" [spinners]=\"data.ShowSpinners\" [autoCorrect]=\"data.AutoCorrect\" [formControlName]=\"data.Value\"\r\n [min]=\"data.MinValue\" [max]=\"data.MaxValue\" [step]=\"data.StepValue\" [format]=\"data.FormatOptions\" [id]=\"data.Value\"\r\n [placeholder]=\"data.PlaceHolder\" [value]=\"valueHandler()\" class=\"input-field e1tag-style1\"\r\n [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n (valueChange)=\"onChange(null, $event)\" [style]=\"componentProperties.style.style1\">\r\n </kendo-numerictextbox>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-numerictextbox:focus-within{box-shadow:0 0 3px 1px var(--ion-color-primary)}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.k-numerictextbox{color:var(--z-text-color)}\n"] }]
|
|
42
|
+
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem51bWVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFVbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7Ozs7O0FBUXhFLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFjO0lBRW5ELFlBQVksV0FBOEI7UUFBSSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7UUFEekQsY0FBUyxHQUFHLFNBQVMsQ0FBQztJQUNvQyxDQUFDO0lBRWxFLFFBQVE7UUFDTixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN4QixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUM7WUFDekIsVUFBVSxDQUFDO2dCQUNULCtEQUErRDtnQkFDL0QsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDckUsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDN0IsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO2lCQUM3QztZQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO1FBQ0QsaURBQWlEO0lBQ25ELENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkQsSUFBSSxTQUFTLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksS0FBSyxHQUFXLENBQUMsU0FBUyxDQUFDLENBQUEsbUNBQW1DO1lBQ2xFLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7SUFDSCxDQUFDOzsrR0F6QlUsaUJBQWlCO21HQUFqQixpQkFBaUIsMkVDbkI5QixnNkNBZUE7NEZESWEsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNFLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbi8vIGltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50IH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBJbnB1dEZpZWxkQmFzZSB9IGZyb20gJy4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtem51bWVyaWMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96bnVtZXJpYy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vem51bWVyaWMuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFpudW1lcmljQ29tcG9uZW50IGV4dGVuZHMgSW5wdXRGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIHB1YmxpYyBpbnB1dE1vZGUgPSBcImRlY2ltYWxcIjtcclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHsgc3VwZXIoY29tcFNlcnZpY2UpIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5zZXR1cElubmVyRmllbGQoKTtcclxuICAgIGlmICh0aGlzLmRhdGEuUmlnaHRBbGlnbikge1xyXG4gICAgICB2YXIgdGhpc0NvbXBvbmVudCA9IHRoaXM7XHJcbiAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIC8vIG9ubHkgYXZhaWxhYmxlIHdoZW4gcG9wdXAgaXMgc2hvd24sIGdldCB0aGUgZWxlbWVudCBieSBjbGFzc1xyXG4gICAgICAgIGxldCBudW1lcmljVGV4dGJveCA9ICQoXCIjXCIgKyB0aGlzQ29tcG9uZW50LmRhdGEuVmFsdWUpLmZpbmQoXCJpbnB1dFwiKTtcclxuICAgICAgICBpZiAobnVtZXJpY1RleHRib3gubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgbnVtZXJpY1RleHRib3hbMF0uc3R5bGUudGV4dEFsaWduID0gXCJyaWdodFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgfSwgNzUwKTtcclxuICAgIH1cclxuICAgIC8vIEZvcm1hdE9wdGlvbiBjYW4gYmUgXCIjLjAwXFxcXCVcIiB8IFwiJCMuMDAwXCIgfCBcIiNcIlxyXG4gIH1cclxuXHJcbiAgdmFsdWVIYW5kbGVyKCkge1xyXG4gICAgY29uc3QgZGF0YVZhbHVlID0gdGhpcy5mb3JtLmdldCh0aGlzLmRhdGEuVmFsdWUpLnZhbHVlO1xyXG4gICAgaWYgKGRhdGFWYWx1ZSAhPSBcIlwiKSB7XHJcbiAgICAgIHZhciB2YWx1ZTogbnVtYmVyID0gK2RhdGFWYWx1ZTsvL3RoZSBcIitcIiBjb252ZXJ0cyBzdHJpbmcgdG8gbnVtYmVyXHJcbiAgICAgIHJldHVybiB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cInpudW1lcmljLWNvbnRhaW5lciBlMXRhZy1zdHlsZVwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlXCI+XHJcbiAgPGlvbi1pbnB1dCAqbmdJZj1cImlzTW9iaWxlU2NyZWVuKClcIiAjem51bWVyaWNGaWVsZCBbaWRdPVwiZGF0YS5WYWx1ZVwiIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgW2F1dG9jb3JyZWN0XT1cImRhdGEuQXV0b0NvcnJlY3QgPyAnb24nIDogJ29mZidcIiBbbWluXT1cImRhdGEuTWluVmFsdWVcIiBbbWF4XT1cImRhdGEuTWF4VmFsdWVcIiBbc3RlcF09XCJkYXRhLlN0ZXBWYWx1ZVwiXHJcbiAgICBbdmFsdWVdPVwidmFsdWVIYW5kbGVyKClcIiBbaW5wdXRtb2RlXT1cImlucHV0TW9kZVwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICBbYXR0ci5kaXNhYmxlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cImRhdGEuUGxhY2VIb2xkZXJcIiBbc3R5bGUudGV4dC1hbGlnbl09XCJkYXRhLlJpZ2h0QWxpZ24gPyAncmlnaHQnIDogJ2xlZnQnXCJcclxuICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMVwiIGNsYXNzPVwiZTF0YWctc3R5bGUxXCI+XHJcbiAgPC9pb24taW5wdXQ+XHJcbiAgPGtlbmRvLW51bWVyaWN0ZXh0Ym94ICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKClcIiBbc3Bpbm5lcnNdPVwiZGF0YS5TaG93U3Bpbm5lcnNcIiBbYXV0b0NvcnJlY3RdPVwiZGF0YS5BdXRvQ29ycmVjdFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZGF0YS5WYWx1ZVwiXHJcbiAgICBbbWluXT1cImRhdGEuTWluVmFsdWVcIiBbbWF4XT1cImRhdGEuTWF4VmFsdWVcIiBbc3RlcF09XCJkYXRhLlN0ZXBWYWx1ZVwiIFtmb3JtYXRdPVwiZGF0YS5Gb3JtYXRPcHRpb25zXCIgW2lkXT1cImRhdGEuVmFsdWVcIlxyXG4gICAgW3BsYWNlaG9sZGVyXT1cImRhdGEuUGxhY2VIb2xkZXJcIiBbdmFsdWVdPVwidmFsdWVIYW5kbGVyKClcIiBjbGFzcz1cImlucHV0LWZpZWxkIGUxdGFnLXN0eWxlMVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5RmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkpXCJcclxuICAgICh2YWx1ZUNoYW5nZSk9XCJvbkNoYW5nZShudWxsLCAkZXZlbnQpXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGUxXCI+XHJcbiAgPC9rZW5kby1udW1lcmljdGV4dGJveD5cclxuPC9kaXY+XHJcbiJdfQ==
|