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
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { ZComponentHelper } from 'mmhglobal-zcore';
|
|
3
|
+
import { InputFieldBase } from "../../components/inputfieldbase.component";
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../services/zcomponent.service";
|
|
6
|
+
import * as i2 from "@fortawesome/angular-fontawesome";
|
|
7
|
+
import * as i3 from "@ionic/angular";
|
|
8
|
+
import * as i4 from "@angular/common";
|
|
9
|
+
import * as i5 from "@progress/kendo-angular-tooltip";
|
|
10
|
+
export class InputFieldAddOnsComponent extends InputFieldBase {
|
|
11
|
+
constructor(compService) { super(compService); }
|
|
12
|
+
// public iconList: ClickableIcons[];
|
|
13
|
+
// public buttonList;
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this.position = this.position || 'top';
|
|
16
|
+
this.addOn = this.data && this.data.InputFieldAddOns ? this.data.InputFieldAddOns.find(i => i.Position === this.position) : null;
|
|
17
|
+
if (this.addOn) {
|
|
18
|
+
this.setupIconList();
|
|
19
|
+
this.setupButtonList();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
setupIconList() {
|
|
23
|
+
// this.addOn.IconList = [{ Icon: "user", Click: null, Style: "color:blue;", ToolTipText: "text" }]; // For Testing
|
|
24
|
+
if (this.addOn.IconList) {
|
|
25
|
+
this.addOn.IconList.forEach((i) => {
|
|
26
|
+
if (i.ToolTipText === undefined) {
|
|
27
|
+
i.ToolTipText = "";
|
|
28
|
+
}
|
|
29
|
+
else if (i.ToolTipText.indexOf("group.") !== -1) {
|
|
30
|
+
i.ToolTipText = ZComponentHelper.getGroupEvalValue.call(this, i.ToolTipText);
|
|
31
|
+
}
|
|
32
|
+
// Default position top. right | bottom | top | left
|
|
33
|
+
i.Position = i.Position || "top";
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
setupButtonList() {
|
|
38
|
+
// this.addOn.ButtonList = [{ Text: 'test', Icon: 'user', Style: '', Click: null }]; // For Testing
|
|
39
|
+
if (this.addOn.ButtonList) {
|
|
40
|
+
this.addOn.ButtonList.forEach(button => {
|
|
41
|
+
button.Visible = ZComponentHelper.isNullUndefinedEmpty(button.Visible) ? 'true' : button.Visible;
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
setupTextList() {
|
|
46
|
+
// this.addOn.TextList = [{ Text: 'test', Style: '', TooltipText: 'test' }]; // For Testing
|
|
47
|
+
if (this.addOn.TextList) {
|
|
48
|
+
this.addOn.TextList.forEach((i) => {
|
|
49
|
+
if (i.ToolTipText === undefined) {
|
|
50
|
+
i.ToolTipText = "";
|
|
51
|
+
}
|
|
52
|
+
else if (i.ToolTipText.indexOf("group.") !== -1) {
|
|
53
|
+
i.ToolTipText = ZComponentHelper.getGroupEvalValue.call(this, i.ToolTipText);
|
|
54
|
+
}
|
|
55
|
+
// Default position top. right | bottom | top | left
|
|
56
|
+
i.Position = i.Position || "top";
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
InputFieldAddOnsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InputFieldAddOnsComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
62
|
+
InputFieldAddOnsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: InputFieldAddOnsComponent, selector: "app-input-field-addons", inputs: { position: "position" }, usesInheritance: true, ngImport: i0, template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"this.addOn\">\r\n <div class=\"addons-icon\" *ngIf=\"addOn.IconList\">\r\n <div *ngFor=\"let item of addOn.IconList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span *ngIf=\"!!item \" (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n <fa-icon [icon]=\"item.Icon\">\r\n </fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-text\" *ngIf=\"addOn.TextList\">\r\n <div *ngFor=\"let item of addOn.TextList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span *ngIf=\"!!item \" (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n {{item.Text}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-buttons\" *ngIf=\"addOn.ButtonList\">\r\n <ion-button *ngFor=\"let button of addOn.ButtonList; let i = button\" [fill]=\"button.fill || 'outline'\"\r\n [color]=\"button.color || 'dark'\" [size]=\"button.size || 'small'\" strong=\"false\"\r\n (click)=\"onIconClick(button.Click)\" [hidden]=\"!button.Visible\" [disabled]=\"group.isTriggered || button.Disabled\"\r\n [style]=\"button.Style\">\r\n <fa-icon *ngIf=\"button.Icon\" [icon]=\"getFontAwesome(button.Icon)\"\r\n [style.padding-right]=\"button.Text ? '5px' : '0px'\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.Text }}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".addons-container{display:flex}.addons-container .addons-icon{display:flex;flex-direction:row}.addons-container .addons-icon fa-icon{padding:4px 6px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-buttons>ion-button{margin:0 0 0 5px;height:20px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-text{padding-left:6px;padding-top:3px;font-size:calc(var(--content-font-size) - 2px)}.addons-container.top .addons-buttons>ion-button{top:-3px;position:relative}.addons-container.left .addons-buttons>ion-button{margin:0 5px 0 0}\n"], components: [{ type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "showAfter", "callout", "closable", "offset", "tooltipTemplate", "showOn", "titleTemplate", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle"], exportAs: ["kendoTooltip"] }] });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InputFieldAddOnsComponent, decorators: [{
|
|
64
|
+
type: Component,
|
|
65
|
+
args: [{ selector: "app-input-field-addons", template: "<div [class]=\"'addons-container ' + position\" *ngIf=\"this.addOn\">\r\n <div class=\"addons-icon\" *ngIf=\"addOn.IconList\">\r\n <div *ngFor=\"let item of addOn.IconList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span *ngIf=\"!!item \" (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n <fa-icon [icon]=\"item.Icon\">\r\n </fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-text\" *ngIf=\"addOn.TextList\">\r\n <div *ngFor=\"let item of addOn.TextList\">\r\n <div kendoTooltip class=\"icon-button\" showOn=\"hover\" [tooltipWidth]=\"item.Width\" [position]=\"item.Position\">\r\n <span *ngIf=\"!!item \" (click)=\"onIconClick(item.Click)\" [title]=\"item.ToolTipText\" [style]=\"item.Style\">\r\n {{item.Text}}\r\n </span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"addons-buttons\" *ngIf=\"addOn.ButtonList\">\r\n <ion-button *ngFor=\"let button of addOn.ButtonList; let i = button\" [fill]=\"button.fill || 'outline'\"\r\n [color]=\"button.color || 'dark'\" [size]=\"button.size || 'small'\" strong=\"false\"\r\n (click)=\"onIconClick(button.Click)\" [hidden]=\"!button.Visible\" [disabled]=\"group.isTriggered || button.Disabled\"\r\n [style]=\"button.Style\">\r\n <fa-icon *ngIf=\"button.Icon\" [icon]=\"getFontAwesome(button.Icon)\"\r\n [style.padding-right]=\"button.Text ? '5px' : '0px'\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.Text }}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".addons-container{display:flex}.addons-container .addons-icon{display:flex;flex-direction:row}.addons-container .addons-icon fa-icon{padding:4px 6px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-buttons>ion-button{margin:0 0 0 5px;height:20px;font-size:calc(var(--content-font-size) - 2px)}.addons-container .addons-text{padding-left:6px;padding-top:3px;font-size:calc(var(--content-font-size) - 2px)}.addons-container.top .addons-buttons>ion-button{top:-3px;position:relative}.addons-container.left .addons-buttons>ion-button{margin:0 5px 0 0}\n"] }]
|
|
66
|
+
}], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { position: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}] } });
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2VtYmVkLWNvbXBvbmVudHMvaW5wdXQtZmllbGQtYWRkb25zL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9lbWJlZC1jb21wb25lbnRzL2lucHV0LWZpZWxkLWFkZG9ucy9pbnB1dC1maWVsZC1hZGRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFnRCxnQkFBZ0IsRUFBeUIsTUFBTSxpQkFBaUIsQ0FBQztBQUN4SCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7Ozs7QUFRM0UsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGNBQWM7SUFFM0QsWUFBWSxXQUE4QixJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFHbEUscUNBQXFDO0lBQ3JDLHFCQUFxQjtJQUVyQixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztRQUN2QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pJLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQixtSEFBbUg7UUFFbkgsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtvQkFDL0IsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7aUJBQ3BCO3FCQUFNLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ2pELENBQUMsQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQzlFO2dCQUVELG9EQUFvRDtnQkFDcEQsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsb0dBQW9HO1FBRXBHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7WUFDekIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQyxNQUFNLENBQUMsT0FBTyxHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ25HLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sYUFBYTtRQUNuQiw0RkFBNEY7UUFFNUYsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRTtnQkFDckMsSUFBSSxDQUFDLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRTtvQkFDL0IsQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7aUJBQ3BCO3FCQUFNLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7b0JBQ2pELENBQUMsQ0FBQyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7aUJBQzlFO2dCQUVELG9EQUFvRDtnQkFDcEQsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxJQUFJLEtBQUssQ0FBQztZQUNuQyxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7dUhBM0RVLHlCQUF5QjsyR0FBekIseUJBQXlCLHVIQ1Z0Qyx3ckRBaUNBOzRGRHZCYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usd0JBQXdCO3dHQUt6QixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ2xpY2thYmxlSWNvbnMsIElucHV0RmllbGRBZGRPbnMsIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRPdXRwdXRFdmVudCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IElucHV0RmllbGRCYXNlIH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvaW5wdXRmaWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLWlucHV0LWZpZWxkLWFkZG9uc1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2lucHV0LWZpZWxkLWFkZG9ucy5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRGaWVsZEFkZE9uc0NvbXBvbmVudCBleHRlbmRzIElucHV0RmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBwb3NpdGlvbjogJ3RvcCcgfCAnbGVmdCcgfCAncmlnaHQnIHwgJ2JvdHRvbSc7IC8vIGRlZmF1bHQgdG9wXHJcbiAgY29uc3RydWN0b3IoY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlKSB7IHN1cGVyKGNvbXBTZXJ2aWNlKSB9XHJcblxyXG4gIHB1YmxpYyBhZGRPbjogSW5wdXRGaWVsZEFkZE9ucztcclxuICAvLyBwdWJsaWMgaWNvbkxpc3Q6IENsaWNrYWJsZUljb25zW107XHJcbiAgLy8gcHVibGljIGJ1dHRvbkxpc3Q7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5wb3NpdGlvbiA9IHRoaXMucG9zaXRpb24gfHwgJ3RvcCc7XHJcbiAgICB0aGlzLmFkZE9uID0gdGhpcy5kYXRhICYmIHRoaXMuZGF0YS5JbnB1dEZpZWxkQWRkT25zID8gdGhpcy5kYXRhLklucHV0RmllbGRBZGRPbnMuZmluZChpID0+IGkuUG9zaXRpb24gPT09IHRoaXMucG9zaXRpb24pIDogbnVsbDtcclxuICAgIGlmICh0aGlzLmFkZE9uKSB7XHJcbiAgICAgIHRoaXMuc2V0dXBJY29uTGlzdCgpO1xyXG4gICAgICB0aGlzLnNldHVwQnV0dG9uTGlzdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cEljb25MaXN0KCkge1xyXG4gICAgLy8gdGhpcy5hZGRPbi5JY29uTGlzdCA9IFt7IEljb246IFwidXNlclwiLCBDbGljazogbnVsbCwgU3R5bGU6IFwiY29sb3I6Ymx1ZTtcIiwgVG9vbFRpcFRleHQ6IFwidGV4dFwiIH1dOyAvLyBGb3IgVGVzdGluZ1xyXG5cclxuICAgIGlmICh0aGlzLmFkZE9uLkljb25MaXN0KSB7XHJcbiAgICAgIHRoaXMuYWRkT24uSWNvbkxpc3QuZm9yRWFjaCgoaTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGkuVG9vbFRpcFRleHQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaS5Ub29sVGlwVGV4dCA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpLlRvb2xUaXBUZXh0LmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGkuVG9vbFRpcFRleHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRGVmYXVsdCBwb3NpdGlvbiB0b3AuIHJpZ2h0IHwgYm90dG9tIHwgdG9wIHwgbGVmdFxyXG4gICAgICAgIGkuUG9zaXRpb24gPSBpLlBvc2l0aW9uIHx8IFwidG9wXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cEJ1dHRvbkxpc3QoKSB7XHJcbiAgICAvLyB0aGlzLmFkZE9uLkJ1dHRvbkxpc3QgPSBbeyBUZXh0OiAndGVzdCcsIEljb246ICd1c2VyJywgU3R5bGU6ICcnLCBDbGljazogbnVsbCB9XTsgIC8vIEZvciBUZXN0aW5nXHJcblxyXG4gICAgaWYgKHRoaXMuYWRkT24uQnV0dG9uTGlzdCkge1xyXG4gICAgICB0aGlzLmFkZE9uLkJ1dHRvbkxpc3QuZm9yRWFjaChidXR0b24gPT4ge1xyXG4gICAgICAgIGJ1dHRvbi5WaXNpYmxlID0gWkNvbXBvbmVudEhlbHBlci5pc051bGxVbmRlZmluZWRFbXB0eShidXR0b24uVmlzaWJsZSkgPyAndHJ1ZScgOiBidXR0b24uVmlzaWJsZTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldHVwVGV4dExpc3QoKSB7XHJcbiAgICAvLyB0aGlzLmFkZE9uLlRleHRMaXN0ID0gW3sgVGV4dDogJ3Rlc3QnLCBTdHlsZTogJycsIFRvb2x0aXBUZXh0OiAndGVzdCcgfV07ICAvLyBGb3IgVGVzdGluZ1xyXG5cclxuICAgIGlmICh0aGlzLmFkZE9uLlRleHRMaXN0KSB7XHJcbiAgICAgIHRoaXMuYWRkT24uVGV4dExpc3QuZm9yRWFjaCgoaTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGkuVG9vbFRpcFRleHQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgaS5Ub29sVGlwVGV4dCA9IFwiXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpLlRvb2xUaXBUZXh0LmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xKSB7XHJcbiAgICAgICAgICBpLlRvb2xUaXBUZXh0ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGkuVG9vbFRpcFRleHQpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gRGVmYXVsdCBwb3NpdGlvbiB0b3AuIHJpZ2h0IHwgYm90dG9tIHwgdG9wIHwgbGVmdFxyXG4gICAgICAgIGkuUG9zaXRpb24gPSBpLlBvc2l0aW9uIHx8IFwidG9wXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtjbGFzc109XCInYWRkb25zLWNvbnRhaW5lciAnICsgcG9zaXRpb25cIiAqbmdJZj1cInRoaXMuYWRkT25cIj5cclxuICA8ZGl2IGNsYXNzPVwiYWRkb25zLWljb25cIiAqbmdJZj1cImFkZE9uLkljb25MaXN0XCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFkZE9uLkljb25MaXN0XCI+XHJcbiAgICAgIDxkaXYga2VuZG9Ub29sdGlwIGNsYXNzPVwiaWNvbi1idXR0b25cIiBzaG93T249XCJob3ZlclwiIFt0b29sdGlwV2lkdGhdPVwiaXRlbS5XaWR0aFwiIFtwb3NpdGlvbl09XCJpdGVtLlBvc2l0aW9uXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhIWl0ZW0gXCIgKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGl0ZW0uQ2xpY2spXCIgW3RpdGxlXT1cIml0ZW0uVG9vbFRpcFRleHRcIiBbc3R5bGVdPVwiaXRlbS5TdHlsZVwiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaXRlbS5JY29uXCI+XHJcbiAgICAgICAgICA8L2ZhLWljb24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiYWRkb25zLXRleHRcIiAqbmdJZj1cImFkZE9uLlRleHRMaXN0XCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIGFkZE9uLlRleHRMaXN0XCI+XHJcbiAgICAgIDxkaXYga2VuZG9Ub29sdGlwIGNsYXNzPVwiaWNvbi1idXR0b25cIiBzaG93T249XCJob3ZlclwiIFt0b29sdGlwV2lkdGhdPVwiaXRlbS5XaWR0aFwiIFtwb3NpdGlvbl09XCJpdGVtLlBvc2l0aW9uXCI+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhIWl0ZW0gXCIgKGNsaWNrKT1cIm9uSWNvbkNsaWNrKGl0ZW0uQ2xpY2spXCIgW3RpdGxlXT1cIml0ZW0uVG9vbFRpcFRleHRcIiBbc3R5bGVdPVwiaXRlbS5TdHlsZVwiPlxyXG4gICAgICAgICAge3tpdGVtLlRleHR9fVxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImFkZG9ucy1idXR0b25zXCIgKm5nSWY9XCJhZGRPbi5CdXR0b25MaXN0XCI+XHJcbiAgICA8aW9uLWJ1dHRvbiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGFkZE9uLkJ1dHRvbkxpc3Q7IGxldCBpID0gYnV0dG9uXCIgW2ZpbGxdPVwiYnV0dG9uLmZpbGwgfHwgJ291dGxpbmUnXCJcclxuICAgICAgW2NvbG9yXT1cImJ1dHRvbi5jb2xvciB8fCAnZGFyaydcIiBbc2l6ZV09XCJidXR0b24uc2l6ZSB8fCAnc21hbGwnXCIgc3Ryb25nPVwiZmFsc2VcIlxyXG4gICAgICAoY2xpY2spPVwib25JY29uQ2xpY2soYnV0dG9uLkNsaWNrKVwiIFtoaWRkZW5dPVwiIWJ1dHRvbi5WaXNpYmxlXCIgW2Rpc2FibGVkXT1cImdyb3VwLmlzVHJpZ2dlcmVkIHx8IGJ1dHRvbi5EaXNhYmxlZFwiXHJcbiAgICAgIFtzdHlsZV09XCJidXR0b24uU3R5bGVcIj5cclxuICAgICAgPGZhLWljb24gKm5nSWY9XCJidXR0b24uSWNvblwiIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKGJ1dHRvbi5JY29uKVwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctcmlnaHRdPVwiYnV0dG9uLlRleHQgPyAnNXB4JyA6ICcwcHgnXCI+PC9mYS1pY29uPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImlvbi10ZXh0LWNhcGl0YWxpemVcIj57eyBidXR0b24uVGV4dCB9fTwvc3Bhbj5cclxuICAgIDwvaW9uLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FieldBase } from "../components/fieldbase.component";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../services/zcomponent.service";
|
|
5
|
+
import * as i2 from "../services/component-error-handler.service";
|
|
6
|
+
import * as i3 from "@ionic/angular";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
export class InputErrorMessageComponent extends FieldBase {
|
|
9
|
+
constructor(compService, componentErrorHandler) {
|
|
10
|
+
super(compService);
|
|
11
|
+
this.componentErrorHandler = componentErrorHandler;
|
|
12
|
+
this.errMsgList = [];
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() { }
|
|
15
|
+
IsShow() {
|
|
16
|
+
if (this.form.untouched) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
const control = this.form.controls[this.data.Value];
|
|
20
|
+
const isShow = !control.valid && !control.untouched;
|
|
21
|
+
if (isShow) {
|
|
22
|
+
this.errMsgList = this.componentErrorHandler.getErrorMessageForInvalidInput(this.group, null, this.data.Value);
|
|
23
|
+
}
|
|
24
|
+
return isShow;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
InputErrorMessageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InputErrorMessageComponent, deps: [{ token: i1.ZComponentService }, { token: i2.ComponentErrorHandlerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
28
|
+
InputErrorMessageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: InputErrorMessageComponent, selector: "app-error", usesInheritance: true, ngImport: i0, template: "<div class=\"inputfield-error-msg\" *ngIf=\"IsShow()\">\r\n <div *ngFor=\"let errMsg of errMsgList\">\r\n <span #warning class=\"k-icon k-i-warning validation_icon\"></span>\r\n <ion-label>{{errMsg}}</ion-label>\r\n </div>\r\n</div>\r\n", styles: [".inputfield-error-msg{margin-top:5px;font-size:calc(var(--content-font-size) - 1px);color:var(--ion-color-danger)}.inputfield-error-msg span{margin:0 4px 0 2px;font-size:calc(var(--content-font-size) + 1px);top:-1px}\n"], components: [{ type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: InputErrorMessageComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ selector: "app-error", template: "<div class=\"inputfield-error-msg\" *ngIf=\"IsShow()\">\r\n <div *ngFor=\"let errMsg of errMsgList\">\r\n <span #warning class=\"k-icon k-i-warning validation_icon\"></span>\r\n <ion-label>{{errMsg}}</ion-label>\r\n </div>\r\n</div>\r\n", styles: [".inputfield-error-msg{margin-top:5px;font-size:calc(var(--content-font-size) - 1px);color:var(--ion-color-danger)}.inputfield-error-msg span{margin:0 4px 0 2px;font-size:calc(var(--content-font-size) + 1px);top:-1px}\n"] }]
|
|
32
|
+
}], ctorParameters: function () { return [{ type: i1.ZComponentService }, { type: i2.ComponentErrorHandlerService }]; } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9pbnB1dC1lcnJvci1tZXNzYWdlL2lucHV0LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvaW5wdXQtZXJyb3ItbWVzc2FnZS9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7Ozs7QUFTOUQsTUFBTSxPQUFPLDBCQUEyQixTQUFRLFNBQVM7SUFDdkQsWUFBWSxXQUE4QixFQUFVLHFCQUFtRDtRQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUF6RSwwQkFBcUIsR0FBckIscUJBQXFCLENBQThCO1FBQ2hHLGVBQVUsR0FBRyxFQUFFLENBQUM7SUFEdUcsQ0FBQztJQUcvSCxRQUFRLEtBQUssQ0FBQztJQUVQLE1BQU07UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0sTUFBTSxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDcEQsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyw4QkFBOEIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQy9HO1FBRUQsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs7d0hBbEJVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLHdFQ1h2QyxzUEFNQTs0RkRLYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgQ29tcG9uZW50RXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9jb21wb25lbnQtZXJyb3ItaGFuZGxlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLWVycm9yXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbnB1dC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2lucHV0LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50LnNjc3NcIl1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0RXJyb3JNZXNzYWdlQ29tcG9uZW50IGV4dGVuZHMgRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsIHByaXZhdGUgY29tcG9uZW50RXJyb3JIYW5kbGVyOiBDb21wb25lbnRFcnJvckhhbmRsZXJTZXJ2aWNlKSB7IHN1cGVyKGNvbXBTZXJ2aWNlKSB9XHJcbiAgcHVibGljIGVyck1zZ0xpc3QgPSBbXTtcclxuXHJcbiAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgcHVibGljIElzU2hvdygpOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLmZvcm0udW50b3VjaGVkKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjb250cm9sID0gdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBjb25zdCBpc1Nob3cgPSAhY29udHJvbC52YWxpZCAmJiAhY29udHJvbC51bnRvdWNoZWQ7XHJcbiAgICBpZiAoaXNTaG93KSB7XHJcbiAgICAgIHRoaXMuZXJyTXNnTGlzdCA9IHRoaXMuY29tcG9uZW50RXJyb3JIYW5kbGVyLmdldEVycm9yTWVzc2FnZUZvckludmFsaWRJbnB1dCh0aGlzLmdyb3VwLCBudWxsLCB0aGlzLmRhdGEuVmFsdWUpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlzU2hvdztcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0ZmllbGQtZXJyb3ItbXNnXCIgKm5nSWY9XCJJc1Nob3coKVwiPlxyXG4gIDxkaXYgKm5nRm9yPVwibGV0IGVyck1zZyBvZiBlcnJNc2dMaXN0XCI+XHJcbiAgICA8c3BhbiAjd2FybmluZyBjbGFzcz1cImstaWNvbiBrLWktd2FybmluZyB2YWxpZGF0aW9uX2ljb25cIj48L3NwYW4+XHJcbiAgICA8aW9uLWxhYmVsPnt7ZXJyTXNnfX08L2lvbi1sYWJlbD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Component } from "@angular/core";
|
|
2
|
+
import { FormGroup } from "@angular/forms";
|
|
3
|
+
import { ZComponentHelper } from "mmhglobal-zcore";
|
|
4
|
+
import { ContainerFieldBase } from "../components/containerfieldbase.component";
|
|
5
|
+
import { tap, of, switchMap } from "rxjs";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../services/main.service";
|
|
8
|
+
import * as i2 from "../services/zcomponent.service";
|
|
9
|
+
import * as i3 from "@progress/kendo-angular-layout";
|
|
10
|
+
import * as i4 from "@fortawesome/angular-fontawesome";
|
|
11
|
+
import * as i5 from "@ionic/angular";
|
|
12
|
+
import * as i6 from "../zdiv/zdiv.component";
|
|
13
|
+
import * as i7 from "@angular/common";
|
|
14
|
+
import * as i8 from "@angular/flex-layout/extended";
|
|
15
|
+
export class KcardComponent extends ContainerFieldBase {
|
|
16
|
+
constructor(mainService, compService) {
|
|
17
|
+
super(compService);
|
|
18
|
+
this.mainService = mainService;
|
|
19
|
+
}
|
|
20
|
+
ngOnInit() {
|
|
21
|
+
super.initComponent().pipe(tap(() => {
|
|
22
|
+
this.compService.setEditMode(this);
|
|
23
|
+
this.getFieldValues();
|
|
24
|
+
this.myModel = Object.assign({}, this.group.zModel);
|
|
25
|
+
this.isLoading = false;
|
|
26
|
+
}), switchMap(() => {
|
|
27
|
+
if (this.data.EditButtonVisible) {
|
|
28
|
+
return super.translateToolBarItems();
|
|
29
|
+
}
|
|
30
|
+
return of([]);
|
|
31
|
+
}))
|
|
32
|
+
.subscribe();
|
|
33
|
+
}
|
|
34
|
+
saveData() {
|
|
35
|
+
const myGroup = Object.assign({}, this.group);
|
|
36
|
+
myGroup.zModel = this.myModel;
|
|
37
|
+
this.mainService.updateModelObservable(null, myGroup, this.myFormGroup).subscribe({
|
|
38
|
+
next: (resp) => {
|
|
39
|
+
if (resp) {
|
|
40
|
+
this.initValue = this.myFormGroup.value;
|
|
41
|
+
this.toggleEditMode();
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
error: () => {
|
|
45
|
+
this.mainService.handleError("Failed to update record, please contact IT Admin.");
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
cancelEdit() {
|
|
50
|
+
this.myFormGroup.reset(this.initValue);
|
|
51
|
+
for (const key of Object.keys(this.initValue)) {
|
|
52
|
+
ZComponentHelper.setModelValue(key, this.initValue[key], this.group, true);
|
|
53
|
+
}
|
|
54
|
+
this.toggleEditMode();
|
|
55
|
+
}
|
|
56
|
+
getFieldValues() {
|
|
57
|
+
if (this.data.EditButtonVisible && Array.isArray(this.data.Value)) {
|
|
58
|
+
const formControls = {};
|
|
59
|
+
this.getFormControls(this.data.Value, formControls);
|
|
60
|
+
this.myFormGroup = new FormGroup(formControls);
|
|
61
|
+
this.initValue = this.myFormGroup.value;
|
|
62
|
+
this.data = JSON.parse(JSON.stringify(this.data));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
getFormControls(fieldArray, formControls) {
|
|
66
|
+
fieldArray.forEach(field => {
|
|
67
|
+
if (!(typeof field.Value === "string" && field.Value.indexOf(".") !== -1)) {
|
|
68
|
+
if (Array.isArray(field.Value)) {
|
|
69
|
+
this.getFormControls(field.Value, formControls);
|
|
70
|
+
}
|
|
71
|
+
else if (this.form.controls[field.Value]) {
|
|
72
|
+
formControls[field.Value] = this.form.controls[field.Value];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
KcardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: KcardComponent, deps: [{ token: i1.MainService }, { token: i2.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
|
|
79
|
+
KcardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: KcardComponent, selector: "app-kcard", usesInheritance: true, ngImport: i0, template: "<div class=\"kcard-container e1tag-container-style\"\r\n *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"data.Class\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-card [ngClass]=\"getClass(null, data)\" [style]=\"componentProperties.containerStyle.style1\"\r\n [class]=\"data.ComponentStyleType\" class=\"e1tag-container-style1\">\r\n <kendo-card-header class=\"k-hstack card-header e1tag-container-style2\" *ngIf=\"data.Icon || data.Title\"\r\n [style]=\"componentProperties.containerStyle.style2\">\r\n <div kendoCardTitle class=\"card-header-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <div class=\"left-panel e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">\r\n <fa-icon *ngIf=\"componentProperties.icon\" class=\"card-icon e1tag-container-style6\"\r\n [icon]=\"getFontAwesome(componentProperties.icon.toString())\"\r\n [style]=\"componentProperties.containerStyle.style6\"></fa-icon>\r\n <ion-label *ngIf=\"componentProperties.title\" class=\"card-title e1tag-container-style7\"\r\n [style]=\"componentProperties.containerStyle.style7\">{{componentProperties.title}}</ion-label>\r\n </div>\r\n <div class=\"right-panel e1tag-container-style5\" *ngIf=\"data.EditButtonVisible\" [style]=\"componentProperties.containerStyle.style5\">\r\n <div class=\"read-mode-btns\" *ngIf=\"!data.EditMode.value\">\r\n <ion-button fill=\"outline\" size=\"default\" strong=\"true\" (click)=\"toggleEditMode()\">\r\n <fa-icon icon=\"edit\"></fa-icon>\r\n <span class=\"btn-label ion-text-capitalize\">{{ getToolBarItemLabelName('Edit') }}</span>\r\n </ion-button>\r\n </div>\r\n <div class=\"edit-mode-btns\" *ngIf=\"data.EditMode.value\">\r\n <ion-button fill=\"solid\" size=\"default\" strong=\"true\" (click)=\"saveData()\">\r\n <fa-icon icon=\"check\"></fa-icon>\r\n <span class=\"btn-label ion-text-capitalize\">{{ getToolBarItemLabelName('Save') }}</span>\r\n </ion-button>\r\n <ion-button fill=\"clear\" size=\"small\" strong=\"false\" (click)=\"cancelEdit()\">\r\n <span class=\"btn-label ion-text-capitalize\">{{ getToolBarItemLabelName('Cancel') }}</span>\r\n </ion-button>\r\n </div>\r\n </div>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <app-zdiv class=\"e1tag-container-style8\" [style]=\"componentProperties.containerStyle.style8\" [data]=\"data\"\r\n [form]=\"myFormGroup ? myFormGroup : form\" [group]=\"group\">\r\n </app-zdiv>\r\n\r\n <!-- <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass :\r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of data.Value | divzlayout: data.zlayout\" [field]=\"field\" [group]=\"group\" [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol> -->\r\n </kendo-card-body>\r\n </kendo-card>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-card{width:100%!important;margin:auto auto 10px;border-radius:var(--ion-container-border-radius);margin-top:var(--container-margin-top)}:host ::ng-deep kendo-card.left-border-primary{border-left:5px solid var(--ion-color-primary)}:host ::ng-deep kendo-card>.card-header{color:var(--ion-color-primary-shade);padding:0;padding-top:--container-title-padding-top-and-bottom;padding-bottom:--container-title-padding-top-and-bottom}:host ::ng-deep kendo-card>.card-header>.card-header-content{display:flex;width:100%;font-size:var(--content-title-font-size)}:host ::ng-deep kendo-card>.card-header>.card-header-content>.left-panel{padding:12px 16px;flex-grow:1}:host ::ng-deep kendo-card>.card-header>.card-header-content>.left-panel>.card-icon{margin-right:15px}:host ::ng-deep kendo-card>.card-header>.card-header-content>.left-panel>.card-title{font-weight:600}:host ::ng-deep kendo-card>.card-header>.card-header-content>.right-panel{margin:auto 5px}:host ::ng-deep kendo-card>.card-header>.card-header-content>.right-panel ion-button{height:30px}:host ::ng-deep kendo-card>.card-header>.card-header-content>.right-panel ion-button .btn-label{padding-left:5px}:host ::ng-deep kendo-card .k-card-body{padding:5px 10px var(--container-padding-bottom) 5px}:host ::ng-deep kendo-card.body-padding-0 .k-card-body{padding:0}.kcard-container{margin-left:5px}\n"], components: [{ type: i3.CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { type: i3.CardHeaderComponent, selector: "kendo-card-header" }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i5.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i5.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i3.CardBodyComponent, selector: "kendo-card-body" }, { type: i6.ZdivComponent, selector: "app-zdiv" }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i3.CardTitleDirective, selector: "[kendoCardTitle]" }] });
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: KcardComponent, decorators: [{
|
|
81
|
+
type: Component,
|
|
82
|
+
args: [{ selector: "app-kcard", template: "<div class=\"kcard-container e1tag-container-style\"\r\n *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"data.Class\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-card [ngClass]=\"getClass(null, data)\" [style]=\"componentProperties.containerStyle.style1\"\r\n [class]=\"data.ComponentStyleType\" class=\"e1tag-container-style1\">\r\n <kendo-card-header class=\"k-hstack card-header e1tag-container-style2\" *ngIf=\"data.Icon || data.Title\"\r\n [style]=\"componentProperties.containerStyle.style2\">\r\n <div kendoCardTitle class=\"card-header-content e1tag-container-style3\" [style]=\"componentProperties.containerStyle.style3\">\r\n <div class=\"left-panel e1tag-container-style4\" [style]=\"componentProperties.containerStyle.style4\">\r\n <fa-icon *ngIf=\"componentProperties.icon\" class=\"card-icon e1tag-container-style6\"\r\n [icon]=\"getFontAwesome(componentProperties.icon.toString())\"\r\n [style]=\"componentProperties.containerStyle.style6\"></fa-icon>\r\n <ion-label *ngIf=\"componentProperties.title\" class=\"card-title e1tag-container-style7\"\r\n [style]=\"componentProperties.containerStyle.style7\">{{componentProperties.title}}</ion-label>\r\n </div>\r\n <div class=\"right-panel e1tag-container-style5\" *ngIf=\"data.EditButtonVisible\" [style]=\"componentProperties.containerStyle.style5\">\r\n <div class=\"read-mode-btns\" *ngIf=\"!data.EditMode.value\">\r\n <ion-button fill=\"outline\" size=\"default\" strong=\"true\" (click)=\"toggleEditMode()\">\r\n <fa-icon icon=\"edit\"></fa-icon>\r\n <span class=\"btn-label ion-text-capitalize\">{{ getToolBarItemLabelName('Edit') }}</span>\r\n </ion-button>\r\n </div>\r\n <div class=\"edit-mode-btns\" *ngIf=\"data.EditMode.value\">\r\n <ion-button fill=\"solid\" size=\"default\" strong=\"true\" (click)=\"saveData()\">\r\n <fa-icon icon=\"check\"></fa-icon>\r\n <span class=\"btn-label ion-text-capitalize\">{{ getToolBarItemLabelName('Save') }}</span>\r\n </ion-button>\r\n <ion-button fill=\"clear\" size=\"small\" strong=\"false\" (click)=\"cancelEdit()\">\r\n <span class=\"btn-label ion-text-capitalize\">{{ getToolBarItemLabelName('Cancel') }}</span>\r\n </ion-button>\r\n </div>\r\n </div>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <app-zdiv class=\"e1tag-container-style8\" [style]=\"componentProperties.containerStyle.style8\" [data]=\"data\"\r\n [form]=\"myFormGroup ? myFormGroup : form\" [group]=\"group\">\r\n </app-zdiv>\r\n\r\n <!-- <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass :\r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of data.Value | divzlayout: data.zlayout\" [field]=\"field\" [group]=\"group\" [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol> -->\r\n </kendo-card-body>\r\n </kendo-card>\r\n</div>\r\n", styles: [":host ::ng-deep kendo-card{width:100%!important;margin:auto auto 10px;border-radius:var(--ion-container-border-radius);margin-top:var(--container-margin-top)}:host ::ng-deep kendo-card.left-border-primary{border-left:5px solid var(--ion-color-primary)}:host ::ng-deep kendo-card>.card-header{color:var(--ion-color-primary-shade);padding:0;padding-top:--container-title-padding-top-and-bottom;padding-bottom:--container-title-padding-top-and-bottom}:host ::ng-deep kendo-card>.card-header>.card-header-content{display:flex;width:100%;font-size:var(--content-title-font-size)}:host ::ng-deep kendo-card>.card-header>.card-header-content>.left-panel{padding:12px 16px;flex-grow:1}:host ::ng-deep kendo-card>.card-header>.card-header-content>.left-panel>.card-icon{margin-right:15px}:host ::ng-deep kendo-card>.card-header>.card-header-content>.left-panel>.card-title{font-weight:600}:host ::ng-deep kendo-card>.card-header>.card-header-content>.right-panel{margin:auto 5px}:host ::ng-deep kendo-card>.card-header>.card-header-content>.right-panel ion-button{height:30px}:host ::ng-deep kendo-card>.card-header>.card-header-content>.right-panel ion-button .btn-label{padding-left:5px}:host ::ng-deep kendo-card .k-card-body{padding:5px 10px var(--container-padding-bottom) 5px}:host ::ng-deep kendo-card.body-padding-0 .k-card-body{padding:0}.kcard-container{margin-left:5px}\n"] }]
|
|
83
|
+
}], ctorParameters: function () { return [{ type: i1.MainService }, { type: i2.ZComponentService }]; } });
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2NhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIva2NhcmQva2NhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIva2NhcmQva2NhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQWUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFjLGdCQUFnQixFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFHaEYsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxjQUFlLFNBQVEsa0JBQWtCO0lBS3BELFlBQ1UsV0FBd0IsRUFDaEMsV0FBOEI7UUFFOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBSFYsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFJbEMsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ1AsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtB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Q0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFO29CQUMxQyxZQUFZLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQVEsQ0FBQztpQkFDcEU7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7NEdBN0VVLGNBQWM7Z0dBQWQsY0FBYyx3RUNiM0IsK3VHQStDQTs0RkRsQ2EsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgQ29udGFpbmVyRmllbGRCYXNlIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy9tYWluLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IHRhcCwgb2YsIHN3aXRjaE1hcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAta2NhcmRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2tjYXJkLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2tjYXJkLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS2NhcmRDb21wb25lbnQgZXh0ZW5kcyBDb250YWluZXJGaWVsZEJhc2UgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIHB1YmxpYyBteUZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG4gIHByaXZhdGUgaW5pdFZhbHVlOiBhbnk7XHJcbiAgcHJpdmF0ZSBteU1vZGVsOiBhbnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBtYWluU2VydmljZTogTWFpblNlcnZpY2UsXHJcbiAgICBjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UsXHJcbiAgKSB7XHJcbiAgICBzdXBlcihjb21wU2VydmljZSlcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIuaW5pdENvbXBvbmVudCgpLnBpcGUoXHJcbiAgICAgIHRhcCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb21wU2VydmljZS5zZXRFZGl0TW9kZSh0aGlzKTtcclxuICAgICAgICB0aGlzLmdldEZpZWxkVmFsdWVzKCk7XHJcbiAgICAgICAgdGhpcy5teU1vZGVsID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5ncm91cC56TW9kZWwpO1xyXG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIH0pLFxyXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLmRhdGEuRWRpdEJ1dHRvblZpc2libGUpIHtcclxuICAgICAgICAgIHJldHVybiBzdXBlci50cmFuc2xhdGVUb29sQmFySXRlbXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG9mKFtdKTtcclxuICAgICAgfSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzYXZlRGF0YSgpIHtcclxuICAgIGNvbnN0IG15R3JvdXAgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmdyb3VwKTtcclxuICAgIG15R3JvdXAuek1vZGVsID0gdGhpcy5teU1vZGVsO1xyXG5cclxuICAgIHRoaXMubWFpblNlcnZpY2UudXBkYXRlTW9kZWxPYnNlcnZhYmxlKG51bGwsIG15R3JvdXAsIHRoaXMubXlGb3JtR3JvdXApLnN1YnNjcmliZShcclxuICAgICAge1xyXG4gICAgICAgIG5leHQ6IChyZXNwKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcCkge1xyXG4gICAgICAgICAgICB0aGlzLmluaXRWYWx1ZSA9IHRoaXMubXlGb3JtR3JvdXAudmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRWRpdE1vZGUoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm1haW5TZXJ2aWNlLmhhbmRsZUVycm9yKFwiRmFpbGVkIHRvIHVwZGF0ZSByZWNvcmQsIHBsZWFzZSBjb250YWN0IElUIEFkbWluLlwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FuY2VsRWRpdCgpIHtcclxuICAgIHRoaXMubXlGb3JtR3JvdXAucmVzZXQodGhpcy5pbml0VmFsdWUpO1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModGhpcy5pbml0VmFsdWUpKSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIuc2V0TW9kZWxWYWx1ZShrZXksIHRoaXMuaW5pdFZhbHVlW2tleV0sIHRoaXMuZ3JvdXAsIHRydWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy50b2dnbGVFZGl0TW9kZSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWVsZFZhbHVlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGEuRWRpdEJ1dHRvblZpc2libGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLmRhdGEuVmFsdWUpKSB7XHJcbiAgICAgIGNvbnN0IGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9ID0ge307XHJcbiAgICAgIHRoaXMuZ2V0Rm9ybUNvbnRyb2xzKHRoaXMuZGF0YS5WYWx1ZSwgZm9ybUNvbnRyb2xzKTtcclxuICAgICAgdGhpcy5teUZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoZm9ybUNvbnRyb2xzKTtcclxuICAgICAgdGhpcy5pbml0VmFsdWUgPSB0aGlzLm15Rm9ybUdyb3VwLnZhbHVlO1xyXG5cclxuICAgICAgdGhpcy5kYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmRhdGEpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Rm9ybUNvbnRyb2xzKGZpZWxkQXJyYXk6IEFycmF5PFpGaWVsZD4sIGZvcm1Db250cm9sczogeyBba2V5OiBzdHJpbmddOiBGb3JtQ29udHJvbCB9KSB7XHJcbiAgICBmaWVsZEFycmF5LmZvckVhY2goZmllbGQgPT4ge1xyXG4gICAgICBpZiAoISh0eXBlb2YgZmllbGQuVmFsdWUgPT09IFwic3RyaW5nXCIgJiYgZmllbGQuVmFsdWUuaW5kZXhPZihcIi5cIikgIT09IC0xKSkge1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGZpZWxkLlZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5nZXRGb3JtQ29udHJvbHMoZmllbGQuVmFsdWUsIGZvcm1Db250cm9scyk7XHJcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmZvcm0uY29udHJvbHNbZmllbGQuVmFsdWVdKSB7XHJcbiAgICAgICAgICBmb3JtQ29udHJvbHNbZmllbGQuVmFsdWVdID0gdGhpcy5mb3JtLmNvbnRyb2xzW2ZpZWxkLlZhbHVlXSBhcyBhbnk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImtjYXJkLWNvbnRhaW5lciBlMXRhZy1jb250YWluZXItc3R5bGVcIlxyXG4gICpuZ0lmPVwiIWlzTG9hZGluZyAmJiAoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSlcIlxyXG4gIFtuZ0NsYXNzXT1cImRhdGEuQ2xhc3NcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZVwiIFtjbGFzc109XCJkYXRhLkNvbXBvbmVudFN0eWxlVHlwZVwiPlxyXG4gIDxrZW5kby1jYXJkIFtuZ0NsYXNzXT1cImdldENsYXNzKG51bGwsIGRhdGEpXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUxXCJcclxuICAgIFtjbGFzc109XCJkYXRhLkNvbXBvbmVudFN0eWxlVHlwZVwiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMVwiPlxyXG4gICAgPGtlbmRvLWNhcmQtaGVhZGVyIGNsYXNzPVwiay1oc3RhY2sgY2FyZC1oZWFkZXIgZTF0YWctY29udGFpbmVyLXN0eWxlMlwiICpuZ0lmPVwiZGF0YS5JY29uIHx8IGRhdGEuVGl0bGVcIlxyXG4gICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTJcIj5cclxuICAgICAgPGRpdiBrZW5kb0NhcmRUaXRsZSBjbGFzcz1cImNhcmQtaGVhZGVyLWNvbnRlbnQgZTF0YWctY29udGFpbmVyLXN0eWxlM1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXBhbmVsIGUxdGFnLWNvbnRhaW5lci1zdHlsZTRcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTRcIj5cclxuICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiY29tcG9uZW50UHJvcGVydGllcy5pY29uXCIgY2xhc3M9XCJjYXJkLWljb24gZTF0YWctY29udGFpbmVyLXN0eWxlNlwiXHJcbiAgICAgICAgICAgIFtpY29uXT1cImdldEZvbnRBd2Vzb21lKGNvbXBvbmVudFByb3BlcnRpZXMuaWNvbi50b1N0cmluZygpKVwiXHJcbiAgICAgICAgICAgIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlNlwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgIDxpb24tbGFiZWwgKm5nSWY9XCJjb21wb25lbnRQcm9wZXJ0aWVzLnRpdGxlXCIgY2xhc3M9XCJjYXJkLXRpdGxlIGUxdGFnLWNvbnRhaW5lci1zdHlsZTdcIlxyXG4gICAgICAgICAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTdcIj57e2NvbXBvbmVudFByb3BlcnRpZXMudGl0bGV9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyaWdodC1wYW5lbCBlMXRhZy1jb250YWluZXItc3R5bGU1XCIgKm5nSWY9XCJkYXRhLkVkaXRCdXR0b25WaXNpYmxlXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGU1XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicmVhZC1tb2RlLWJ0bnNcIiAqbmdJZj1cIiFkYXRhLkVkaXRNb2RlLnZhbHVlXCI+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cImRlZmF1bHRcIiBzdHJvbmc9XCJ0cnVlXCIgKGNsaWNrKT1cInRvZ2dsZUVkaXRNb2RlKClcIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwiZWRpdFwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJ0bi1sYWJlbCBpb24tdGV4dC1jYXBpdGFsaXplXCI+e3sgZ2V0VG9vbEJhckl0ZW1MYWJlbE5hbWUoJ0VkaXQnKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdC1tb2RlLWJ0bnNcIiAqbmdJZj1cImRhdGEuRWRpdE1vZGUudmFsdWVcIj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cInNvbGlkXCIgc2l6ZT1cImRlZmF1bHRcIiBzdHJvbmc9XCJ0cnVlXCIgKGNsaWNrKT1cInNhdmVEYXRhKClcIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiBpY29uPVwiY2hlY2tcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidG4tbGFiZWwgaW9uLXRleHQtY2FwaXRhbGl6ZVwiPnt7IGdldFRvb2xCYXJJdGVtTGFiZWxOYW1lKCdTYXZlJykgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gZmlsbD1cImNsZWFyXCIgc2l6ZT1cInNtYWxsXCIgc3Ryb25nPVwiZmFsc2VcIiAoY2xpY2spPVwiY2FuY2VsRWRpdCgpXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJidG4tbGFiZWwgaW9uLXRleHQtY2FwaXRhbGl6ZVwiPnt7IGdldFRvb2xCYXJJdGVtTGFiZWxOYW1lKCdDYW5jZWwnKSB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9rZW5kby1jYXJkLWhlYWRlcj5cclxuICAgIDxrZW5kby1jYXJkLWJvZHk+XHJcbiAgICAgIDxhcHAtemRpdiBjbGFzcz1cImUxdGFnLWNvbnRhaW5lci1zdHlsZThcIiBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZThcIiBbZGF0YV09XCJkYXRhXCJcclxuICAgICAgICBbZm9ybV09XCJteUZvcm1Hcm91cCA/IG15Rm9ybUdyb3VwIDogZm9ybVwiIFtncm91cF09XCJncm91cFwiPlxyXG4gICAgICA8L2FwcC16ZGl2PlxyXG5cclxuICAgICAgPCEtLSA8YXBwLXpmb3JtY29udHJvbCBbbmdDbGFzc109XCJncm91cFtmaWVsZC5pc1Zpc2libGVGaWVsZF0gPyBmaWVsZC5EaXZDbGFzcyA6XHJcbiAgICAgICgoZmllbGQuVmlzaWJsZSA9PT0gdHJ1ZSkgPyAgZmllbGQuRGl2Q2xhc3MgOiAnZmxleC1oaWRlJylcIlxyXG4gICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZGF0YS5WYWx1ZSB8IGRpdnpsYXlvdXQ6IGRhdGEuemxheW91dFwiIFtmaWVsZF09XCJmaWVsZFwiIFtncm91cF09XCJncm91cFwiIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICBpZD1cInt7ZmllbGQuVHlwZX19LXt7ZmllbGQuTmFtZX19XCI+XHJcbiAgICA8L2FwcC16Zm9ybWNvbnRyb2w+IC0tPlxyXG4gICAgPC9rZW5kby1jYXJkLWJvZHk+XHJcbiAgPC9rZW5kby1jYXJkPlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -11,6 +11,7 @@ import { IonicSelectableModule } from 'ionic-selectable';
|
|
|
11
11
|
import { AceEditorModule } from 'ng2-ace-editor';
|
|
12
12
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
13
13
|
import { QueryBuilderModule } from "angular2-query-builder";
|
|
14
|
+
import { FlexLayoutModule } from "@angular/flex-layout";
|
|
14
15
|
/********** Kendo **********/
|
|
15
16
|
import { ArcGaugeModule } from '@progress/kendo-angular-gauges';
|
|
16
17
|
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
|
@@ -31,10 +32,11 @@ import { SchedulerModule } from '@progress/kendo-angular-scheduler';
|
|
|
31
32
|
import { TreeListModule } from '@progress/kendo-angular-treelist';
|
|
32
33
|
import { TreeViewModule } from '@progress/kendo-angular-treeview';
|
|
33
34
|
import { TooltipModule } from '@progress/kendo-angular-tooltip';
|
|
35
|
+
import { PopoverModule } from "@progress/kendo-angular-tooltip";
|
|
34
36
|
import { UploadModule, UploadsModule } from '@progress/kendo-angular-upload';
|
|
37
|
+
import { NavigationModule } from '@progress/kendo-angular-navigation';
|
|
35
38
|
/********** Service & Directive **********/
|
|
36
39
|
import { ZCoreModule } from 'mmhglobal-zcore';
|
|
37
|
-
import { MmhglobalMiddlewareModule } from 'mmhglobal-middleware';
|
|
38
40
|
import { MmhglobalZmodalModule, ModalService } from 'mmhglobal-zmodal';
|
|
39
41
|
import { ScrollbarThemeDirective } from './directives/scrollbar.theme.directive';
|
|
40
42
|
import { FieldElementDirective } from './directives/fieldelement.directive';
|
|
@@ -47,6 +49,8 @@ import { DateParserFilter } from './zdatetime/dateParser.pipe';
|
|
|
47
49
|
import { EditorFilter } from './zcodeeditor/zcodeeditor.pipe';
|
|
48
50
|
import { DivzLayout } from './zdiv/zdiv.pipe';
|
|
49
51
|
import { TabFilter } from './ztab/ztab.pipe';
|
|
52
|
+
import { ZInputParser } from './zinput-container/zinput-container.pipe';
|
|
53
|
+
import { HtmlSanitizePipe } from './pipe/htmlSanitize.pipe';
|
|
50
54
|
import { DateRangeFilterCellComponent } from './zgrid/date-range-cell-filter.component';
|
|
51
55
|
import { ZSchedulerToolBarComponent } from './zscheduler/zscheduler.toolbar.component';
|
|
52
56
|
/********** zComponent **********/
|
|
@@ -96,6 +100,11 @@ import { ZunknownComponent } from "./zunknown/zunknown.component";
|
|
|
96
100
|
import { ZudfComponent } from './zudf/zudf.component';
|
|
97
101
|
import { ZuploadComponent } from './zupload/zupload.component';
|
|
98
102
|
import { ZworkflowbuttonsComponent } from "./zworkflowbuttons/zworkflowbuttons.component";
|
|
103
|
+
import { KcardComponent } from './kcard/kcard.component';
|
|
104
|
+
import { ZInputContainerComponent } from './zinput-container/zinput-container.component';
|
|
105
|
+
import { ZprogressbarComponent } from './zprogressbar/zprogressbar.component';
|
|
106
|
+
import { InputErrorMessageComponent } from './input-error-message/input-error-message.component';
|
|
107
|
+
import { InputFieldAddOnsComponent } from './embed-components/input-field-addons/input-field-addons.component';
|
|
99
108
|
import * as i0 from "@angular/core";
|
|
100
109
|
export class MmhglobalDynamicformModule {
|
|
101
110
|
}
|
|
@@ -157,7 +166,14 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
157
166
|
ZunknownComponent,
|
|
158
167
|
ZudfComponent,
|
|
159
168
|
ZuploadComponent,
|
|
160
|
-
ZworkflowbuttonsComponent
|
|
169
|
+
ZworkflowbuttonsComponent,
|
|
170
|
+
KcardComponent,
|
|
171
|
+
ZInputContainerComponent,
|
|
172
|
+
ZprogressbarComponent,
|
|
173
|
+
ZInputParser,
|
|
174
|
+
HtmlSanitizePipe,
|
|
175
|
+
InputErrorMessageComponent,
|
|
176
|
+
InputFieldAddOnsComponent], imports: [IonicModule,
|
|
161
177
|
IonicSelectableModule,
|
|
162
178
|
CommonModule,
|
|
163
179
|
RouterModule,
|
|
@@ -191,11 +207,13 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
191
207
|
TreeListModule,
|
|
192
208
|
TreeViewModule,
|
|
193
209
|
TooltipModule,
|
|
210
|
+
PopoverModule,
|
|
194
211
|
UploadModule,
|
|
195
212
|
UploadsModule,
|
|
196
213
|
ZCoreModule,
|
|
197
|
-
|
|
198
|
-
|
|
214
|
+
MmhglobalZmodalModule,
|
|
215
|
+
NavigationModule,
|
|
216
|
+
FlexLayoutModule], exports: [ScrollbarThemeDirective,
|
|
199
217
|
FieldElementDirective,
|
|
200
218
|
ZGridBindingDirective,
|
|
201
219
|
ZGridPopupAnchorDirective,
|
|
@@ -252,7 +270,13 @@ MmhglobalDynamicformModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.
|
|
|
252
270
|
ZunknownComponent,
|
|
253
271
|
ZudfComponent,
|
|
254
272
|
ZuploadComponent,
|
|
255
|
-
ZworkflowbuttonsComponent
|
|
273
|
+
ZworkflowbuttonsComponent,
|
|
274
|
+
ZInputContainerComponent,
|
|
275
|
+
ZprogressbarComponent,
|
|
276
|
+
ZInputParser,
|
|
277
|
+
HtmlSanitizePipe,
|
|
278
|
+
InputErrorMessageComponent,
|
|
279
|
+
InputFieldAddOnsComponent] });
|
|
256
280
|
MmhglobalDynamicformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MmhglobalDynamicformModule, providers: [
|
|
257
281
|
ModalService
|
|
258
282
|
], imports: [[
|
|
@@ -290,11 +314,13 @@ MmhglobalDynamicformModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
|
|
|
290
314
|
TreeListModule,
|
|
291
315
|
TreeViewModule,
|
|
292
316
|
TooltipModule,
|
|
317
|
+
PopoverModule,
|
|
293
318
|
UploadModule,
|
|
294
319
|
UploadsModule,
|
|
295
320
|
ZCoreModule,
|
|
296
|
-
|
|
297
|
-
|
|
321
|
+
MmhglobalZmodalModule,
|
|
322
|
+
NavigationModule,
|
|
323
|
+
FlexLayoutModule
|
|
298
324
|
]] });
|
|
299
325
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MmhglobalDynamicformModule, decorators: [{
|
|
300
326
|
type: NgModule,
|
|
@@ -357,7 +383,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
357
383
|
ZunknownComponent,
|
|
358
384
|
ZudfComponent,
|
|
359
385
|
ZuploadComponent,
|
|
360
|
-
ZworkflowbuttonsComponent
|
|
386
|
+
ZworkflowbuttonsComponent,
|
|
387
|
+
KcardComponent,
|
|
388
|
+
ZInputContainerComponent,
|
|
389
|
+
ZprogressbarComponent,
|
|
390
|
+
ZInputParser,
|
|
391
|
+
HtmlSanitizePipe,
|
|
392
|
+
InputErrorMessageComponent,
|
|
393
|
+
InputFieldAddOnsComponent
|
|
361
394
|
],
|
|
362
395
|
imports: [
|
|
363
396
|
IonicModule,
|
|
@@ -394,11 +427,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
394
427
|
TreeListModule,
|
|
395
428
|
TreeViewModule,
|
|
396
429
|
TooltipModule,
|
|
430
|
+
PopoverModule,
|
|
397
431
|
UploadModule,
|
|
398
432
|
UploadsModule,
|
|
399
433
|
ZCoreModule,
|
|
400
|
-
|
|
401
|
-
|
|
434
|
+
MmhglobalZmodalModule,
|
|
435
|
+
NavigationModule,
|
|
436
|
+
FlexLayoutModule
|
|
402
437
|
],
|
|
403
438
|
exports: [
|
|
404
439
|
ScrollbarThemeDirective,
|
|
@@ -458,7 +493,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
458
493
|
ZunknownComponent,
|
|
459
494
|
ZudfComponent,
|
|
460
495
|
ZuploadComponent,
|
|
461
|
-
ZworkflowbuttonsComponent
|
|
496
|
+
ZworkflowbuttonsComponent,
|
|
497
|
+
ZInputContainerComponent,
|
|
498
|
+
ZprogressbarComponent,
|
|
499
|
+
ZInputParser,
|
|
500
|
+
HtmlSanitizePipe,
|
|
501
|
+
InputErrorMessageComponent,
|
|
502
|
+
InputFieldAddOnsComponent
|
|
462
503
|
],
|
|
463
504
|
providers: [
|
|
464
505
|
ModalService
|
|
@@ -466,4 +507,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
466
507
|
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
|
467
508
|
}]
|
|
468
509
|
}] });
|
|
469
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1oZ2xvYmFsLWR5bmFtaWNmb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0Msa0ZBQWtGO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFNUQsNkJBQTZCO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFD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QVk7d0JBQ1osVUFBVTt3QkFDVixTQUFTO3dCQUNULDRCQUE0Qjt3QkFDNUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIscUJBQXFCO3dCQUNyQix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1QixnQkFBZ0I7d0JBQ2hCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxvQkFBb0I7d0JBQ3BCLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixlQUFlO3dCQUNmLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixlQUFlO3dCQUNmLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixlQUFlO3dCQUNmLHFCQUFxQjt3QkFDckIsaUJBQWlCO3dCQUNqQix5QkFBeUI7d0JBQ3pCLHNCQUFzQjt3QkFDdEIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixjQUFjO3dCQUNkLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixpQkFBaUI7d0JBQ2pCLGFBQWE7d0JBQ2IsZ0JBQWdCO3dCQUNoQix5QkFBeUI7cUJBQzVCO29CQUNELFNBQVMsRUFBRTt3QkFDUCxZQUFZO3FCQUNmO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNwQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgTmdNb2R1bGUsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuLy8gaW1wb3J0IHsgQnJvd3NlckFuaW1hdGlvbnNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlci9hbmltYXRpb25zXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgSW9uaWNTZWxlY3RhYmxlTW9kdWxlIH0gZnJvbSAnaW9uaWMtc2VsZWN0YWJsZSc7XHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgQWNlRWRpdG9yTW9kdWxlIH0gZnJvbSAnbmcyLWFjZS1lZGl0b3InO1xyXG5pbXBvcnQgeyBGb250QXdlc29tZU1vZHVsZSB9IGZyb20gJ0Bmb3J0YXdlc29tZS9hbmd1bGFyLWZvbnRhd2Vzb21lJztcclxuaW1wb3J0IHsgUXVlcnlCdWlsZGVyTW9kdWxlIH0gZnJvbSBcImFuZ3VsYXIyLXF1ZXJ5LWJ1aWxkZXJcIjtcclxuXHJcbi8qKioqKioqKioqIEtlbmRvICoqKioqKioqKiovXHJcbmltcG9ydCB7IEFyY0dhdWdlTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZ2F1Z2VzJztcclxuaW1wb3J0IHsgQnV0dG9uc01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWJ1dHRvbnMnO1xyXG5pbXBvcnQgeyBDaGFydHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1jaGFydHMnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vZHVsZSwgRGF0ZUlucHV0c01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWRhdGVpbnB1dHMnO1xyXG5pbXBvcnQgeyBEcm9wRG93bnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kcm9wZG93bnMnO1xyXG5pbXBvcnQgeyBFZGl0b3JNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1lZGl0b3InO1xyXG5pbXBvcnQgeyBFeGNlbE1vZHVsZSwgR3JpZE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdyaWQnO1xyXG5pbXBvcnQgeyBJbmRpY2F0b3JzTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWluZGljYXRvcnNcIjtcclxuaW1wb3J0IHsgSW50bE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWludGwnO1xyXG5pbXBvcnQgeyBJbnB1dHNNb2R1bGUsIFN3aXRjaE1vZHVsZSwgVGV4dEJveE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWlucHV0cyc7XHJcbmltcG9ydCB7IExhYmVsTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItbGFiZWwnO1xyXG5pbXBvcnQgeyBMYXlvdXRNb2R1bGUsIFBhbmVsQmFyTW9kdWxlLCBUYWJTdHJpcE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxheW91dCc7XHJcbmltcG9ydCB7IFBvcHVwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcG9wdXAnO1xyXG5pbXBvcnQgeyBQcm9ncmVzc0Jhck1vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1wcm9ncmVzc2JhclwiO1xyXG5pbXBvcnQgeyBUZWxlcmlrUmVwb3J0aW5nTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyJztcclxuaW1wb3J0IHsgU2NoZWR1bGVyTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItc2NoZWR1bGVyJztcclxuaW1wb3J0IHsgVHJlZUxpc3RNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10cmVlbGlzdCc7XHJcbmltcG9ydCB7IFRyZWVWaWV3TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZXZpZXcnO1xyXG5pbXBvcnQgeyBUb29sdGlwTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdG9vbHRpcCc7XHJcbmltcG9ydCB7IFVwbG9hZE1vZHVsZSwgVXBsb2Fkc01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXVwbG9hZCc7XHJcblxyXG4vKioqKioqKioqKiBTZXJ2aWNlICYgRGlyZWN0aXZlICoqKioqKioqKiovXHJcbmltcG9ydCB7IFpDb3JlTW9kdWxlLCBaR3JvdXAgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxNaWRkbGV3YXJlTW9kdWxlIH0gZnJvbSAnbW1oZ2xvYmFsLW1pZGRsZXdhcmUnO1xyXG5pbXBvcnQgeyBNbWhnbG9iYWxabW9kYWxNb2R1bGUsIE1vZGFsU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16bW9kYWwnO1xyXG5pbXBvcnQgeyBNYWluU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvc2Nyb2xsYmFyLnRoZW1lLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEZpZWxkRWxlbWVudERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9maWVsZGVsZW1lbnQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgWkdyaWRCaW5kaW5nRGlyZWN0aXZlIH0gZnJvbSAnLi96Z3JpZC96Z3JpZC5iaW5kaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUgfSBmcm9tICcuL3pncmlkL3pncmlkLnBvcHVwLmFuY2hvci10YXJnZXQuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgT3Blbk9uRm9jdXNEaXJlY3RpdmUgfSBmcm9tICcuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgRWxlbWVudENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9lbGVtZW50Y29udGFpbmVyLmRpcmVjdGl2ZSc7XHJcblxyXG4vKioqKioqKioqKiBBZGRvbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBEYXRlUGFyc2VyRmlsdGVyIH0gZnJvbSAnLi96ZGF0ZXRpbWUvZGF0ZVBhcnNlci5waXBlJztcclxuaW1wb3J0IHsgRWRpdG9yRmlsdGVyIH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5waXBlJztcclxuaW1wb3J0IHsgRGl2ekxheW91dCB9IGZyb20gJy4vemRpdi96ZGl2LnBpcGUnO1xyXG5pbXBvcnQgeyBUYWJGaWx0ZXIgfSBmcm9tICcuL3p0YWIvenRhYi5waXBlJztcclxuaW1wb3J0IHsgRGF0ZVJhbmdlRmlsdGVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vemdyaWQvZGF0ZS1yYW5nZS1jZWxsLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaU2NoZWR1bGVyVG9vbEJhckNvbXBvbmVudCB9IGZyb20gJy4venNjaGVkdWxlci96c2NoZWR1bGVyLnRvb2xiYXIuY29tcG9uZW50JztcclxuXHJcbi8qKioqKioqKioqIHpDb21wb25lbnQgKioqKioqKioqKi9cclxuaW1wb3J0IHsgVWlwYWdlQ29tcG9uZW50IH0gZnJvbSAnLi91aXBhZ2UvdWlwYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpaGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi91aWhlYWRlci91aWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWljb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi91aWNvbnRlbnQvdWljb250ZW50LmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBVaW1lbnVjb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi91aW1lbnVjb250ZW50L3VpbWVudWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWltZW51YnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aW1lbnVidXR0b24vdWltZW51YnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpYXBwbWVudWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpYXBwbWVudWNvbnRlbnQvdWlhcHBtZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWlhY3Rpb25idXR0b24vdWlhY3Rpb25idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vdWl2YWxpZGF0aW9ubWVzc2FnZS91aXZhbGlkYXRpb25tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBaQnVsbGV0Q29tcG9uZW50IH0gZnJvbSBcIi4vemJ1bGxldC96YnVsbGV0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaYnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3pidXR0b25zL3pidXR0b25zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2FyZENvbXBvbmVudCB9IGZyb20gXCIuL3pjYXJkL3pjYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL3pjaGFydC96Y2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi96Y2hlY2tib3gvemNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpDaGlwQ29tcG9uZW50IH0gZnJvbSBcIi4vemNoaXAvemNoaXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpjb2RlZWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZGF0ZXJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXJhbmdlL3pkYXRlcmFuZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmRhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXRpbWUvemRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpkaXZDb21wb25lbnQgfSBmcm9tICcuL3pkaXYvemRpdi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL3pmb3JtL3pmb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZm9ybWNvbnRyb2xDb21wb25lbnQgfSBmcm9tIFwiLi96Zm9ybWNvbnRyb2wvemZvcm1jb250cm9sLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZ2F1Z2VDb21wb25lbnQgfSBmcm9tICcuL3pnYXVnZS96Z2F1Z2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmdyaWRDb21wb25lbnQgfSBmcm9tIFwiLi96Z3JpZC96Z3JpZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmltZ0NvbXBvbmVudCB9IGZyb20gJy4vemltZy96aW1nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFprY2FyZENvbXBvbmVudCB9IGZyb20gJy4vemtjYXJkL3prY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabGFiZWxDb21wb25lbnQgfSBmcm9tICcuL3psYWJlbC96bGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWm1mYkNvbXBvbmVudCB9IGZyb20gJy4vem1mYi96bWZiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFptb2RhbENvbXBvbmVudCB9IGZyb20gXCIuL3ptb2RhbC96bW9kYWwuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFptb2RhbE1vYmlsZUNvbXBvbmVudCB9IGZyb20gXCIuL3ptb2RhbC96bW9kYWwtbW9iaWxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBabnVtZXJpY0NvbXBvbmVudCB9IGZyb20gJy4vem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCB9IGZyb20gJy4venBvc3RzZWxlY3RpbnB1dC96cG9zdHNlbGVjdGlucHV0LmNvbXBvbmVudCc7IFxyXG5pbXBvcnQgeyBacXVlcnlidWlsZGVyQ29tcG9uZW50IH0gZnJvbSAnLi96cXVlcnlidWlsZGVyL3pxdWVyeWJ1aWxkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnJlcG9ydENvbXBvbmVudCB9IGZyb20gJy4venJlcG9ydC96cmVwb3J0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpzY2hlZHVsZXJDb21wb25lbnQgfSBmcm9tICcuL3pzY2hlZHVsZXIvenNjaGVkdWxlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBac2VsZWN0bXVsdGlwbGVDb21wb25lbnQgfSBmcm9tIFwiLi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGFiQ29tcG9uZW50IH0gZnJvbSBcIi4venRhYi96dGFiLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dENvbXBvbmVudCB9IGZyb20gXCIuL3p0ZXh0L3p0ZXh0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBadGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0YXJlYS96dGV4dGFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRleHRlZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3p0ZXh0ZWRpdG9yL3p0ZXh0ZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0cmVlQ29tcG9uZW50IH0gZnJvbSAnLi96dHJlZS96dHJlZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadHJlZWxpc3RDb21wb25lbnQgfSBmcm9tICcuL3p0cmVlbGlzdC96dHJlZWxpc3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRyZW5kY2FyZENvbXBvbmVudCB9IGZyb20gJy4venRyZW5kY2FyZC96dHJlbmRjYXJkLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp1bmtub3duQ29tcG9uZW50IH0gZnJvbSBcIi4venVua25vd24venVua25vd24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFp1ZGZDb21wb25lbnQgfSBmcm9tICcuL3p1ZGYvenVkZi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi96dXBsb2FkL3p1cGxvYWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWndvcmtmbG93YnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3p3b3JrZmxvd2J1dHRvbnMvendvcmtmbG93YnV0dG9ucy5jb21wb25lbnRcIjsgXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUsXHJcbiAgICAgICAgRmllbGRFbGVtZW50RGlyZWN0aXZlLFxyXG4gICAgICAgIFpHcmlkQmluZGluZ0RpcmVjdGl2ZSxcclxuICAgICAgICBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlLFxyXG4gICAgICAgIE9wZW5PbkZvY3VzRGlyZWN0aXZlLFxyXG4gICAgICAgIEVsZW1lbnRDb250YWluZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgRGF0ZVBhcnNlckZpbHRlcixcclxuICAgICAgICBFZGl0b3JGaWx0ZXIsXHJcbiAgICAgICAgRGl2ekxheW91dCwgXHJcbiAgICAgICAgVGFiRmlsdGVyLFxyXG4gICAgICAgIERhdGVSYW5nZUZpbHRlckNlbGxDb21wb25lbnQsXHJcbiAgICAgICAgWlNjaGVkdWxlclRvb2xCYXJDb21wb25lbnQsXHJcbiAgICAgICAgVWloZWFkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVWljb250YWluZXJDb21wb25lbnQsXHJcbiAgICAgICAgVWljb250ZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFVpcGFnZUNvbXBvbmVudCxcclxuICAgICAgICBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCxcclxuICAgICAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFVpbWVudWJ1dHRvbkNvbXBvbmVudCxcclxuICAgICAgICBVaWFwcG1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgWkJ1bGxldENvbXBvbmVudCxcclxuICAgICAgICBaYnV0dG9uc0NvbXBvbmVudCxcclxuICAgICAgICBaY2FyZENvbXBvbmVudCxcclxuICAgICAgICBaY2hhcnRDb21wb25lbnQsXHJcbiAgICAgICAgWmNoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgICAgIFpjb2RlZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIFpkYXRlcmFuZ2VDb21wb25lbnQsXHJcbiAgICAgICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgICAgIFpkaXZDb21wb25lbnQsXHJcbiAgICAgICAgWmZvcm1Db21wb25lbnQsXHJcbiAgICAgICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgICAgIFpnYXVnZUNvbXBvbmVudCxcclxuICAgICAgICBaZ3JpZENvbXBvbmVudCxcclxuICAgICAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgICAgIFprY2FyZENvbXBvbmVudCxcclxuICAgICAgICBabGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgWm1mYkNvbXBvbmVudCxcclxuICAgICAgICBabW9kYWxDb21wb25lbnQsXHJcbiAgICAgICAgWm1vZGFsTW9iaWxlQ29tcG9uZW50LFxyXG4gICAgICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgICAgIFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgWnF1ZXJ5YnVpbGRlckNvbXBvbmVudCxcclxuICAgICAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgICAgIFpzY2hlZHVsZXJDb21wb25lbnQsXHJcbiAgICAgICAgWnNlbGVjdG11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICAgICAgWnRleHRDb21wb25lbnQsXHJcbiAgICAgICAgWnRleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIFp0cmVlQ29tcG9uZW50LFxyXG4gICAgICAgIFp0cmVlbGlzdENvbXBvbmVudCxcclxuICAgICAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgICAgIFp1bmtub3duQ29tcG9uZW50LFxyXG4gICAgICAgIFp1ZGZDb21wb25lbnQsXHJcbiAgICAgICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgICAgICBad29ya2Zsb3didXR0b25zQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIElvbmljTW9kdWxlLFxyXG4gICAgICAgIElvbmljU2VsZWN0YWJsZU1vZHVsZSxcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgUm91dGVyTW9kdWxlLFxyXG4gICAgICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgQWNlRWRpdG9yTW9kdWxlLFxyXG4gICAgICAgIEZvbnRBd2Vzb21lTW9kdWxlLFxyXG4gICAgICAgIFF1ZXJ5QnVpbGRlck1vZHVsZSxcclxuICAgICAgICBBcmNHYXVnZU1vZHVsZSxcclxuICAgICAgICBCdXR0b25zTW9kdWxlLFxyXG4gICAgICAgIENoYXJ0c01vZHVsZSxcclxuICAgICAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgICAgICBEYXRlSW5wdXRzTW9kdWxlLFxyXG4gICAgICAgIERyb3BEb3duc01vZHVsZSxcclxuICAgICAgICBFZGl0b3JNb2R1bGUsXHJcbiAgICAgICAgR3JpZE1vZHVsZSxcclxuICAgICAgICBFeGNlbE1vZHVsZSxcclxuICAgICAgICBJbmRpY2F0b3JzTW9kdWxlLFxyXG4gICAgICAgIEludGxNb2R1bGUsXHJcbiAgICAgICAgSW5wdXRzTW9kdWxlLFxyXG4gICAgICAgIFN3aXRjaE1vZHVsZSxcclxuICAgICAgICBUZXh0Qm94TW9kdWxlLFxyXG4gICAgICAgIExhYmVsTW9kdWxlLFxyXG4gICAgICAgIExheW91dE1vZHVsZSxcclxuICAgICAgICBQYW5lbEJhck1vZHVsZSxcclxuICAgICAgICBUYWJTdHJpcE1vZHVsZSxcclxuICAgICAgICBQb3B1cE1vZHVsZSxcclxuICAgICAgICBQcm9ncmVzc0Jhck1vZHVsZSxcclxuICAgICAgICBUZWxlcmlrUmVwb3J0aW5nTW9kdWxlLFxyXG4gICAgICAgIFNjaGVkdWxlck1vZHVsZSxcclxuICAgICAgICBUcmVlTGlzdE1vZHVsZSxcclxuICAgICAgICBUcmVlVmlld01vZHVsZSxcclxuICAgICAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgICAgIFVwbG9hZE1vZHVsZSxcclxuICAgICAgICBVcGxvYWRzTW9kdWxlLFxyXG4gICAgICAgIFpDb3JlTW9kdWxlLFxyXG4gICAgICAgIE1taGdsb2JhbE1pZGRsZXdhcmVNb2R1bGUsXHJcbiAgICAgICAgTW1oZ2xvYmFsWm1vZGFsTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFNjcm9sbGJhclRoZW1lRGlyZWN0aXZlLFxyXG4gICAgICAgIEZpZWxkRWxlbWVudERpcmVjdGl2ZSxcclxuICAgICAgICBaR3JpZEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICAgICAgWkdyaWRQb3B1cEFuY2hvckRpcmVjdGl2ZSxcclxuICAgICAgICBPcGVuT25Gb2N1c0RpcmVjdGl2ZSxcclxuICAgICAgICBFbGVtZW50Q29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgICAgIERhdGVQYXJzZXJGaWx0ZXIsXHJcbiAgICAgICAgRWRpdG9yRmlsdGVyLFxyXG4gICAgICAgIERpdnpMYXlvdXQsXHJcbiAgICAgICAgVGFiRmlsdGVyLFxyXG4gICAgICAgIERhdGVSYW5nZUZpbHRlckNlbGxDb21wb25lbnQsXHJcbiAgICAgICAgWlNjaGVkdWxlclRvb2xCYXJDb21wb25lbnQsXHJcbiAgICAgICAgVWloZWFkZXJDb21wb25lbnQsXHJcbiAgICAgICAgVWljb250YWluZXJDb21wb25lbnQsXHJcbiAgICAgICAgVWljb250ZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFVpcGFnZUNvbXBvbmVudCxcclxuICAgICAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFVpbWVudWJ1dHRvbkNvbXBvbmVudCxcclxuICAgICAgICBVaWFwcG1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgICAgIFVpYWN0aW9uYnV0dG9uQ29tcG9uZW50LFxyXG4gICAgICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICAgICAgWkJ1bGxldENvbXBvbmVudCxcclxuICAgICAgICBaYnV0dG9uc0NvbXBvbmVudCxcclxuICAgICAgICBaY2FyZENvbXBvbmVudCxcclxuICAgICAgICBaY2hhcnRDb21wb25lbnQsXHJcbiAgICAgICAgWmNoZWNrYm94Q29tcG9uZW50LFxyXG4gICAgICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgICAgIFpjb2RlZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIFpkYXRlcmFuZ2VDb21wb25lbnQsXHJcbiAgICAgICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgICAgIFpkaXZDb21wb25lbnQsXHJcbiAgICAgICAgWmZvcm1Db21wb25lbnQsXHJcbiAgICAgICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgICAgIFpnYXVnZUNvbXBvbmVudCxcclxuICAgICAgICBaZ3JpZENvbXBvbmVudCxcclxuICAgICAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgICAgIFprY2FyZENvbXBvbmVudCxcclxuICAgICAgICBabGFiZWxDb21wb25lbnQsXHJcbiAgICAgICAgWm1mYkNvbXBvbmVudCxcclxuICAgICAgICBabW9kYWxDb21wb25lbnQsXHJcbiAgICAgICAgWm1vZGFsTW9iaWxlQ29tcG9uZW50LFxyXG4gICAgICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgICAgIFpwb3N0c2VsZWN0aW5wdXRDb21wb25lbnQsXHJcbiAgICAgICAgWnF1ZXJ5YnVpbGRlckNvbXBvbmVudCxcclxuICAgICAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgICAgIFpzY2hlZHVsZXJDb21wb25lbnQsXHJcbiAgICAgICAgWnNlbGVjdG11bHRpcGxlQ29tcG9uZW50LFxyXG4gICAgICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICAgICAgWnRleHRDb21wb25lbnQsXHJcbiAgICAgICAgWnRleHRhcmVhQ29tcG9uZW50LFxyXG4gICAgICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgICAgIFp0cmVlQ29tcG9uZW50LFxyXG4gICAgICAgIFp0cmVlbGlzdENvbXBvbmVudCxcclxuICAgICAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgICAgIFp1bmtub3duQ29tcG9uZW50LFxyXG4gICAgICAgIFp1ZGZDb21wb25lbnQsXHJcbiAgICAgICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgICAgICBad29ya2Zsb3didXR0b25zQ29tcG9uZW50XHJcbiAgICBdLFxyXG4gICAgcHJvdmlkZXJzOiBbXHJcbiAgICAgICAgTW9kYWxTZXJ2aWNlXHJcbiAgICBdLFxyXG4gICAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTW1oZ2xvYmFsRHluYW1pY2Zvcm1Nb2R1bGUgeyB9XHJcbiJdfQ==
|
|
510
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW1oZ2xvYmFsLWR5bmFtaWNmb3JtLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL21taGdsb2JhbC1keW5hbWljZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0Msa0ZBQWtGO0FBQ2xGLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSw2QkFBNkI7QUFDN0IsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXpELDhCQUE4QjtBQUM5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEQsNkJBQTZCO0FBQzdCLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztB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QzVCLGdCQUFnQjt3QkFDaEIsaUJBQWlCO3dCQUNqQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLG9CQUFvQjt3QkFDcEIsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLGFBQWE7d0JBQ2IsY0FBYzt3QkFDZCxxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsY0FBYzt3QkFDZCxhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YscUJBQXFCO3dCQUNyQixpQkFBaUI7d0JBQ2pCLHlCQUF5Qjt3QkFDekIsc0JBQXNCO3dCQUN0QixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsd0JBQXdCO3dCQUN4QixhQUFhO3dCQUNiLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGNBQWM7d0JBQ2Qsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGlCQUFpQjt3QkFDakIsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLHlCQUF5Qjt3QkFDekIsd0JBQXdCO3dCQUN4QixxQkFBcUI7d0JBQ3JCLFlBQVk7d0JBQ1osZ0JBQWdCO3dCQUNoQiwwQkFBMEI7d0JBQzFCLHlCQUF5QjtxQkFDMUI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBOZ01vZHVsZSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG4vLyBpbXBvcnQgeyBCcm93c2VyQW5pbWF0aW9uc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyL2FuaW1hdGlvbnNcIjtcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBJb25pY1NlbGVjdGFibGVNb2R1bGUgfSBmcm9tICdpb25pYy1zZWxlY3RhYmxlJztcclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBBY2VFZGl0b3JNb2R1bGUgfSBmcm9tICduZzItYWNlLWVkaXRvcic7XHJcbmltcG9ydCB7IEZvbnRBd2Vzb21lTW9kdWxlIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2FuZ3VsYXItZm9udGF3ZXNvbWUnO1xyXG5pbXBvcnQgeyBRdWVyeUJ1aWxkZXJNb2R1bGUgfSBmcm9tIFwiYW5ndWxhcjItcXVlcnktYnVpbGRlclwiO1xyXG5pbXBvcnQgeyBGbGV4TGF5b3V0TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2ZsZXgtbGF5b3V0XCI7XHJcblxyXG4vKioqKioqKioqKiBLZW5kbyAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBBcmNHYXVnZU1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWdhdWdlcyc7XHJcbmltcG9ydCB7IEJ1dHRvbnNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1idXR0b25zJztcclxuaW1wb3J0IHsgQ2hhcnRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItY2hhcnRzJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJNb2R1bGUsIERhdGVJbnB1dHNNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1kYXRlaW5wdXRzJztcclxuaW1wb3J0IHsgRHJvcERvd25zTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZHJvcGRvd25zJztcclxuaW1wb3J0IHsgRWRpdG9yTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItZWRpdG9yJztcclxuaW1wb3J0IHsgRXhjZWxNb2R1bGUsIEdyaWRNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1ncmlkJztcclxuaW1wb3J0IHsgSW5kaWNhdG9yc01vZHVsZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbmRpY2F0b3JzXCI7XHJcbmltcG9ydCB7IEludGxNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbnRsJztcclxuaW1wb3J0IHsgSW5wdXRzTW9kdWxlLCBTd2l0Y2hNb2R1bGUsIFRleHRCb3hNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1pbnB1dHMnO1xyXG5pbXBvcnQgeyBMYWJlbE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLWxhYmVsJztcclxuaW1wb3J0IHsgTGF5b3V0TW9kdWxlLCBQYW5lbEJhck1vZHVsZSwgVGFiU3RyaXBNb2R1bGUgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci1sYXlvdXQnO1xyXG5pbXBvcnQgeyBQb3B1cE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXBvcHVwJztcclxuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJNb2R1bGUgfSBmcm9tIFwiQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcHJvZ3Jlc3NiYXJcIjtcclxuaW1wb3J0IHsgVGVsZXJpa1JlcG9ydGluZ01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy90ZWxlcmlrLWFuZ3VsYXItcmVwb3J0LXZpZXdlcic7XHJcbmltcG9ydCB7IFNjaGVkdWxlck1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXNjaGVkdWxlcic7XHJcbmltcG9ydCB7IFRyZWVMaXN0TW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdHJlZWxpc3QnO1xyXG5pbXBvcnQgeyBUcmVlVmlld01vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRyZWV2aWV3JztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRvb2x0aXAnO1xyXG5pbXBvcnQgeyBQb3BvdmVyTW9kdWxlIH0gZnJvbSBcIkBwcm9ncmVzcy9rZW5kby1hbmd1bGFyLXRvb2x0aXBcIjtcclxuaW1wb3J0IHsgVXBsb2FkTW9kdWxlLCBVcGxvYWRzTW9kdWxlIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItdXBsb2FkJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbk1vZHVsZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1hbmd1bGFyLW5hdmlnYXRpb24nO1xyXG5cclxuLyoqKioqKioqKiogU2VydmljZSAmIERpcmVjdGl2ZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBaQ29yZU1vZHVsZSwgWkdyb3VwIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuaW1wb3J0IHsgTW1oZ2xvYmFsTWlkZGxld2FyZU1vZHVsZSB9IGZyb20gJ21taGdsb2JhbC1taWRkbGV3YXJlJztcclxuaW1wb3J0IHsgTW1oZ2xvYmFsWm1vZGFsTW9kdWxlLCBNb2RhbFNlcnZpY2UgfSBmcm9tICdtbWhnbG9iYWwtem1vZGFsJztcclxuaW1wb3J0IHsgTWFpblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL21haW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFNjcm9sbGJhclRoZW1lRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3Njcm9sbGJhci50aGVtZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBGaWVsZEVsZW1lbnREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZmllbGRlbGVtZW50LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFpHcmlkQmluZGluZ0RpcmVjdGl2ZSB9IGZyb20gJy4vemdyaWQvemdyaWQuYmluZGluZy5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlIH0gZnJvbSAnLi96Z3JpZC96Z3JpZC5wb3B1cC5hbmNob3ItdGFyZ2V0LmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE9wZW5PbkZvY3VzRGlyZWN0aXZlIH0gZnJvbSAnLi96c2VsZWN0bXVsdGlwbGUvenNlbGVjdG11bHRpcGxlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEVsZW1lbnRDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZWxlbWVudGNvbnRhaW5lci5kaXJlY3RpdmUnO1xyXG5cclxuLyoqKioqKioqKiogQWRkb24gKioqKioqKioqKi9cclxuaW1wb3J0IHsgRGF0ZVBhcnNlckZpbHRlciB9IGZyb20gJy4vemRhdGV0aW1lL2RhdGVQYXJzZXIucGlwZSc7XHJcbmltcG9ydCB7IEVkaXRvckZpbHRlciB9IGZyb20gJy4vemNvZGVlZGl0b3IvemNvZGVlZGl0b3IucGlwZSc7XHJcbmltcG9ydCB7IERpdnpMYXlvdXQgfSBmcm9tICcuL3pkaXYvemRpdi5waXBlJztcclxuaW1wb3J0IHsgVGFiRmlsdGVyIH0gZnJvbSAnLi96dGFiL3p0YWIucGlwZSc7XHJcbmltcG9ydCB7IFpJbnB1dFBhcnNlciB9IGZyb20gJy4vemlucHV0LWNvbnRhaW5lci96aW5wdXQtY29udGFpbmVyLnBpcGUnO1xyXG5pbXBvcnQgeyBIdG1sU2FuaXRpemVQaXBlIH0gZnJvbSAnLi9waXBlL2h0bWxTYW5pdGl6ZS5waXBlJztcclxuaW1wb3J0IHsgRGF0ZVJhbmdlRmlsdGVyQ2VsbENvbXBvbmVudCB9IGZyb20gJy4vemdyaWQvZGF0ZS1yYW5nZS1jZWxsLWZpbHRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaU2NoZWR1bGVyVG9vbEJhckNvbXBvbmVudCB9IGZyb20gJy4venNjaGVkdWxlci96c2NoZWR1bGVyLnRvb2xiYXIuY29tcG9uZW50JztcclxuXHJcbi8qKioqKioqKioqIHpDb21wb25lbnQgKioqKioqKioqKi9cclxuaW1wb3J0IHsgVWlwYWdlQ29tcG9uZW50IH0gZnJvbSAnLi91aXBhZ2UvdWlwYWdlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpaGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi91aWhlYWRlci91aWhlYWRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWljb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi91aWNvbnRlbnQvdWljb250ZW50LmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBVaW1lbnVjb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi91aW1lbnVjb250ZW50L3VpbWVudWNvbnRlbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWltZW51YnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi91aW1lbnVidXR0b24vdWltZW51YnV0dG9uLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpYXBwbWVudWNvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL3VpYXBwbWVudWNvbnRlbnQvdWlhcHBtZW51Y29udGVudC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vdWlhY3Rpb25idXR0b24vdWlhY3Rpb25idXR0b24uY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWl2YWxpZGF0aW9ubWVzc2FnZUNvbXBvbmVudCB9IGZyb20gJy4vdWl2YWxpZGF0aW9ubWVzc2FnZS91aXZhbGlkYXRpb25tZXNzYWdlLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBaQnVsbGV0Q29tcG9uZW50IH0gZnJvbSBcIi4vemJ1bGxldC96YnVsbGV0LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaYnV0dG9uc0NvbXBvbmVudCB9IGZyb20gXCIuL3pidXR0b25zL3pidXR0b25zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2FyZENvbXBvbmVudCB9IGZyb20gXCIuL3pjYXJkL3pjYXJkLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaY2hhcnRDb21wb25lbnQgfSBmcm9tICcuL3pjaGFydC96Y2hhcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi96Y2hlY2tib3gvemNoZWNrYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpDaGlwQ29tcG9uZW50IH0gZnJvbSBcIi4vemNoaXAvemNoaXAuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpjb2RlZWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi96Y29kZWVkaXRvci96Y29kZWVkaXRvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZGF0ZXJhbmdlQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXJhbmdlL3pkYXRlcmFuZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmRhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi96ZGF0ZXRpbWUvemRhdGV0aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpkaXZDb21wb25lbnQgfSBmcm9tICcuL3pkaXYvemRpdi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBaZm9ybUNvbXBvbmVudCB9IGZyb20gXCIuL3pmb3JtL3pmb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZm9ybWNvbnRyb2xDb21wb25lbnQgfSBmcm9tIFwiLi96Zm9ybWNvbnRyb2wvemZvcm1jb250cm9sLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaZ2F1Z2VDb21wb25lbnQgfSBmcm9tICcuL3pnYXVnZS96Z2F1Z2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmdyaWRDb21wb25lbnQgfSBmcm9tIFwiLi96Z3JpZC96Z3JpZC5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWmltZ0NvbXBvbmVudCB9IGZyb20gJy4vemltZy96aW1nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFprY2FyZENvbXBvbmVudCB9IGZyb20gJy4vemtjYXJkL3prY2FyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBabGFiZWxDb21wb25lbnQgfSBmcm9tICcuL3psYWJlbC96bGFiZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWm1mYkNvbXBvbmVudCB9IGZyb20gJy4vem1mYi96bWZiLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFptb2RhbENvbXBvbmVudCB9IGZyb20gXCIuL3ptb2RhbC96bW9kYWwuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFptb2RhbE1vYmlsZUNvbXBvbmVudCB9IGZyb20gXCIuL3ptb2RhbC96bW9kYWwtbW9iaWxlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBabnVtZXJpY0NvbXBvbmVudCB9IGZyb20gJy4vem51bWVyaWMvem51bWVyaWMuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCB9IGZyb20gJy4venBvc3RzZWxlY3RpbnB1dC96cG9zdHNlbGVjdGlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpxdWVyeWJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuL3pxdWVyeWJ1aWxkZXIvenF1ZXJ5YnVpbGRlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBacmVwb3J0Q29tcG9uZW50IH0gZnJvbSAnLi96cmVwb3J0L3pyZXBvcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnNjaGVkdWxlckNvbXBvbmVudCB9IGZyb20gJy4venNjaGVkdWxlci96c2NoZWR1bGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpzZWxlY3RtdWx0aXBsZUNvbXBvbmVudCB9IGZyb20gXCIuL3pzZWxlY3RtdWx0aXBsZS96c2VsZWN0bXVsdGlwbGUuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFp0YWJDb21wb25lbnQgfSBmcm9tIFwiLi96dGFiL3p0YWIuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFp0ZXh0Q29tcG9uZW50IH0gZnJvbSBcIi4venRleHQvenRleHQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFp0ZXh0YXJlYUNvbXBvbmVudCB9IGZyb20gJy4venRleHRhcmVhL3p0ZXh0YXJlYS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadGV4dGVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4venRleHRlZGl0b3IvenRleHRlZGl0b3IuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnRyZWVDb21wb25lbnQgfSBmcm9tICcuL3p0cmVlL3p0cmVlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp0cmVlbGlzdENvbXBvbmVudCB9IGZyb20gJy4venRyZWVsaXN0L3p0cmVlbGlzdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBadHJlbmRjYXJkQ29tcG9uZW50IH0gZnJvbSAnLi96dHJlbmRjYXJkL3p0cmVuZGNhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnVua25vd25Db21wb25lbnQgfSBmcm9tIFwiLi96dW5rbm93bi96dW5rbm93bi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWnVkZkNvbXBvbmVudCB9IGZyb20gJy4venVkZi96dWRmLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFp1cGxvYWRDb21wb25lbnQgfSBmcm9tICcuL3p1cGxvYWQvenVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBad29ya2Zsb3didXR0b25zQ29tcG9uZW50IH0gZnJvbSBcIi4vendvcmtmbG93YnV0dG9ucy96d29ya2Zsb3didXR0b25zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBLY2FyZENvbXBvbmVudCB9IGZyb20gJy4va2NhcmQva2NhcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWklucHV0Q29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi96aW5wdXQtY29udGFpbmVyL3ppbnB1dC1jb250YWluZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWnByb2dyZXNzYmFyQ29tcG9uZW50IH0gZnJvbSAnLi96cHJvZ3Jlc3NiYXIvenByb2dyZXNzYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IElucHV0RXJyb3JNZXNzYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9pbnB1dC1lcnJvci1tZXNzYWdlL2lucHV0LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50JztcclxuaW1wb3J0IHsgSW5wdXRGaWVsZEFkZE9uc0NvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtY29tcG9uZW50cy9pbnB1dC1maWVsZC1hZGRvbnMvaW5wdXQtZmllbGQtYWRkb25zLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgU2Nyb2xsYmFyVGhlbWVEaXJlY3RpdmUsXHJcbiAgICBGaWVsZEVsZW1lbnREaXJlY3RpdmUsXHJcbiAgICBaR3JpZEJpbmRpbmdEaXJlY3RpdmUsXHJcbiAgICBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlLFxyXG4gICAgT3Blbk9uRm9jdXNEaXJlY3RpdmUsXHJcbiAgICBFbGVtZW50Q29udGFpbmVyRGlyZWN0aXZlLFxyXG4gICAgRGF0ZVBhcnNlckZpbHRlciwgLy8gemdyaWQgYWRkb25cclxuICAgIEVkaXRvckZpbHRlciwgLy8gemNvZGUgYWRkb25cclxuICAgIERpdnpMYXlvdXQsIC8vIHpkaXYgYWRkb25cclxuICAgIFRhYkZpbHRlciwgLy8genRhYiBhZGRvblxyXG4gICAgRGF0ZVJhbmdlRmlsdGVyQ2VsbENvbXBvbmVudCwgLy8gemdyaWQgYWRkb25cclxuICAgIFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50LCAvLyB6c2NoZWR1bGVyIGFkZG9uXHJcbiAgICBVaWhlYWRlckNvbXBvbmVudCxcclxuICAgIFVpY29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVWljb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWlwYWdlQ29tcG9uZW50LFxyXG4gICAgVWlhY3Rpb25idXR0b25Db21wb25lbnQsXHJcbiAgICBVaW1lbnVjb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWltZW51YnV0dG9uQ29tcG9uZW50LFxyXG4gICAgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBaQnVsbGV0Q29tcG9uZW50LFxyXG4gICAgWmJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaY2FyZENvbXBvbmVudCxcclxuICAgIFpjaGFydENvbXBvbmVudCxcclxuICAgIFpjaGVja2JveENvbXBvbmVudCxcclxuICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgWmNvZGVlZGl0b3JDb21wb25lbnQsXHJcbiAgICBaZGF0ZXJhbmdlQ29tcG9uZW50LFxyXG4gICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgWmRpdkNvbXBvbmVudCxcclxuICAgIFpmb3JtQ29tcG9uZW50LFxyXG4gICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgWmdhdWdlQ29tcG9uZW50LFxyXG4gICAgWmdyaWRDb21wb25lbnQsXHJcbiAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgWmtjYXJkQ29tcG9uZW50LFxyXG4gICAgWmxhYmVsQ29tcG9uZW50LFxyXG4gICAgWm1mYkNvbXBvbmVudCxcclxuICAgIFptb2RhbENvbXBvbmVudCxcclxuICAgIFptb2RhbE1vYmlsZUNvbXBvbmVudCxcclxuICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCxcclxuICAgIFpxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgWnNjaGVkdWxlckNvbXBvbmVudCxcclxuICAgIFpzZWxlY3RtdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICBadGV4dENvbXBvbmVudCxcclxuICAgIFp0ZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWnRyZWVDb21wb25lbnQsXHJcbiAgICBadHJlZWxpc3RDb21wb25lbnQsXHJcbiAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgWnVua25vd25Db21wb25lbnQsXHJcbiAgICBadWRmQ29tcG9uZW50LFxyXG4gICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgIFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQsXHJcbiAgICBLY2FyZENvbXBvbmVudCxcclxuICAgIFpJbnB1dENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgIFpwcm9ncmVzc2JhckNvbXBvbmVudCxcclxuICAgIFpJbnB1dFBhcnNlcixcclxuICAgIEh0bWxTYW5pdGl6ZVBpcGUsXHJcbiAgICBJbnB1dEVycm9yTWVzc2FnZUNvbXBvbmVudCxcclxuICAgIElucHV0RmllbGRBZGRPbnNDb21wb25lbnRcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIElvbmljTW9kdWxlLFxyXG4gICAgSW9uaWNTZWxlY3RhYmxlTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgQWNlRWRpdG9yTW9kdWxlLFxyXG4gICAgRm9udEF3ZXNvbWVNb2R1bGUsXHJcbiAgICBRdWVyeUJ1aWxkZXJNb2R1bGUsXHJcbiAgICBBcmNHYXVnZU1vZHVsZSxcclxuICAgIEJ1dHRvbnNNb2R1bGUsXHJcbiAgICBDaGFydHNNb2R1bGUsXHJcbiAgICBDYWxlbmRhck1vZHVsZSxcclxuICAgIERhdGVJbnB1dHNNb2R1bGUsXHJcbiAgICBEcm9wRG93bnNNb2R1bGUsXHJcbiAgICBFZGl0b3JNb2R1bGUsXHJcbiAgICBHcmlkTW9kdWxlLFxyXG4gICAgRXhjZWxNb2R1bGUsXHJcbiAgICBJbmRpY2F0b3JzTW9kdWxlLFxyXG4gICAgSW50bE1vZHVsZSxcclxuICAgIElucHV0c01vZHVsZSxcclxuICAgIFN3aXRjaE1vZHVsZSxcclxuICAgIFRleHRCb3hNb2R1bGUsXHJcbiAgICBMYWJlbE1vZHVsZSxcclxuICAgIExheW91dE1vZHVsZSxcclxuICAgIFBhbmVsQmFyTW9kdWxlLFxyXG4gICAgVGFiU3RyaXBNb2R1bGUsXHJcbiAgICBQb3B1cE1vZHVsZSxcclxuICAgIFByb2dyZXNzQmFyTW9kdWxlLFxyXG4gICAgVGVsZXJpa1JlcG9ydGluZ01vZHVsZSxcclxuICAgIFNjaGVkdWxlck1vZHVsZSxcclxuICAgIFRyZWVMaXN0TW9kdWxlLFxyXG4gICAgVHJlZVZpZXdNb2R1bGUsXHJcbiAgICBUb29sdGlwTW9kdWxlLFxyXG4gICAgUG9wb3Zlck1vZHVsZSxcclxuICAgIFVwbG9hZE1vZHVsZSxcclxuICAgIFVwbG9hZHNNb2R1bGUsXHJcbiAgICBaQ29yZU1vZHVsZSxcclxuICAgIE1taGdsb2JhbFptb2RhbE1vZHVsZSxcclxuICAgIE5hdmlnYXRpb25Nb2R1bGUsXHJcbiAgICBGbGV4TGF5b3V0TW9kdWxlXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBTY3JvbGxiYXJUaGVtZURpcmVjdGl2ZSxcclxuICAgIEZpZWxkRWxlbWVudERpcmVjdGl2ZSxcclxuICAgIFpHcmlkQmluZGluZ0RpcmVjdGl2ZSxcclxuICAgIFpHcmlkUG9wdXBBbmNob3JEaXJlY3RpdmUsXHJcbiAgICBPcGVuT25Gb2N1c0RpcmVjdGl2ZSxcclxuICAgIEVsZW1lbnRDb250YWluZXJEaXJlY3RpdmUsXHJcbiAgICBEYXRlUGFyc2VyRmlsdGVyLCAvLyB6ZGF0ZXRpbWUgYWRkb25cclxuICAgIEVkaXRvckZpbHRlciwgLy8gemNvZGUgYWRkb25cclxuICAgIERpdnpMYXlvdXQsIC8vIHpkaXYgYWRkb25cclxuICAgIFRhYkZpbHRlciwgLy8genRhYiBhZGRvblxyXG4gICAgRGF0ZVJhbmdlRmlsdGVyQ2VsbENvbXBvbmVudCwgLy8gemdyaWQgYWRkb25cclxuICAgIFpTY2hlZHVsZXJUb29sQmFyQ29tcG9uZW50LCAvLyB6c2NoZWR1bGVyIGFkZG9uXHJcbiAgICBVaWhlYWRlckNvbXBvbmVudCxcclxuICAgIFVpY29udGFpbmVyQ29tcG9uZW50LFxyXG4gICAgVWljb250ZW50Q29tcG9uZW50LFxyXG4gICAgVWlwYWdlQ29tcG9uZW50LFxyXG4gICAgVWltZW51Y29udGVudENvbXBvbmVudCxcclxuICAgIFVpbWVudWJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpYXBwbWVudWNvbnRlbnRDb21wb25lbnQsXHJcbiAgICBVaWFjdGlvbmJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFVpdmFsaWRhdGlvbm1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBaQnVsbGV0Q29tcG9uZW50LFxyXG4gICAgWmJ1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaY2FyZENvbXBvbmVudCxcclxuICAgIFpjaGFydENvbXBvbmVudCxcclxuICAgIFpjaGVja2JveENvbXBvbmVudCxcclxuICAgIFpDaGlwQ29tcG9uZW50LFxyXG4gICAgWmNvZGVlZGl0b3JDb21wb25lbnQsXHJcbiAgICBaZGF0ZXJhbmdlQ29tcG9uZW50LFxyXG4gICAgWmRhdGV0aW1lQ29tcG9uZW50LFxyXG4gICAgWmRpdkNvbXBvbmVudCxcclxuICAgIFpmb3JtQ29tcG9uZW50LFxyXG4gICAgWmZvcm1jb250cm9sQ29tcG9uZW50LFxyXG4gICAgWmdhdWdlQ29tcG9uZW50LFxyXG4gICAgWmdyaWRDb21wb25lbnQsXHJcbiAgICBaaW1nQ29tcG9uZW50LFxyXG4gICAgWmtjYXJkQ29tcG9uZW50LFxyXG4gICAgWmxhYmVsQ29tcG9uZW50LFxyXG4gICAgWm1mYkNvbXBvbmVudCxcclxuICAgIFptb2RhbENvbXBvbmVudCxcclxuICAgIFptb2RhbE1vYmlsZUNvbXBvbmVudCxcclxuICAgIFpudW1lcmljQ29tcG9uZW50LFxyXG4gICAgWnBvc3RzZWxlY3RpbnB1dENvbXBvbmVudCxcclxuICAgIFpxdWVyeWJ1aWxkZXJDb21wb25lbnQsXHJcbiAgICBacmVwb3J0Q29tcG9uZW50LFxyXG4gICAgWnNjaGVkdWxlckNvbXBvbmVudCxcclxuICAgIFpzZWxlY3RtdWx0aXBsZUNvbXBvbmVudCxcclxuICAgIFp0YWJDb21wb25lbnQsXHJcbiAgICBadGV4dENvbXBvbmVudCxcclxuICAgIFp0ZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIFp0ZXh0ZWRpdG9yQ29tcG9uZW50LFxyXG4gICAgWnRyZWVDb21wb25lbnQsXHJcbiAgICBadHJlZWxpc3RDb21wb25lbnQsXHJcbiAgICBadHJlbmRjYXJkQ29tcG9uZW50LFxyXG4gICAgWnVua25vd25Db21wb25lbnQsXHJcbiAgICBadWRmQ29tcG9uZW50LFxyXG4gICAgWnVwbG9hZENvbXBvbmVudCxcclxuICAgIFp3b3JrZmxvd2J1dHRvbnNDb21wb25lbnQsXHJcbiAgICBaSW5wdXRDb250YWluZXJDb21wb25lbnQsXHJcbiAgICBacHJvZ3Jlc3NiYXJDb21wb25lbnQsXHJcbiAgICBaSW5wdXRQYXJzZXIsXHJcbiAgICBIdG1sU2FuaXRpemVQaXBlLFxyXG4gICAgSW5wdXRFcnJvck1lc3NhZ2VDb21wb25lbnQsXHJcbiAgICBJbnB1dEZpZWxkQWRkT25zQ29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIE1vZGFsU2VydmljZVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTW1oZ2xvYmFsRHluYW1pY2Zvcm1Nb2R1bGUgeyB9XHJcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
export class HtmlSanitizePipe {
|
|
5
|
+
constructor(domSanitizer) {
|
|
6
|
+
this.domSanitizer = domSanitizer;
|
|
7
|
+
}
|
|
8
|
+
transform(html) {
|
|
9
|
+
return this.domSanitizer.bypassSecurityTrustHtml(html);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
HtmlSanitizePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HtmlSanitizePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
13
|
+
HtmlSanitizePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HtmlSanitizePipe, name: "htmlSanitize" });
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: HtmlSanitizePipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{ name: 'htmlSanitize' }]
|
|
17
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbFNhbml0aXplLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi9waXBlL2h0bWxTYW5pdGl6ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFJcEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMxQixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUU5QyxDQUFDO0lBQ0QsU0FBUyxDQUFDLElBQVk7UUFDbkIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7OzhHQU5TLGdCQUFnQjs0R0FBaEIsZ0JBQWdCOzRGQUFoQixnQkFBZ0I7a0JBRDVCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AUGlwZSh7IG5hbWU6ICdodG1sU2FuaXRpemUnIH0pXHJcbmV4cG9ydCBjbGFzcyBIdG1sU2FuaXRpemVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZG9tU2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHtcclxuXHJcbiAgIH1cclxuICAgdHJhbnNmb3JtKGh0bWw6IHN0cmluZyk6IFNhZmVIdG1sIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZG9tU2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RIdG1sKGh0bWwpO1xyXG4gICB9XHJcbn1cclxuIl19
|