mmhglobal-dynamicform 1.2.3 → 1.3.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/README.md +14 -2
- package/esm2020/lib/directives/fieldelement.directive.mjs +16 -0
- package/esm2020/lib/directives/scrollbar.theme.directive.mjs +43 -0
- package/esm2020/lib/mmhglobal-dynamicform.module.mjs +464 -0
- package/esm2020/lib/services/main.service.mjs +752 -0
- package/esm2020/lib/services/zcomponent.debug.service.mjs +621 -0
- package/esm2020/lib/services/zcomponent.service.mjs +81 -0
- package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +265 -0
- package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +67 -0
- package/esm2020/lib/uicontent/uicontent.component.mjs +41 -0
- package/esm2020/lib/uiheader/uiheader.component.mjs +66 -0
- package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +35 -0
- package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +37 -0
- package/{esm2015/lib/uipage/uipage.component.js → esm2020/lib/uipage/uipage.component.mjs} +12 -13
- package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +41 -0
- package/esm2020/lib/zbullet/zbullet.component.mjs +74 -0
- package/esm2020/lib/zbuttons/zbuttons.component.mjs +171 -0
- package/esm2020/lib/zcard/zcard.component.mjs +72 -0
- package/esm2020/lib/zchart/zchart.component.mjs +201 -0
- package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +166 -0
- package/esm2020/lib/zchip/zchip.component.mjs +121 -0
- package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +169 -0
- package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +60 -0
- package/esm2020/lib/zdaterange/zdaterange.component.mjs +70 -0
- package/esm2020/lib/zdatetime/dateParser.pipe.mjs +30 -0
- package/esm2020/lib/zdatetime/zdatetime.component.mjs +285 -0
- package/esm2020/lib/zdiv/zdiv.component.mjs +50 -0
- package/esm2020/lib/zdiv/zdiv.pipe.mjs +31 -0
- package/esm2020/lib/zform/zform.component.mjs +147 -0
- package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +49 -0
- package/esm2020/lib/zgauge/zgauge.component.mjs +148 -0
- package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +135 -0
- package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +490 -0
- package/esm2020/lib/zgrid/zgrid.component.mjs +847 -0
- package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +17 -0
- package/esm2020/lib/zimg/zimg.component.mjs +121 -0
- package/esm2020/lib/zkcard/zkcard.component.mjs +367 -0
- package/esm2020/lib/zlabel/zlabel.component.mjs +62 -0
- package/esm2020/lib/zmfb/zmfb.component.mjs +215 -0
- package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +120 -0
- package/esm2020/lib/zmodal/zmodal.component.mjs +125 -0
- package/esm2020/lib/znumeric/znumeric.component.mjs +119 -0
- package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +352 -0
- package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +204 -0
- package/esm2020/lib/zreport/zreport.component.mjs +105 -0
- package/esm2020/lib/zreport/zreport.config.mjs +117 -0
- package/esm2020/lib/zscheduler/zscheduler.component.mjs +267 -0
- package/{esm2015/lib/zscheduler/zscheduler.toolbar.component.js → esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs} +55 -19
- package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +577 -0
- package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +35 -0
- package/esm2020/lib/ztab/ztab.component.mjs +187 -0
- package/esm2020/lib/ztab/ztab.pipe.mjs +26 -0
- package/esm2020/lib/ztext/ztext.component.mjs +297 -0
- package/esm2020/lib/ztextarea/ztextarea.component.mjs +109 -0
- package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +57 -0
- package/esm2020/lib/ztree/ztree.component.mjs +380 -0
- package/esm2020/lib/ztreelist/ztreelist.component.mjs +544 -0
- package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +92 -0
- package/esm2020/lib/zudf/zudf.component.mjs +205 -0
- package/esm2020/lib/zunknown/zunknown.component.mjs +20 -0
- package/esm2020/lib/zupload/zupload.component.mjs +359 -0
- package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +216 -0
- package/esm2020/mmhglobal-dynamicform.mjs +5 -0
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/mmhglobal-dynamicform.mjs +10790 -0
- package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -0
- package/fesm2020/mmhglobal-dynamicform.mjs +10779 -0
- package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -0
- package/lib/directives/fieldelement.directive.d.ts +3 -0
- package/lib/directives/scrollbar.theme.directive.d.ts +3 -0
- package/lib/mmhglobal-dynamicform.module.d.ts +92 -0
- package/lib/services/main.service.d.ts +3 -0
- package/lib/services/zcomponent.debug.service.d.ts +8 -5
- package/lib/services/zcomponent.service.d.ts +7 -2
- package/lib/uiactionbutton/uiactionbutton.component.d.ts +3 -0
- package/lib/uiappmenucontent/uiappmenucontent.component.d.ts +3 -0
- package/lib/uicontent/uicontent.component.d.ts +3 -0
- package/lib/uiheader/uiheader.component.d.ts +3 -0
- package/lib/uimenubutton/uimenubutton.component.d.ts +3 -0
- package/lib/uimenucontent/uimenucontent.component.d.ts +3 -0
- package/lib/uipage/uipage.component.d.ts +3 -0
- package/lib/uivalidationmessage/uivalidationmessage.component.d.ts +3 -0
- package/lib/zbullet/zbullet.component.d.ts +3 -0
- package/lib/zbuttons/zbuttons.component.d.ts +3 -0
- package/lib/zcard/zcard.component.d.ts +3 -0
- package/lib/zchart/zchart.component.d.ts +3 -0
- package/lib/zcheckbox/zcheckbox.component.d.ts +3 -0
- package/lib/zchip/zchip.component.d.ts +3 -0
- package/lib/zcodeeditor/zcodeeditor.component.d.ts +3 -0
- package/lib/zcodeeditor/zcodeeditor.pipe.d.ts +3 -0
- package/lib/zdaterange/zdaterange.component.d.ts +3 -0
- package/lib/zdatetime/dateParser.pipe.d.ts +3 -0
- package/lib/zdatetime/zdatetime.component.d.ts +3 -0
- package/lib/zdiv/zdiv.component.d.ts +3 -0
- package/lib/zdiv/zdiv.pipe.d.ts +3 -0
- package/lib/zform/zform.component.d.ts +3 -0
- package/lib/zformcontrol/zformcontrol.component.d.ts +3 -0
- package/lib/zgauge/zgauge.component.d.ts +3 -0
- package/lib/zgrid/date-range-cell-filter.component.d.ts +3 -0
- package/lib/zgrid/zgrid.binding.directive.d.ts +3 -0
- package/lib/zgrid/zgrid.component.d.ts +4 -1
- package/lib/zgrid/zgrid.popup.anchor-target.directive.d.ts +3 -0
- package/lib/zimg/zimg.component.d.ts +3 -0
- package/lib/zkcard/zkcard.component.d.ts +3 -0
- package/lib/zlabel/zlabel.component.d.ts +3 -0
- package/lib/zmfb/zmfb.component.d.ts +3 -0
- package/lib/zmodal/zmodal-mobile.component.d.ts +3 -0
- package/lib/zmodal/zmodal.component.d.ts +3 -0
- package/lib/znumeric/znumeric.component.d.ts +3 -0
- package/lib/zpostselectinput/zpostselectinput.component.d.ts +3 -0
- package/lib/zquerybuilder/zquerybuilder.component.d.ts +3 -0
- package/lib/zreport/zreport.component.d.ts +3 -0
- package/lib/zreport/zreport.config.d.ts +3 -0
- package/lib/zscheduler/zscheduler.component.d.ts +3 -0
- package/lib/zscheduler/zscheduler.toolbar.component.d.ts +3 -0
- package/lib/zselectmultiple/zselectmultiple.component.d.ts +3 -0
- package/lib/zselectmultiple/zselectmultiple.directive.d.ts +3 -0
- package/lib/ztab/ztab.component.d.ts +3 -0
- package/lib/ztab/ztab.pipe.d.ts +3 -0
- package/lib/ztext/ztext.component.d.ts +3 -0
- package/lib/ztextarea/ztextarea.component.d.ts +3 -0
- package/lib/ztexteditor/ztexteditor.component.d.ts +3 -0
- package/lib/ztree/ztree.component.d.ts +3 -0
- package/lib/ztreelist/ztreelist.component.d.ts +3 -0
- package/lib/ztrendcard/ztrendcard.component.d.ts +3 -0
- package/lib/zudf/zudf.component.d.ts +3 -0
- package/lib/zunknown/zunknown.component.d.ts +3 -0
- package/lib/zupload/zupload.component.d.ts +3 -0
- package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +3 -0
- package/mmhglobal-dynamicform.d.ts +1 -2
- package/package.json +20 -11
- package/bundles/mmhglobal-dynamicform.umd.js +0 -11360
- package/bundles/mmhglobal-dynamicform.umd.js.map +0 -1
- package/bundles/mmhglobal-dynamicform.umd.min.js +0 -16
- package/bundles/mmhglobal-dynamicform.umd.min.js.map +0 -1
- package/esm2015/lib/directives/fieldelement.directive.js +0 -15
- package/esm2015/lib/directives/scrollbar.theme.directive.js +0 -42
- package/esm2015/lib/mmhglobal-dynamicform.module.js +0 -314
- package/esm2015/lib/services/main.service.js +0 -766
- package/esm2015/lib/services/zcomponent.debug.service.js +0 -626
- package/esm2015/lib/services/zcomponent.service.js +0 -167
- package/esm2015/lib/uiactionbutton/uiactionbutton.component.js +0 -271
- package/esm2015/lib/uiappmenucontent/uiappmenucontent.component.js +0 -69
- package/esm2015/lib/uicontent/uicontent.component.js +0 -41
- package/esm2015/lib/uiheader/uiheader.component.js +0 -65
- package/esm2015/lib/uimenubutton/uimenubutton.component.js +0 -40
- package/esm2015/lib/uimenucontent/uimenucontent.component.js +0 -34
- package/esm2015/lib/uivalidationmessage/uivalidationmessage.component.js +0 -39
- package/esm2015/lib/zbullet/zbullet.component.js +0 -71
- package/esm2015/lib/zbuttons/zbuttons.component.js +0 -168
- package/esm2015/lib/zcard/zcard.component.js +0 -68
- package/esm2015/lib/zchart/zchart.component.js +0 -199
- package/esm2015/lib/zcheckbox/zcheckbox.component.js +0 -158
- package/esm2015/lib/zchip/zchip.component.js +0 -117
- package/esm2015/lib/zcodeeditor/zcodeeditor.component.js +0 -163
- package/esm2015/lib/zcodeeditor/zcodeeditor.pipe.js +0 -56
- package/esm2015/lib/zdaterange/zdaterange.component.js +0 -63
- package/esm2015/lib/zdatetime/dateParser.pipe.js +0 -26
- package/esm2015/lib/zdatetime/zdatetime.component.js +0 -279
- package/esm2015/lib/zdiv/zdiv.component.js +0 -48
- package/esm2015/lib/zdiv/zdiv.pipe.js +0 -27
- package/esm2015/lib/zform/zform.component.js +0 -148
- package/esm2015/lib/zformcontrol/zformcontrol.component.js +0 -49
- package/esm2015/lib/zgauge/zgauge.component.js +0 -146
- package/esm2015/lib/zgrid/date-range-cell-filter.component.js +0 -102
- package/esm2015/lib/zgrid/zgrid.binding.directive.js +0 -493
- package/esm2015/lib/zgrid/zgrid.component.js +0 -834
- package/esm2015/lib/zgrid/zgrid.popup.anchor-target.directive.js +0 -16
- package/esm2015/lib/zimg/zimg.component.js +0 -123
- package/esm2015/lib/zkcard/zkcard.component.js +0 -372
- package/esm2015/lib/zlabel/zlabel.component.js +0 -59
- package/esm2015/lib/zmfb/zmfb.component.js +0 -215
- package/esm2015/lib/zmodal/zmodal-mobile.component.js +0 -119
- package/esm2015/lib/zmodal/zmodal.component.js +0 -130
- package/esm2015/lib/znumeric/znumeric.component.js +0 -114
- package/esm2015/lib/zpostselectinput/zpostselectinput.component.js +0 -345
- package/esm2015/lib/zquerybuilder/zquerybuilder.component.js +0 -196
- package/esm2015/lib/zreport/zreport.component.js +0 -104
- package/esm2015/lib/zreport/zreport.config.js +0 -115
- package/esm2015/lib/zscheduler/zscheduler.component.js +0 -268
- package/esm2015/lib/zselectmultiple/zselectmultiple.component.js +0 -565
- package/esm2015/lib/zselectmultiple/zselectmultiple.directive.js +0 -28
- package/esm2015/lib/ztab/ztab.component.js +0 -180
- package/esm2015/lib/ztab/ztab.pipe.js +0 -22
- package/esm2015/lib/ztext/ztext.component.js +0 -286
- package/esm2015/lib/ztextarea/ztextarea.component.js +0 -104
- package/esm2015/lib/ztexteditor/ztexteditor.component.js +0 -52
- package/esm2015/lib/ztree/ztree.component.js +0 -374
- package/esm2015/lib/ztreelist/ztreelist.component.js +0 -539
- package/esm2015/lib/ztrendcard/ztrendcard.component.js +0 -89
- package/esm2015/lib/zudf/zudf.component.js +0 -206
- package/esm2015/lib/zunknown/zunknown.component.js +0 -20
- package/esm2015/lib/zupload/zupload.component.js +0 -358
- package/esm2015/lib/zworkflowbuttons/zworkflowbuttons.component.js +0 -215
- package/esm2015/mmhglobal-dynamicform.js +0 -7
- package/fesm2015/mmhglobal-dynamicform.js +0 -10729
- package/fesm2015/mmhglobal-dynamicform.js.map +0 -1
- package/mmhglobal-dynamicform.metadata.json +0 -1
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef } from '@angular/core';
|
|
2
|
-
export class ZGridPopupAnchorDirective {
|
|
3
|
-
constructor(element) {
|
|
4
|
-
this.element = element;
|
|
5
|
-
}
|
|
6
|
-
}
|
|
7
|
-
ZGridPopupAnchorDirective.decorators = [
|
|
8
|
-
{ type: Directive, args: [{
|
|
9
|
-
selector: '[popupAnchor]',
|
|
10
|
-
exportAs: 'popupAnchor'
|
|
11
|
-
},] }
|
|
12
|
-
];
|
|
13
|
-
ZGridPopupAnchorDirective.ctorParameters = () => [
|
|
14
|
-
{ type: ElementRef }
|
|
15
|
-
];
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemdyaWQucG9wdXAuYW5jaG9yLXRhcmdldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96Z3JpZC96Z3JpZC5wb3B1cC5hbmNob3ItdGFyZ2V0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFNeEUsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFtQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBRXRDLENBQUM7OztZQVBGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZUFBZTtnQkFDekIsUUFBUSxFQUFFLGFBQWE7YUFDeEI7OztZQUxtQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBWaWV3Q29udGFpbmVyUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1twb3B1cEFuY2hvcl0nLFxyXG4gIGV4cG9ydEFzOiAncG9wdXBBbmNob3InXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaR3JpZFBvcHVwQW5jaG9yRGlyZWN0aXZlIHtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZWxlbWVudDogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
/********** Angular **********/
|
|
3
|
-
import { Component, Input } from "@angular/core";
|
|
4
|
-
import { Validators } from '@angular/forms';
|
|
5
|
-
/********** Component & Service **********/
|
|
6
|
-
import { ZComponentHelper, ZComponentProperties, AttachmentService } from "mmhglobal-zcore";
|
|
7
|
-
export class ZimgComponent {
|
|
8
|
-
constructor(attachmentService) {
|
|
9
|
-
this.attachmentService = attachmentService;
|
|
10
|
-
this.imgWidth = null;
|
|
11
|
-
this.imgHeight = null;
|
|
12
|
-
this.imgSrc = null;
|
|
13
|
-
this.randomNumber = Math.random();
|
|
14
|
-
this.componentProperties = new ZComponentProperties();
|
|
15
|
-
this.setEnable = (status) => {
|
|
16
|
-
this.componentProperties.isReadOnly = !status;
|
|
17
|
-
};
|
|
18
|
-
this.setVisible = (status) => {
|
|
19
|
-
this.componentProperties.isVisible = status;
|
|
20
|
-
this.data.Visible = status;
|
|
21
|
-
};
|
|
22
|
-
this.setRequire = (status) => {
|
|
23
|
-
this.componentProperties.isRequired = status;
|
|
24
|
-
ZComponentHelper.changeValidator(status, this.group, this.data.Value, this.componentProperties, Validators.required);
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
29
|
-
ZComponentHelper.setComponentProperties(this);
|
|
30
|
-
ZComponentHelper.registerComponent(this);
|
|
31
|
-
if (this.data.Size && this.data.Size.toLowerCase().indexOf("x") !== -1) {
|
|
32
|
-
const imgSize = this.data.Size.toLowerCase().split("x");
|
|
33
|
-
this.imgWidth = imgSize[0];
|
|
34
|
-
this.imgHeight = imgSize[1];
|
|
35
|
-
}
|
|
36
|
-
this.Guid = this.getGroupValue(this.data['Guid'], this.group); //this.data['Guid'];//this.getGroupValue(this.data['Guid'], this.group);
|
|
37
|
-
this.FileName = this.getGroupValue(this.data['FileName'], this.group); //this.getGroupValue(this.data['FileName'], this.group);
|
|
38
|
-
if (this.Guid != undefined && this.FileName != undefined) {
|
|
39
|
-
let blobfile = yield this.attachmentService.getImageBlob(this.FileName, this.Guid);
|
|
40
|
-
this.Image = yield this.attachmentService.convertBlobToBase64(blobfile);
|
|
41
|
-
}
|
|
42
|
-
// this.subscription = this.group.zModel$
|
|
43
|
-
// .asObservable()
|
|
44
|
-
// .subscribe((zmodel: any) => {
|
|
45
|
-
// this.onDataSourceChange(zmodel);
|
|
46
|
-
// });
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
ngOnDestroy() {
|
|
50
|
-
if (this.subscription) {
|
|
51
|
-
this.subscription.unsubscribe();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
onDataSourceChange() {
|
|
55
|
-
const value = this.getGroupValue(this.data.Value, this.group);
|
|
56
|
-
const sourceUrl = this.getGroupValue(this.data.SourceUrl, this.group);
|
|
57
|
-
if (value && sourceUrl) {
|
|
58
|
-
// this.imgSrc =
|
|
59
|
-
// this.imgSourceAvailable = true;
|
|
60
|
-
return (sourceUrl +
|
|
61
|
-
"?id=" +
|
|
62
|
-
value +
|
|
63
|
-
"&size=" +
|
|
64
|
-
this.data.Size
|
|
65
|
-
// + "&r=" + this.randomNumber
|
|
66
|
-
);
|
|
67
|
-
// console.log("image source: ", this.imgSrc);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
// this.imgSourceAvailable = false;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
getGroupValue(value, group) {
|
|
74
|
-
return ZComponentHelper.getGroupValue(value, group);
|
|
75
|
-
}
|
|
76
|
-
// getValue(data: string) {
|
|
77
|
-
// let gArray: Array<string>;
|
|
78
|
-
// if (data) {
|
|
79
|
-
// gArray = data.split(".");
|
|
80
|
-
// if (gArray.length === 3 && data.startsWith("group.zModel")) {
|
|
81
|
-
// return this.group.zModel[gArray[2]];
|
|
82
|
-
// } else if (gArray.length === 2 && data.startsWith("group.")) {
|
|
83
|
-
// return this.group[gArray[1]];
|
|
84
|
-
// }
|
|
85
|
-
// }
|
|
86
|
-
// return null;
|
|
87
|
-
// }
|
|
88
|
-
getImgStyle() { }
|
|
89
|
-
onIconClick() {
|
|
90
|
-
const iconClick = ZComponentHelper.getGroupEvalValue.call(this, this.data.OnItemClick, this.group);
|
|
91
|
-
if (typeof iconClick === 'function') {
|
|
92
|
-
return iconClick();
|
|
93
|
-
}
|
|
94
|
-
if (!iconClick) {
|
|
95
|
-
console.warn('ZImg OnItemClick property is invalid: ', iconClick);
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
if (typeof iconClick !== 'function') {
|
|
99
|
-
console.warn('ZImg OnItemClick property is not a function: ', iconClick);
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
getIconName() {
|
|
104
|
-
const iconName = ZComponentHelper.getGroupEvalValue.call(this, this.data.Icon, this.group);
|
|
105
|
-
return iconName;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
ZimgComponent.decorators = [
|
|
109
|
-
{ type: Component, args: [{
|
|
110
|
-
selector: "app-zimg",
|
|
111
|
-
template: "<ion-item>\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">{{data.Label}} <ion-text\r\n *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <img *ngIf=\"!!getGroupValue(data.Value, group)\" [src]=\"onDataSourceChange()\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n <img *ngIf=\"this.Guid !==undefined && this.Guid !==FileName\" [src]=\"this.Image\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n \r\n <div *ngIf=\"!getGroupValue(data.Value, group)\" (click)=\"onIconClick()\">\r\n <ion-icon name=\"getIconName()\" style=\"zoom:4.0;\">\r\n </ion-icon>\r\n </div>\r\n</ion-item>",
|
|
112
|
-
styles: [""]
|
|
113
|
-
},] }
|
|
114
|
-
];
|
|
115
|
-
ZimgComponent.ctorParameters = () => [
|
|
116
|
-
{ type: AttachmentService }
|
|
117
|
-
];
|
|
118
|
-
ZimgComponent.propDecorators = {
|
|
119
|
-
data: [{ type: Input }],
|
|
120
|
-
group: [{ type: Input }],
|
|
121
|
-
form: [{ type: Input }]
|
|
122
|
-
};
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemltZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96aW1nL3ppbWcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBT3ZELDJDQUEyQztBQUMzQyxPQUFPLEVBQ08sZ0JBQWdCLEVBQWtCLG9CQUFvQixFQUNuRCxpQkFBaUIsRUFDakMsTUFBTSxpQkFBaUIsQ0FBQztBQVF6QixNQUFNLE9BQU8sYUFBYTtJQWV4QixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQVh4RCxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGNBQVMsR0FBVyxJQUFJLENBQUM7UUFDekIsV0FBTSxHQUFXLElBQUksQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM3Qix3QkFBbUIsR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUM7UUE2RzFDLGNBQVMsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDaEQsQ0FBQyxDQUFBO1FBRU0sZUFBVSxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzdCLENBQUMsQ0FBQTtRQUVNLGVBQVUsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxtQkFB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KioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQge1xyXG4gIFpDb21wb25lbnQsIFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCwgWkdyb3VwLCBaQ29tcG9uZW50UHJvcGVydGllcyxcclxuICBXZWJBcGlTZXJ2aWNlLCBBdHRhY2htZW50U2VydmljZVxyXG59IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtemltZ1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vemltZy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96aW1nLmNvbXBvbmVudC5zY3NzXCJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaaW1nQ29tcG9uZW50IGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICBpbWdXaWR0aDogc3RyaW5nID0gbnVsbDtcclxuICBpbWdIZWlnaHQ6IHN0cmluZyA9IG51bGw7XHJcbiAgaW1nU3JjOiBzdHJpbmcgPSBudWxsO1xyXG4gIHJhbmRvbU51bWJlciA9IE1hdGgucmFuZG9tKCk7XHJcbiAgY29tcG9uZW50UHJvcGVydGllcyA9IG5ldyBaQ29tcG9uZW50UHJvcGVydGllcygpO1xyXG4gIC8vIGltZ1NvdXJjZUF2YWlsYWJsZSA9IGZhbHNlO1xyXG4gIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBHdWlkO1xyXG4gIEZpbGVOYW1lO1xyXG4gIEltYWdlOnN0cmluZztcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF0dGFjaG1lbnRTZXJ2aWNlOiBBdHRhY2htZW50U2VydmljZSkgeyB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICAgIGlmICh0aGlzLmRhdGEuU2l6ZSAmJiB0aGlzLmRhdGEuU2l6ZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoXCJ4XCIpICE9PSAtMSkge1xyXG4gICAgICBjb25zdCBpbWdTaXplID0gdGhpcy5kYXRhLlNpemUudG9Mb3dlckNhc2UoKS5zcGxpdChcInhcIik7XHJcbiAgICAgIHRoaXMuaW1nV2lkdGggPSBpbWdTaXplWzBdO1xyXG4gICAgICB0aGlzLmltZ0hlaWdodCA9IGltZ1NpemVbMV07XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5HdWlkID0gdGhpcy5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YVsnR3VpZCddLCB0aGlzLmdyb3VwKTsvL3RoaXMuZGF0YVsnR3VpZCddOy8vdGhpcy5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YVsnR3VpZCddLCB0aGlzLmdyb3VwKTtcclxuICAgIHRoaXMuRmlsZU5hbWUgPSAgIHRoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0ZpbGVOYW1lJ10sIHRoaXMuZ3JvdXApOy8vdGhpcy5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YVsnRmlsZU5hbWUnXSwgdGhpcy5ncm91cCk7XHJcblxyXG4gICAgaWYodGhpcy5HdWlkICE9IHVuZGVmaW5lZCAmJiAgdGhpcy5GaWxlTmFtZSAhPSB1bmRlZmluZWQpe1xyXG4gICAgICBsZXQgYmxvYmZpbGUgPSBhd2FpdCB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLmdldEltYWdlQmxvYih0aGlzLkZpbGVOYW1lLCB0aGlzLkd1aWQpO1xyXG4gICAgICB0aGlzLkltYWdlPSBhd2FpdCB0aGlzLmF0dGFjaG1lbnRTZXJ2aWNlLmNvbnZlcnRCbG9iVG9CYXNlNjQoYmxvYmZpbGUpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAvLyB0aGlzLnN1YnNjcmlwdGlvbiA9IHRoaXMuZ3JvdXAuek1vZGVsJFxyXG4gICAgLy8gICAuYXNPYnNlcnZhYmxlKClcclxuICAgIC8vICAgLnN1YnNjcmliZSgoem1vZGVsOiBhbnkpID0+IHtcclxuICAgIC8vICAgICB0aGlzLm9uRGF0YVNvdXJjZUNoYW5nZSh6bW9kZWwpO1xyXG4gICAgLy8gICB9KTtcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkRhdGFTb3VyY2VDaGFuZ2UoKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuVmFsdWUsIHRoaXMuZ3JvdXApO1xyXG4gICAgY29uc3Qgc291cmNlVXJsID0gdGhpcy5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5Tb3VyY2VVcmwsIHRoaXMuZ3JvdXApO1xyXG5cclxuICAgIGlmICh2YWx1ZSAmJiBzb3VyY2VVcmwpIHtcclxuICAgICAgLy8gdGhpcy5pbWdTcmMgPVxyXG4gICAgICAvLyB0aGlzLmltZ1NvdXJjZUF2YWlsYWJsZSA9IHRydWU7XHJcbiAgICAgIHJldHVybiAoXHJcbiAgICAgICAgc291cmNlVXJsICtcclxuICAgICAgICBcIj9pZD1cIiArXHJcbiAgICAgICAgdmFsdWUgK1xyXG4gICAgICAgIFwiJnNpemU9XCIgK1xyXG4gICAgICAgIHRoaXMuZGF0YS5TaXplXHJcbiAgICAgICAgLy8gKyBcIiZyPVwiICsgdGhpcy5yYW5kb21OdW1iZXJcclxuICAgICAgKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coXCJpbWFnZSBzb3VyY2U6IFwiLCB0aGlzLmltZ1NyYyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyB0aGlzLmltZ1NvdXJjZUF2YWlsYWJsZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0R3JvdXBWYWx1ZSh2YWx1ZTogc3RyaW5nLCBncm91cDogYW55KSB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHZhbHVlLCBncm91cCk7XHJcbiAgfVxyXG5cclxuICAvLyBnZXRWYWx1ZShkYXRhOiBzdHJpbmcpIHtcclxuICAvLyAgIGxldCBnQXJyYXk6IEFycmF5PHN0cmluZz47XHJcbiAgLy8gICBpZiAoZGF0YSkge1xyXG4gIC8vICAgICBnQXJyYXkgPSBkYXRhLnNwbGl0KFwiLlwiKTtcclxuXHJcbiAgLy8gICAgIGlmIChnQXJyYXkubGVuZ3RoID09PSAzICYmIGRhdGEuc3RhcnRzV2l0aChcImdyb3VwLnpNb2RlbFwiKSkge1xyXG4gIC8vICAgICAgIHJldHVybiB0aGlzLmdyb3VwLnpNb2RlbFtnQXJyYXlbMl1dO1xyXG4gIC8vICAgICB9IGVsc2UgaWYgKGdBcnJheS5sZW5ndGggPT09IDIgJiYgZGF0YS5zdGFydHNXaXRoKFwiZ3JvdXAuXCIpKSB7XHJcbiAgLy8gICAgICAgcmV0dXJuIHRoaXMuZ3JvdXBbZ0FycmF5WzFdXTtcclxuICAvLyAgICAgfVxyXG4gIC8vICAgfVxyXG4gIC8vICAgcmV0dXJuIG51bGw7XHJcbiAgLy8gfVxyXG5cclxuICBnZXRJbWdTdHlsZSgpOiBhbnkgeyB9XHJcblxyXG4gIG9uSWNvbkNsaWNrKCkge1xyXG4gICAgY29uc3QgaWNvbkNsaWNrID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5Pbkl0ZW1DbGljaywgdGhpcy5ncm91cCk7XHJcbiAgICBpZiAodHlwZW9mIGljb25DbGljayA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gaWNvbkNsaWNrKCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFpY29uQ2xpY2spIHtcclxuICAgICAgY29uc29sZS53YXJuKCdaSW1nIE9uSXRlbUNsaWNrIHByb3BlcnR5IGlzIGludmFsaWQ6ICcsIGljb25DbGljayk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIGljb25DbGljayAhPT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1pJbWcgT25JdGVtQ2xpY2sgcHJvcGVydHkgaXMgbm90IGEgZnVuY3Rpb246ICcsIGljb25DbGljayk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEljb25OYW1lKCkge1xyXG4gICAgY29uc3QgaWNvbk5hbWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLkljb24sIHRoaXMuZ3JvdXApO1xyXG4gICAgcmV0dXJuIGljb25OYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVuYWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gIXN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJlcXVpcmUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZCA9IHN0YXR1cztcclxuICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,372 +0,0 @@
|
|
|
1
|
-
/********** Angular **********/
|
|
2
|
-
import { Component } from '@angular/core';
|
|
3
|
-
import { ActivatedRoute, Router } from '@angular/router';
|
|
4
|
-
import { delay, tap } from 'rxjs/operators';
|
|
5
|
-
/********** Component & Service **********/
|
|
6
|
-
import { AuthService, ResourceApiService, WebApiService, ZComponentHelper, ZGridStatePersistingService } from 'mmhglobal-zcore';
|
|
7
|
-
export class ZkcardComponent {
|
|
8
|
-
constructor(activatedRoute, resourceApiService, authService, zGridStatePersistingService, webapiService, router) {
|
|
9
|
-
this.activatedRoute = activatedRoute;
|
|
10
|
-
this.resourceApiService = resourceApiService;
|
|
11
|
-
this.authService = authService;
|
|
12
|
-
this.zGridStatePersistingService = zGridStatePersistingService;
|
|
13
|
-
this.webapiService = webapiService;
|
|
14
|
-
this.router = router;
|
|
15
|
-
this.zgrid = null;
|
|
16
|
-
this.scrollViewCards = { data: [], total: 0 };
|
|
17
|
-
this.responseData = { data: [], total: 0 };
|
|
18
|
-
this.params = {
|
|
19
|
-
referId: null,
|
|
20
|
-
pageNo: 0,
|
|
21
|
-
pageSize: 20,
|
|
22
|
-
sortColumnName: "",
|
|
23
|
-
sortOrder: "",
|
|
24
|
-
sortColumnNames: [],
|
|
25
|
-
sortOrders: [],
|
|
26
|
-
filterParams: [],
|
|
27
|
-
parameters: "",
|
|
28
|
-
filters: "",
|
|
29
|
-
columns: "",
|
|
30
|
-
grantType: 4
|
|
31
|
-
};
|
|
32
|
-
this.gridColumns = [];
|
|
33
|
-
this.usableColumns = [];
|
|
34
|
-
this.dataSource = null;
|
|
35
|
-
this.state = {
|
|
36
|
-
skip: 0,
|
|
37
|
-
take: 10,
|
|
38
|
-
};
|
|
39
|
-
this.paginationApiPostUrl = null;
|
|
40
|
-
this.resourceURL = null;
|
|
41
|
-
this.filterItems = [];
|
|
42
|
-
this.progressStyles = {
|
|
43
|
-
color: '',
|
|
44
|
-
background: 'green'
|
|
45
|
-
};
|
|
46
|
-
this.loadingPanelVisible = false;
|
|
47
|
-
this.label = {
|
|
48
|
-
visible: true,
|
|
49
|
-
format: 'percent',
|
|
50
|
-
position: 'center'
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
ngOnInit() {
|
|
54
|
-
ZComponentHelper.setComponentProperties(this);
|
|
55
|
-
ZComponentHelper.registerComponent(this);
|
|
56
|
-
this.dataSource = this.field.DataSource ? this.field.DataSource : null;
|
|
57
|
-
this.filterItems = this.group['filterItems'];
|
|
58
|
-
if (!this.dataSource) {
|
|
59
|
-
this.resourceURL = ZComponentHelper.getGroupValue(this.field.ResourceURL, this.grp);
|
|
60
|
-
// console.log("At zgrid.component (OnInit) resourceURL: ", resourceURL);
|
|
61
|
-
if (!this.resourceURL) {
|
|
62
|
-
// this.grid.loading = false;
|
|
63
|
-
//if (this.zgridbinding.data.Name !== "ActivityLogGrid") {
|
|
64
|
-
// console.warn(
|
|
65
|
-
// "No initialise for Field.ResourceURL: ",
|
|
66
|
-
// this.field.ResourceURL
|
|
67
|
-
// );
|
|
68
|
-
//}
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const array = this.resourceURL.split("/api/");
|
|
72
|
-
if (!!array[1]) {
|
|
73
|
-
array[1] = "Page" + array[1];
|
|
74
|
-
this.paginationApiPostUrl = array.join("/api/");
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
const arr = this.resourceURL.split("/");
|
|
78
|
-
arr[arr.length - 2] = "Page" + arr[arr.length - 2];
|
|
79
|
-
this.paginationApiPostUrl = arr.join("/");
|
|
80
|
-
}
|
|
81
|
-
this.setFilterParamsByParentRefId();
|
|
82
|
-
}
|
|
83
|
-
this.generateGridColumns();
|
|
84
|
-
}
|
|
85
|
-
ngOnDestroy() {
|
|
86
|
-
if (this.subscription) {
|
|
87
|
-
this.subscription.unsubscribe();
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
getData() {
|
|
91
|
-
if (this.zgrid) {
|
|
92
|
-
this.zgrid.getDataBinding();
|
|
93
|
-
}
|
|
94
|
-
//if (this.data.SkipDirective) {
|
|
95
|
-
// this.gridData = process(this.gData, this.state);
|
|
96
|
-
// this.createFormControls();
|
|
97
|
-
//}
|
|
98
|
-
}
|
|
99
|
-
generateGridColumns() {
|
|
100
|
-
this.loadingPanelVisible = true;
|
|
101
|
-
const columnFields$ = ZComponentHelper.getGroupValue(this.field.ColumnFields, this.grp);
|
|
102
|
-
columnFields$
|
|
103
|
-
.pipe(tap((data) => {
|
|
104
|
-
const gridSetting = this.getGridSettings();
|
|
105
|
-
const fieldName = this.field["FieldElementName"];
|
|
106
|
-
ZComponentHelper.getGridColumns(data, this.gridColumns, this.group, this.authService, fieldName, gridSetting, this.usableColumns);
|
|
107
|
-
this.getFilterParamsColumns();
|
|
108
|
-
this.getFilter();
|
|
109
|
-
//this.getSorting();
|
|
110
|
-
//this.getGrantType();
|
|
111
|
-
//this.setHiddenColumn(gridSetting);
|
|
112
|
-
//this.params.referId = this.getFieldReferenceId() || this.grp.referenceId || null;
|
|
113
|
-
}), tap(() => {
|
|
114
|
-
this.getDataBinding();
|
|
115
|
-
}))
|
|
116
|
-
.subscribe(() => {
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
|
-
getDataBinding() {
|
|
120
|
-
var _a;
|
|
121
|
-
if (!this.dataSource) {
|
|
122
|
-
this.param.pageSize = (_a = this.field.PageSize) !== null && _a !== void 0 ? _a : 50;
|
|
123
|
-
if (this.field.ExternalPagination) {
|
|
124
|
-
// For POST method Page WebAPI
|
|
125
|
-
this.webapiService
|
|
126
|
-
.postApi(this.paginationApiPostUrl, this.param, null, null, null, null, true)
|
|
127
|
-
.subscribe((data) => {
|
|
128
|
-
delay(2500);
|
|
129
|
-
this.responseData = { data: data.dataSet, total: data.totalCount };
|
|
130
|
-
this.scrollViewCards = { data: data.dataSet, total: data.totalCount };
|
|
131
|
-
if (data.dataSet.length > 0) {
|
|
132
|
-
this.getRecordsSummary();
|
|
133
|
-
}
|
|
134
|
-
if (this.data.ResourceURLAlt) {
|
|
135
|
-
this.getNewSurvey();
|
|
136
|
-
}
|
|
137
|
-
//this.aggregateHandling(data.dataSet);
|
|
138
|
-
//this.grid.data = { data: data.dataSet, total: data.totalCount };
|
|
139
|
-
//this.grid.loading = false;
|
|
140
|
-
this.loadingPanelVisible = false;
|
|
141
|
-
//this.notifyDataChange();
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
else {
|
|
145
|
-
// For GET method
|
|
146
|
-
this.webapiService
|
|
147
|
-
.getApi(this.resourceURL, null, null, null, null, null, true)
|
|
148
|
-
.subscribe((data) => {
|
|
149
|
-
let _data = null;
|
|
150
|
-
let _totalCount = 0;
|
|
151
|
-
if (data.dataSet) {
|
|
152
|
-
_data = data.dataSet;
|
|
153
|
-
_totalCount = data.totalCount;
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
_data = data;
|
|
157
|
-
_totalCount = data.length;
|
|
158
|
-
}
|
|
159
|
-
this.loadingPanelVisible = false;
|
|
160
|
-
//this.aggregateHandling(_data);
|
|
161
|
-
//this.grid.data = { data: _data, total: _totalCount };
|
|
162
|
-
//this.grid.pageSize = _totalCount;
|
|
163
|
-
//this.grid.loading = false;
|
|
164
|
-
//this.notifyDataChange();
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
else {
|
|
169
|
-
const ds = ZComponentHelper.getGroupValue(this.field.DataSource, this.grp);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
getRecordsSummary() {
|
|
173
|
-
let SurveyIds = [];
|
|
174
|
-
this.responseData.data.forEach(value => {
|
|
175
|
-
SurveyIds.push(value.Id);
|
|
176
|
-
});
|
|
177
|
-
this.webapiService
|
|
178
|
-
.postApi(this.resourceApiService.getURL('ppsapsurveysummaryinfoURL'), SurveyIds, null, null, null, null, true)
|
|
179
|
-
.subscribe(data => {
|
|
180
|
-
this.responseData.data.forEach(value => {
|
|
181
|
-
data.forEach(x => {
|
|
182
|
-
if (x.SurveyId == value.Id) {
|
|
183
|
-
value['value'] = Number.isNaN(((x.TotalTakenQuestions / x.TotalQuestions) * 100)) ? 0 : Math.round(((x.TotalTakenQuestions / x.TotalQuestions) * 100));
|
|
184
|
-
// value['value'] = 100;
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
|
-
});
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
getNewSurvey() {
|
|
191
|
-
var _a;
|
|
192
|
-
let requestBody = {
|
|
193
|
-
columns: "PartnerMillId,SurveyTemplateId,WFS_StatusCode,WFS_StatusName",
|
|
194
|
-
pageSize: (_a = this.field.PageSize) !== null && _a !== void 0 ? _a : 50,
|
|
195
|
-
};
|
|
196
|
-
this.webapiService
|
|
197
|
-
.postApi(this.resourceApiService.getPageUrl(this.data.ResourceURLAlt), requestBody, null, null, null, null, true)
|
|
198
|
-
.subscribe((data) => {
|
|
199
|
-
data.dataSet.forEach(value => {
|
|
200
|
-
value['value'] = 0;
|
|
201
|
-
this.scrollViewCards.data.push(value);
|
|
202
|
-
this.scrollViewCards.total += 1;
|
|
203
|
-
//data.forEach(x => {
|
|
204
|
-
// if (x.SurveyId == value.Id) {
|
|
205
|
-
// value['value'] = Number.isNaN(((x.TotalTakenQuestions / x.TotalQuestions) * 100)) ? 0 : Math.round(((x.TotalTakenQuestions / x.TotalQuestions) * 100));
|
|
206
|
-
// }
|
|
207
|
-
//})
|
|
208
|
-
});
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
get field() {
|
|
212
|
-
return this.data;
|
|
213
|
-
}
|
|
214
|
-
get grp() {
|
|
215
|
-
return this.group;
|
|
216
|
-
}
|
|
217
|
-
get param() {
|
|
218
|
-
return this.params;
|
|
219
|
-
}
|
|
220
|
-
getGridSettings() {
|
|
221
|
-
const _storageKey = 'ionic-field::' + this.authService.e1Token.userName;
|
|
222
|
-
const _gridName = this.field.Name + '::' + this.field.Value;
|
|
223
|
-
// Find any setting from localstorage..
|
|
224
|
-
let _arrGridCaching = this.zGridStatePersistingService.get(_storageKey);
|
|
225
|
-
if (_arrGridCaching && _arrGridCaching[0]) {
|
|
226
|
-
const _gridCaching = _arrGridCaching.find(x => x['dataFormFields'] === _gridName);
|
|
227
|
-
if (_gridCaching) {
|
|
228
|
-
return _gridCaching.gridSettings.columnsConfig.sort((a, b) => a.orderIndex - b.orderIndex);
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
setFilterParamsByParentRefId() {
|
|
233
|
-
// Use field own referenceId if available
|
|
234
|
-
const refId = this.getFieldReferenceId() || this.grp.referenceId;
|
|
235
|
-
const refField = this.field.ReferenceField || this.grp.parentReferenceField;
|
|
236
|
-
if (refId && this.grp.parentReferenceField) {
|
|
237
|
-
const filterValue = {
|
|
238
|
-
key: refField,
|
|
239
|
-
ops: "=",
|
|
240
|
-
value: refId,
|
|
241
|
-
};
|
|
242
|
-
// if (this.params.filterParams.find(x => x.key === filterValue.key) === undefined) {
|
|
243
|
-
this.params.filterParams.push(filterValue);
|
|
244
|
-
// }
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
getFieldReferenceId() {
|
|
248
|
-
let fieldReferenceId = null;
|
|
249
|
-
if (this.field.ReferenceId) {
|
|
250
|
-
fieldReferenceId = ZComponentHelper.getGroupValue(this.field.ReferenceId, this.grp);
|
|
251
|
-
}
|
|
252
|
-
return fieldReferenceId;
|
|
253
|
-
}
|
|
254
|
-
getFilterParamsColumns() {
|
|
255
|
-
const colFields = [];
|
|
256
|
-
this.gridColumns.forEach((field) => {
|
|
257
|
-
if (field.valueExpr) {
|
|
258
|
-
colFields.push(field.valueExpr + " as " + field.field);
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
colFields.push(field.field);
|
|
262
|
-
}
|
|
263
|
-
});
|
|
264
|
-
if (colFields.length > 0) {
|
|
265
|
-
if (colFields.indexOf("Id") === -1) {
|
|
266
|
-
colFields.push("Id");
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
let tmpGridColumn = [];
|
|
270
|
-
tmpGridColumn.push(colFields.join(","));
|
|
271
|
-
if (this.usableColumns.length > 0) {
|
|
272
|
-
tmpGridColumn.push(this.usableColumns.join(","));
|
|
273
|
-
}
|
|
274
|
-
this.params.columns = tmpGridColumn.join(",");
|
|
275
|
-
}
|
|
276
|
-
start(event) {
|
|
277
|
-
this.group;
|
|
278
|
-
this.group.isLoading = true;
|
|
279
|
-
if (event.WFS_StatusName == 'New') {
|
|
280
|
-
let param = {
|
|
281
|
-
UserId: this.group['PSAPUSERID'],
|
|
282
|
-
SurveyMillId: event.Id
|
|
283
|
-
};
|
|
284
|
-
this.webapiService
|
|
285
|
-
.postApi(this.resourceApiService.getURL('ppsapsurveycreateURL'), param, null, null, null, null, true)
|
|
286
|
-
.subscribe((data) => {
|
|
287
|
-
this.group.isLoading = false;
|
|
288
|
-
if (this.data.EditClickURL) {
|
|
289
|
-
// TODO:
|
|
290
|
-
// debugger;
|
|
291
|
-
// this.router.navigate([this.data.EditClickURL, dataItem.Id]);
|
|
292
|
-
const colFields = ZComponentHelper.getGroupValue(this.data.ColumnFields, this.group);
|
|
293
|
-
this.group.subject.next({
|
|
294
|
-
type: "zgrid-cellClick",
|
|
295
|
-
target: this.data.EditClickURL,
|
|
296
|
-
data: event,
|
|
297
|
-
columnFields$: colFields
|
|
298
|
-
});
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
this.router.navigate([this.group.editModelURL, data.Id, 'edit'], {
|
|
302
|
-
relativeTo: this.activatedRoute
|
|
303
|
-
});
|
|
304
|
-
}
|
|
305
|
-
});
|
|
306
|
-
}
|
|
307
|
-
else {
|
|
308
|
-
this.group.isLoading = false;
|
|
309
|
-
if (this.data.EditClickURL) {
|
|
310
|
-
// TODO:
|
|
311
|
-
// debugger;
|
|
312
|
-
// this.router.navigate([this.data.EditClickURL, dataItem.Id]);
|
|
313
|
-
const colFields = ZComponentHelper.getGroupValue(this.data.ColumnFields, this.group);
|
|
314
|
-
this.group.subject.next({
|
|
315
|
-
type: "zgrid-cellClick",
|
|
316
|
-
target: this.data.EditClickURL,
|
|
317
|
-
data: event,
|
|
318
|
-
columnFields$: colFields
|
|
319
|
-
});
|
|
320
|
-
}
|
|
321
|
-
else {
|
|
322
|
-
this.router.navigate([this.group.editModelURL, event.Id, 'edit'], {
|
|
323
|
-
relativeTo: this.activatedRoute
|
|
324
|
-
});
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
getFontAwesome(iconName) {
|
|
329
|
-
return ZComponentHelper.getFontAwesome(iconName);
|
|
330
|
-
}
|
|
331
|
-
getFilter() {
|
|
332
|
-
if (this.params.filters && this.field.Filters) {
|
|
333
|
-
this.params.filters = this.params.filters + " && " + this.field.Filters;
|
|
334
|
-
}
|
|
335
|
-
else if (!this.params.filters && this.field.Filters) {
|
|
336
|
-
this.params.filters = this.field.Filters;
|
|
337
|
-
}
|
|
338
|
-
if (this.field.Filters && this.field.Filters.indexOf("group.") !== -1) {
|
|
339
|
-
const filterKeyValPairs = this.field.Filters.split(" ");
|
|
340
|
-
const grpValues = filterKeyValPairs.filter((element) => element.trim().indexOf("group.") !== -1);
|
|
341
|
-
grpValues.forEach((val) => {
|
|
342
|
-
const actualVal = ZComponentHelper.getGroupValue(val, this.grp);
|
|
343
|
-
this.params.filters = this.params.filters.replace(val, actualVal);
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
valueChange(event) {
|
|
348
|
-
if (event.length < 1) {
|
|
349
|
-
this.scrollViewCards.data = this.responseData.data;
|
|
350
|
-
this.scrollViewCards.total = this.responseData.total;
|
|
351
|
-
return;
|
|
352
|
-
}
|
|
353
|
-
this.scrollViewCards.data = this.responseData.data.filter(x => event.includes(x.WFS_StatusName));
|
|
354
|
-
this.scrollViewCards.total = this.responseData.data.filter(x => event.includes(x.WFS_StatusName)).length;
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
ZkcardComponent.decorators = [
|
|
358
|
-
{ type: Component, args: [{
|
|
359
|
-
selector: 'app-zkcard',
|
|
360
|
-
template: "<!--<kendo-multiselect [data]=\"filterItems\" [value]=\"value\" [placeholder]=\"'Survey Status'\" [filterable]=\"true\"\r\n (valueChange)=\"valueChange($event)\"></kendo-multiselect>\r\n -->\r\n<div class=\"survey-card-list\">\r\n <div *ngFor=\"let card of scrollViewCards.data\">\r\n <!--<scrollview-card [card]=\"card\"></scrollview-card>-->\r\n <kendo-card class=\"custom-card-draft\" *ngIf=\"card.WFS_StatusName == 'Draft'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>Survey Doc No: {{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression:\r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <button class=\"k-button k-navigation\"\r\n (click)=\"start(card)\">\r\n <div style=\"justify-content:space-between\">\r\n <span> Continue </span>\r\n <fa-icon [icon]=\"getFontAwesome('play')\"></fa-icon>\r\n </div>\r\n </button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n\r\n <kendo-card class=\"custom-card-submit\" *ngIf=\"card.WFS_StatusName == 'Submitted'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>Survey Doc No: {{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression:\r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <button class=\"k-button k-navigation\"\r\n (click)=\"start(card)\">\r\n <div style=\"justify-content:space-between\">\r\n <span> View </span>\r\n <fa-icon [icon]=\"getFontAwesome('file-alt')\"></fa-icon>\r\n </div>\r\n </button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n\r\n <kendo-card class=\"custom-card-new\" *ngIf=\"card.WFS_StatusName == 'New'\" [width]=\"'250px'\">\r\n <kendo-card-header class=\"k-hbox\">\r\n <div>\r\n <h1 kendoCardTitle>{{ card.SurveyTemplateName }}</h1>\r\n <p kendoCardSubtitle>{{card.DocumentNo}}</p>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body class=\"card-body\">\r\n Mill Name: {{card.PartnerMillName}}\r\n <br />\r\n Survey Status: {{card.WFS_StatusName}}\r\n </kendo-card-body>\r\n <kendo-card-footer>\r\n Survey Progression: \r\n <kendo-progressbar style=\"width: 210px; border-radius:10px\" [value]=\"card.value\" [label]=\"label\" [progressCssStyle]=\"progressStyles\">\r\n </kendo-progressbar>\r\n <kendo-card-actions class=\"k-hbox-actionBtn\" orientation=\"horizontal\" [layout]=\"'end'\">\r\n <button class=\"k-button k-navigation\"\r\n (click)=\"start(card)\">\r\n <div style=\"justify-content:space-between\">\r\n <span> Start </span>\r\n <fa-icon [icon]=\"getFontAwesome('play')\"></fa-icon>\r\n </div>\r\n </button>\r\n </kendo-card-actions>\r\n </kendo-card-footer>\r\n </kendo-card>\r\n </div>\r\n</div>\r\n",
|
|
361
|
-
styles: [".survey-card-list{display:flex;flex-wrap:wrap;background-color:#f0dcd9;align-items:center;border-radius:10px}.custom-card-submit{margin:20px;border:3px solid green;border-radius:15px}.custom-card-draft,.custom-card-new{margin:20px;border:3px solid orange;border-radius:15px}"]
|
|
362
|
-
},] }
|
|
363
|
-
];
|
|
364
|
-
ZkcardComponent.ctorParameters = () => [
|
|
365
|
-
{ type: ActivatedRoute },
|
|
366
|
-
{ type: ResourceApiService },
|
|
367
|
-
{ type: AuthService },
|
|
368
|
-
{ type: ZGridStatePersistingService },
|
|
369
|
-
{ type: WebApiService },
|
|
370
|
-
{ type: Router }
|
|
371
|
-
];
|
|
372
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemtjYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3prY2FyZC96a2NhcmQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBTXpELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUMsMkNBQTJDO0FBQzNDLE9BQU8sRUFDTCxXQUFXLEVBQWtCLGtCQUFrQixFQUFFLGFBQWEsRUFDbEQsZ0JBQWdCLEVBQzVCLDJCQUEyQixFQUM1QixNQUFNLGlCQUFpQixDQUFDO0FBUXpCLE1BQU0sT0FBTyxlQUFlO0lBRTFCLFlBQ1UsY0FBOEIsRUFDOUIsa0JBQXNDLEVBQ3RDLFdBQXdCLEVBQ3hCLDJCQUF3RCxFQUN4RCxhQUE0QixFQUM1QixNQUFjO1FBTGQsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUE2QjtRQUN4RCxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTXhCLFVBQUssR0FBUSxJQUFJLENBQUM7UUFDbEIsb0JBQWUsR0FBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzlDLGlCQUFZLEdBQVEsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUMzQyxXQUFNLEdBQXVCO1lBQzNCLE9BQU8s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UjtRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDakcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0csQ0FBQzs7O1lBL2JGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsWUFBWTtnQkFDdEIsd3VJQUFzQzs7YUFFdkM7OztZQXRCUSxjQUFjO1lBWVEsa0JBQWtCO1lBQS9DLFdBQVc7WUFFWCwyQkFBMkI7WUFGc0IsYUFBYTtZQVp2QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWxheSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBMYWJlbFNldHRpbmdzIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLWFuZ3VsYXItcHJvZ3Jlc3NiYXInO1xyXG5pbXBvcnQgeyBTdGF0ZSB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBBdXRoU2VydmljZSwgWkZpZWxkLCBaR3JvdXAsIFJlc291cmNlQXBpU2VydmljZSwgV2ViQXBpU2VydmljZSwgR3JpZENhY2hpbmcsXHJcbiAgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudE91dHB1dEV2ZW50LFxyXG4gIFpHcmlkU3RhdGVQZXJzaXN0aW5nU2VydmljZSwgWkdyaWRDb2x1bW5TZXR0aW5ncywgWkdyaWRQb3N0QXBpUGFyYW1zXHJcbn0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16a2NhcmQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96a2NhcmQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3prY2FyZC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWmtjYXJkQ29tcG9uZW50IGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByZXNvdXJjZUFwaVNlcnZpY2U6IFJlc291cmNlQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6R3JpZFN0YXRlUGVyc2lzdGluZ1NlcnZpY2U6IFpHcmlkU3RhdGVQZXJzaXN0aW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgd2ViYXBpU2VydmljZTogV2ViQXBpU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7IH1cclxuXHJcbiAgZGF0YTogWkZpZWxkO1xyXG4gIGdyb3VwOiBaR3JvdXA7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIHpncmlkOiBhbnkgPSBudWxsO1xyXG4gIHNjcm9sbFZpZXdDYXJkczogYW55ID0geyBkYXRhOiBbXSwgdG90YWw6IDAgfTtcclxuICByZXNwb25zZURhdGE6IGFueSA9IHsgZGF0YTogW10sIHRvdGFsOiAwIH07XHJcbiAgcGFyYW1zOiBaR3JpZFBvc3RBcGlQYXJhbXMgPSB7XHJcbiAgICByZWZlcklkOiBudWxsLFxyXG4gICAgcGFnZU5vOiAwLFxyXG4gICAgcGFnZVNpemU6IDIwLFxyXG4gICAgc29ydENvbHVtbk5hbWU6IFwiXCIsXHJcbiAgICBzb3J0T3JkZXI6IFwiXCIsXHJcbiAgICBzb3J0Q29sdW1uTmFtZXM6IFtdLFxyXG4gICAgc29ydE9yZGVyczogW10sXHJcbiAgICBmaWx0ZXJQYXJhbXM6IFtdLFxyXG4gICAgcGFyYW1ldGVyczogXCJcIixcclxuICAgIGZpbHRlcnM6IFwiXCIsXHJcbiAgICBjb2x1bW5zOiBcIlwiLFxyXG4gICAgZ3JhbnRUeXBlOiA0XHJcbiAgfTtcclxuICAvL2dyaWREYXRhOiBHcmlkRGF0YVJlc3VsdDtcclxuICBjb2x1bW5zOiBhbnlbXTtcclxuICBncmlkQ29sdW1uczogYW55W10gPSBbXTtcclxuICB1c2FibGVDb2x1bW5zOiBhbnlbXSA9IFtdO1xyXG4gIGRhdGFTb3VyY2UgPSBudWxsO1xyXG4gIHN0YXRlOiBTdGF0ZSA9IHtcclxuICAgIHNraXA6IDAsXHJcbiAgICB0YWtlOiAxMCxcclxuICB9O1xyXG4gIHBhZ2luYXRpb25BcGlQb3N0VXJsID0gbnVsbDtcclxuICByZXNvdXJjZVVSTCA9IG51bGw7XHJcbiAgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHVibGljIGZpbHRlckl0ZW1zOiBBcnJheTxzdHJpbmc+ID0gW107XHJcbiAgcHVibGljIHByb2dyZXNzU3R5bGVzOiB7IFtrZXk6IHN0cmluZ106IGFueSB9ID0ge1xyXG4gICAgY29sb3I6ICcnLFxyXG4gICAgYmFja2dyb3VuZDogJ2dyZWVuJ1xyXG4gIH07XHJcbiAgcHVibGljIGxvYWRpbmdQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuXHJcblxyXG4gIHB1YmxpYyBsYWJlbDogTGFiZWxTZXR0aW5ncyA9IHtcclxuICAgIHZpc2libGU6IHRydWUsXHJcbiAgICBmb3JtYXQ6ICdwZXJjZW50JyxcclxuICAgIHBvc2l0aW9uOiAnY2VudGVyJ1xyXG4gIH07XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuXHJcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSB0aGlzLmZpZWxkLkRhdGFTb3VyY2UgPyB0aGlzLmZpZWxkLkRhdGFTb3VyY2UgOiBudWxsO1xyXG4gICAgdGhpcy5maWx0ZXJJdGVtcyA9IHRoaXMuZ3JvdXBbJ2ZpbHRlckl0ZW1zJ107XHJcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICB0aGlzLnJlc291cmNlVVJMID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKFxyXG4gICAgICAgIHRoaXMuZmllbGQuUmVzb3VyY2VVUkwsXHJcbiAgICAgICAgdGhpcy5ncnBcclxuICAgICAgKTtcclxuICAgICAgLy8gY29uc29sZS5sb2coXCJBdCB6Z3JpZC5jb21wb25lbnQgKE9uSW5pdCkgcmVzb3VyY2VVUkw6IFwiLCByZXNvdXJjZVVSTCk7XHJcbiAgICAgIGlmICghdGhpcy5yZXNvdXJjZVVSTCkge1xyXG4gICAgICAgIC8vIHRoaXMuZ3JpZC5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgLy9pZiAodGhpcy56Z3JpZGJpbmRpbmcuZGF0YS5OYW1lICE9PSBcIkFjdGl2aXR5TG9nR3JpZFwiKSB7XHJcbiAgICAgICAgLy8gIGNvbnNvbGUud2FybihcclxuICAgICAgICAvLyAgICBcIk5vIGluaXRpYWxpc2UgZm9yIEZpZWxkLlJlc291cmNlVVJMOiBcIixcclxuICAgICAgICAvLyAgICB0aGlzLmZpZWxkLlJlc291cmNlVVJMXHJcbiAgICAgICAgLy8gICk7XHJcbiAgICAgICAgLy99XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBhcnJheSA9IHRoaXMucmVzb3VyY2VVUkwuc3BsaXQoXCIvYXBpL1wiKTtcclxuICAgICAgaWYgKCEhYXJyYXlbMV0pIHtcclxuICAgICAgICBhcnJheVsxXSA9IFwiUGFnZVwiICsgYXJyYXlbMV07XHJcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uQXBpUG9zdFVybCA9IGFycmF5LmpvaW4oXCIvYXBpL1wiKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBhcnIgPSB0aGlzLnJlc291cmNlVVJMLnNwbGl0KFwiL1wiKTtcclxuICAgICAgICBhcnJbYXJyLmxlbmd0aCAtIDJdID0gXCJQYWdlXCIgKyBhcnJbYXJyLmxlbmd0aCAtIDJdO1xyXG4gICAgICAgIHRoaXMucGFnaW5hdGlvbkFwaVBvc3RVcmwgPSBhcnIuam9pbihcIi9cIik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0RmlsdGVyUGFyYW1zQnlQYXJlbnRSZWZJZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2VuZXJhdGVHcmlkQ29sdW1ucygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zdWJzY3JpcHRpb24pIHtcclxuICAgICAgdGhpcy5zdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldERhdGEoKSB7XHJcbiAgICBpZiAodGhpcy56Z3JpZCkge1xyXG4gICAgICB0aGlzLnpncmlkLmdldERhdGFCaW5kaW5nKCk7XHJcbiAgICB9XHJcbiAgICAvL2lmICh0aGlzLmRhdGEuU2tpcERpcmVjdGl2ZSkge1xyXG4gICAgLy8gIHRoaXMuZ3JpZERhdGEgPSBwcm9jZXNzKHRoaXMuZ0RhdGEsIHRoaXMuc3RhdGUpO1xyXG4gICAgLy8gIHRoaXMuY3JlYXRlRm9ybUNvbnRyb2xzKCk7XHJcbiAgICAvL31cclxuICB9XHJcblxyXG4gIGdlbmVyYXRlR3JpZENvbHVtbnMoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmdQYW5lbFZpc2libGUgPSB0cnVlO1xyXG4gICAgY29uc3QgY29sdW1uRmllbGRzJDogT2JzZXJ2YWJsZTxhbnk+ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKFxyXG4gICAgICB0aGlzLmZpZWxkLkNvbHVtbkZpZWxkcyxcclxuICAgICAgdGhpcy5ncnBcclxuICAgICk7XHJcbiAgICBjb2x1bW5GaWVsZHMkXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRhcCgoZGF0YSkgPT4ge1xyXG5cclxuICAgICAgICAgIGNvbnN0IGdyaWRTZXR0aW5nID0gdGhpcy5nZXRHcmlkU2V0dGluZ3MoKTtcclxuICAgICAgICAgIGNvbnN0IGZpZWxkTmFtZSA9IHRoaXMuZmllbGRbXCJGaWVsZEVsZW1lbnROYW1lXCJdO1xyXG4gICAgICAgICAgWkNvbXBvbmVudEhlbHBlci5nZXRHcmlkQ29sdW1ucyhcclxuICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgdGhpcy5ncmlkQ29sdW1ucyxcclxuICAgICAgICAgICAgdGhpcy5ncm91cCxcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZSxcclxuICAgICAgICAgICAgZmllbGROYW1lLFxyXG4gICAgICAgICAgICBncmlkU2V0dGluZyxcclxuICAgICAgICAgICAgdGhpcy51c2FibGVDb2x1bW5zXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgdGhpcy5nZXRGaWx0ZXJQYXJhbXNDb2x1bW5zKCk7XHJcbiAgICAgICAgICB0aGlzLmdldEZpbHRlcigpO1xyXG4gICAgICAgICAgLy90aGlzLmdldFNvcnRpbmcoKTtcclxuICAgICAgICAgIC8vdGhpcy5nZXRHcmFudFR5cGUoKTtcclxuICAgICAgICAgIC8vdGhpcy5zZXRIaWRkZW5Db2x1bW4oZ3JpZFNldHRpbmcpO1xyXG4gICAgICAgICAgLy90aGlzLnBhcmFtcy5yZWZlcklkID0gdGhpcy5nZXRGaWVsZFJlZmVyZW5jZUlkKCkgfHwgdGhpcy5ncnAucmVmZXJlbmNlSWQgfHwgbnVsbDtcclxuICAgICAgICB9KSxcclxuICAgICAgICB0YXAoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5nZXREYXRhQmluZGluZygpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGF0YUJpbmRpbmcoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICB0aGlzLnBhcmFtLnBhZ2VTaXplID0gdGhpcy5maWVsZC5QYWdlU2l6ZSA/PyA1MDtcclxuICAgICAgaWYgKHRoaXMuZmllbGQuRXh0ZXJuYWxQYWdpbmF0aW9uKSB7XHJcbiAgICAgICAgLy8gRm9yIFBPU1QgbWV0aG9kIFBhZ2UgV2ViQVBJXHJcbiAgICAgICAgdGhpcy53ZWJhcGlTZXJ2aWNlXHJcbiAgICAgICAgICAucG9zdEFwaShcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmF0aW9uQXBpUG9zdFVybCxcclxuICAgICAgICAgICAgdGhpcy5wYXJhbSxcclxuICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgdHJ1ZVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBkZWxheSgyNTAwKVxyXG4gICAgICAgICAgICB0aGlzLnJlc3BvbnNlRGF0YSA9IHsgZGF0YTogZGF0YS5kYXRhU2V0LCB0b3RhbDogZGF0YS50b3RhbENvdW50IH07XHJcbiAgICAgICAgICAgIHRoaXMuc2Nyb2xsVmlld0NhcmRzID0geyBkYXRhOiBkYXRhLmRhdGFTZXQsIHRvdGFsOiBkYXRhLnRvdGFsQ291bnQgfTtcclxuICAgICAgICAgICAgaWYgKGRhdGEuZGF0YVNldC5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXRSZWNvcmRzU3VtbWFyeSgpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLlJlc291cmNlVVJMQWx0KSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5nZXROZXdTdXJ2ZXkoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL3RoaXMuYWdncmVnYXRlSGFuZGxpbmcoZGF0YS5kYXRhU2V0KTtcclxuICAgICAgICAgICAgLy90aGlzLmdyaWQuZGF0YSA9IHsgZGF0YTogZGF0YS5kYXRhU2V0LCB0b3RhbDogZGF0YS50b3RhbENvdW50IH07XHJcbiAgICAgICAgICAgIC8vdGhpcy5ncmlkLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nUGFuZWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICAgIC8vdGhpcy5ub3RpZnlEYXRhQ2hhbmdlKCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBGb3IgR0VUIG1ldGhvZFxyXG4gICAgICAgIHRoaXMud2ViYXBpU2VydmljZVxyXG4gICAgICAgICAgLmdldEFwaSh0aGlzLnJlc291cmNlVVJMLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCBudWxsLCB0cnVlKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgX2RhdGEgPSBudWxsO1xyXG4gICAgICAgICAgICBsZXQgX3RvdGFsQ291bnQgPSAwO1xyXG5cclxuICAgICAgICAgICAgaWYgKGRhdGEuZGF0YVNldCkge1xyXG4gICAgICAgICAgICAgIF9kYXRhID0gZGF0YS5kYXRhU2V0O1xyXG4gICAgICAgICAgICAgIF90b3RhbENvdW50ID0gZGF0YS50b3RhbENvdW50O1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIF9kYXRhID0gZGF0YTtcclxuICAgICAgICAgICAgICBfdG90YWxDb3VudCA9IGRhdGEubGVuZ3RoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1BhbmVsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICAvL3RoaXMuYWdncmVnYXRlSGFuZGxpbmcoX2RhdGEpO1xyXG4gICAgICAgICAgICAvL3RoaXMuZ3JpZC5kYXRhID0geyBkYXRhOiBfZGF0YSwgdG90YWw6IF90b3RhbENvdW50IH07XHJcbiAgICAgICAgICAgIC8vdGhpcy5ncmlkLnBhZ2VTaXplID0gX3RvdGFsQ291bnQ7XHJcbiAgICAgICAgICAgIC8vdGhpcy5ncmlkLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgLy90aGlzLm5vdGlmeURhdGFDaGFuZ2UoKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBkcyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShcclxuICAgICAgICB0aGlzLmZpZWxkLkRhdGFTb3VyY2UsXHJcbiAgICAgICAgdGhpcy5ncnBcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFJlY29yZHNTdW1tYXJ5KCkge1xyXG4gICAgbGV0IFN1cnZleUlkcyA9IFtdO1xyXG5cclxuICAgIHRoaXMucmVzcG9uc2VEYXRhLmRhdGEuZm9yRWFjaCh2YWx1ZSA9PiB7XHJcbiAgICAgIFN1cnZleUlkcy5wdXNoKHZhbHVlLklkKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMud2ViYXBpU2VydmljZVxyXG4gICAgICAucG9zdEFwaShcclxuICAgICAgICB0aGlzLnJlc291cmNlQXBpU2VydmljZS5nZXRVUkwoJ3Bwc2Fwc3VydmV5c3VtbWFyeWluZm9VUkwnKSxcclxuICAgICAgICBTdXJ2ZXlJZHMsXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICB0cnVlXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICB0aGlzLnJlc3BvbnNlRGF0YS5kYXRhLmZvckVhY2godmFsdWUgPT4ge1xyXG4gICAgICAgICAgZGF0YS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgICBpZiAoeC5TdXJ2ZXlJZCA9PSB2YWx1ZS5JZCkge1xyXG4gICAgICAgICAgICAgIHZhbHVlWyd2YWx1ZSddID0gTnVtYmVyLmlzTmFOKCgoeC5Ub3RhbFRha2VuUXVlc3Rpb25zIC8geC5Ub3RhbFF1ZXN0aW9ucykgKiAxMDApKSA/IDAgOiBNYXRoLnJvdW5kKCgoeC5Ub3RhbFRha2VuUXVlc3Rpb25zIC8geC5Ub3RhbFF1ZXN0aW9ucykgKiAxMDApKTtcclxuICAgICAgICAgICAgICAvLyB2YWx1ZVsndmFsdWUnXSA9IDEwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9KTtcclxuICAgICAgfSlcclxuICB9XHJcblxyXG4gIGdldE5ld1N1cnZleSgpIHtcclxuICAgIGxldCByZXF1ZXN0Qm9keSA9IHtcclxuICAgICAgY29sdW1uczogXCJQYXJ0bmVyTWlsbElkLFN1cnZleVRlbXBsYXRlSWQsV0ZTX1N0YXR1c0NvZGUsV0ZTX1N0YXR1c05hbWVcIixcclxuICAgICAgcGFnZVNpemU6IHRoaXMuZmllbGQuUGFnZVNpemUgPz8gNTAsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMud2ViYXBpU2VydmljZVxyXG4gICAgICAucG9zdEFwaShcclxuICAgICAgICB0aGlzLnJlc291cmNlQXBpU2VydmljZS5nZXRQYWdlVXJsKHRoaXMuZGF0YS5SZXNvdXJjZVVSTEFsdCksXHJcbiAgICAgICAgcmVxdWVzdEJvZHksXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgIG51bGwsXHJcbiAgICAgICAgbnVsbCxcclxuICAgICAgICB0cnVlXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICAgIGRhdGEuZGF0YVNldC5mb3JFYWNoKHZhbHVlID0+IHtcclxuICAgICAgICAgIHZhbHVlWyd2YWx1ZSddID0gMDtcclxuICAgICAgICAgIHRoaXMuc2Nyb2xsVmlld0NhcmRzLmRhdGEucHVzaCh2YWx1ZSk7XHJcbiAgICAgICAgICB0aGlzLnNjcm9sbFZpZXdDYXJkcy50b3RhbCArPSAxO1xyXG5cclxuICAgICAgICAgIC8vZGF0YS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgLy8gIGlmICh4LlN1cnZleUlkID09IHZhbHVlLklkKSB7XHJcbiAgICAgICAgICAvLyAgICB2YWx1ZVsndmFsdWUnXSA9IE51bWJlci5pc05hTigoKHguVG90YWxUYWtlblF1ZXN0aW9ucyAvIHguVG90YWxRdWVzdGlvbnMpICogMTAwKSkgPyAwIDogTWF0aC5yb3VuZCgoKHguVG90YWxUYWtlblF1ZXN0aW9ucyAvIHguVG90YWxRdWVzdGlvbnMpICogMTAwKSk7XHJcbiAgICAgICAgICAvLyAgfVxyXG4gICAgICAgICAgLy99KVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0IGZpZWxkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YTtcclxuICB9XHJcblxyXG4gIGdldCBncnAoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ncm91cDtcclxuICB9XHJcblxyXG4gIGdldCBwYXJhbSgpOiBaR3JpZFBvc3RBcGlQYXJhbXMge1xyXG4gICAgcmV0dXJuIHRoaXMucGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRHcmlkU2V0dGluZ3MoKTogWkdyaWRDb2x1bW5TZXR0aW5nc1tdIHtcclxuICAgIGNvbnN0IF9zdG9yYWdlS2V5ID0gJ2lvbmljLWZpZWxkOjonICsgdGhpcy5hdXRoU2VydmljZS5lMVRva2VuLnVzZXJOYW1lO1xyXG4gICAgY29uc3QgX2dyaWROYW1lID0gdGhpcy5maWVsZC5OYW1lICsgJzo6JyArIHRoaXMuZmllbGQuVmFsdWU7XHJcblxyXG4gICAgLy8gRmluZCBhbnkgc2V0dGluZyBmcm9tIGxvY2Fsc3RvcmFnZS4uXHJcbiAgICBsZXQgX2FyckdyaWRDYWNoaW5nOiBHcmlkQ2FjaGluZ1tdID0gdGhpcy56R3JpZFN0YXRlUGVyc2lzdGluZ1NlcnZpY2UuZ2V0KF9zdG9yYWdlS2V5KTtcclxuICAgIGlmIChfYXJyR3JpZENhY2hpbmcgJiYgX2FyckdyaWRDYWNoaW5nWzBdKSB7XHJcbiAgICAgIGNvbnN0IF9ncmlkQ2FjaGluZzogR3JpZENhY2hpbmcgPSBfYXJyR3JpZENhY2hpbmcuZmluZCh4ID0+IHhbJ2RhdGFGb3JtRmllbGRzJ10gPT09IF9ncmlkTmFtZSk7XHJcblxyXG4gICAgICBpZiAoX2dyaWRDYWNoaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIF9ncmlkQ2FjaGluZy5ncmlkU2V0dGluZ3MuY29sdW1uc0NvbmZpZy5zb3J0KChhLCBiKSA9PiBhLm9yZGVySW5kZXggLSBiLm9yZGVySW5kZXgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEZpbHRlclBhcmFtc0J5UGFyZW50UmVmSWQoKSB7XHJcbiAgICAvLyBVc2UgZmllbGQgb3duIHJlZmVyZW5jZUlkIGlmIGF2YWlsYWJsZVxyXG4gICAgY29uc3QgcmVmSWQgPSB0aGlzLmdldEZpZWxkUmVmZXJlbmNlSWQoKSB8fCB0aGlzLmdycC5yZWZlcmVuY2VJZDtcclxuICAgIGNvbnN0IHJlZkZpZWxkID0gdGhpcy5maWVsZC5SZWZlcmVuY2VGaWVsZCB8fCB0aGlzLmdycC5wYXJlbnRSZWZlcmVuY2VGaWVsZDtcclxuICAgIGlmIChyZWZJZCAmJiB0aGlzLmdycC5wYXJlbnRSZWZlcmVuY2VGaWVsZCkge1xyXG4gICAgICBjb25zdCBmaWx0ZXJWYWx1ZSA9IHtcclxuICAgICAgICBrZXk6IHJlZkZpZWxkLFxyXG4gICAgICAgIG9wczogXCI9XCIsXHJcbiAgICAgICAgdmFsdWU6IHJlZklkLFxyXG4gICAgICB9O1xyXG4gICAgICAvLyBpZiAodGhpcy5wYXJhbXMuZmlsdGVyUGFyYW1zLmZpbmQoeCA9PiB4LmtleSA9PT0gZmlsdGVyVmFsdWUua2V5KSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlclBhcmFtcy5wdXNoKGZpbHRlclZhbHVlKTtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWVsZFJlZmVyZW5jZUlkKCkge1xyXG4gICAgbGV0IGZpZWxkUmVmZXJlbmNlSWQgPSBudWxsO1xyXG4gICAgaWYgKHRoaXMuZmllbGQuUmVmZXJlbmNlSWQpIHtcclxuICAgICAgZmllbGRSZWZlcmVuY2VJZCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShcclxuICAgICAgICB0aGlzLmZpZWxkLlJlZmVyZW5jZUlkLFxyXG4gICAgICAgIHRoaXMuZ3JwXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmllbGRSZWZlcmVuY2VJZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RmlsdGVyUGFyYW1zQ29sdW1ucygpIHtcclxuICAgIGNvbnN0IGNvbEZpZWxkczogQXJyYXk8c3RyaW5nPiA9IFtdO1xyXG4gICAgdGhpcy5ncmlkQ29sdW1ucy5mb3JFYWNoKChmaWVsZCkgPT4ge1xyXG4gICAgICBpZiAoZmllbGQudmFsdWVFeHByKSB7XHJcbiAgICAgICAgY29sRmllbGRzLnB1c2goZmllbGQudmFsdWVFeHByICsgXCIgYXMgXCIgKyBmaWVsZC5maWVsZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgY29sRmllbGRzLnB1c2goZmllbGQuZmllbGQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoY29sRmllbGRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKGNvbEZpZWxkcy5pbmRleE9mKFwiSWRcIikgPT09IC0xKSB7XHJcbiAgICAgICAgY29sRmllbGRzLnB1c2goXCJJZFwiKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGxldCB0bXBHcmlkQ29sdW1uOiBhbnlbXSA9IFtdO1xyXG4gICAgdG1wR3JpZENvbHVtbi5wdXNoKGNvbEZpZWxkcy5qb2luKFwiLFwiKSk7XHJcbiAgICBpZiAodGhpcy51c2FibGVDb2x1bW5zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdG1wR3JpZENvbHVtbi5wdXNoKHRoaXMudXNhYmxlQ29sdW1ucy5qb2luKFwiLFwiKSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnBhcmFtcy5jb2x1bW5zID0gdG1wR3JpZENvbHVtbi5qb2luKFwiLFwiKTtcclxuICB9XHJcblxyXG4gIHN0YXJ0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZ3JvdXA7XHJcbiAgICB0aGlzLmdyb3VwLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICBpZiAoZXZlbnQuV0ZTX1N0YXR1c05hbWUgPT0gJ05ldycpIHtcclxuICAgICAgbGV0IHBhcmFtID0ge1xyXG4gICAgICAgIFVzZXJJZDogdGhpcy5ncm91cFsnUFNBUFVTRVJJRCddLFxyXG4gICAgICAgIFN1cnZleU1pbGxJZDogZXZlbnQuSWRcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy53ZWJhcGlTZXJ2aWNlXHJcbiAgICAgICAgLnBvc3RBcGkoXHJcbiAgICAgICAgICB0aGlzLnJlc291cmNlQXBpU2VydmljZS5nZXRVUkwoJ3Bwc2Fwc3VydmV5Y3JlYXRlVVJMJyksXHJcbiAgICAgICAgICBwYXJhbSxcclxuICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgbnVsbCxcclxuICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICB0cnVlXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgICAgIHRoaXMuZ3JvdXAuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICBpZiAodGhpcy5kYXRhLkVkaXRDbGlja1VSTCkge1xyXG4gICAgICAgICAgICAvLyBUT0RPOlxyXG4gICAgICAgICAgICAvLyBkZWJ1Z2dlcjtcclxuICAgICAgICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuZGF0YS5FZGl0Q2xpY2tVUkwsIGRhdGFJdGVtLklkXSk7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbEZpZWxkcyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuQ29sdW1uRmllbGRzLCB0aGlzLmdyb3VwKTtcclxuICAgICAgICAgICAgdGhpcy5ncm91cC5zdWJqZWN0Lm5leHQoe1xyXG4gICAgICAgICAgICAgIHR5cGU6IFwiemdyaWQtY2VsbENsaWNrXCIsXHJcbiAgICAgICAgICAgICAgdGFyZ2V0OiB0aGlzLmRhdGEuRWRpdENsaWNrVVJMLFxyXG4gICAgICAgICAgICAgIGRhdGE6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbHVtbkZpZWxkcyQ6IGNvbEZpZWxkc1xyXG4gICAgICAgICAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5ncm91cC5lZGl0TW9kZWxVUkwsIGRhdGEuSWQsICdlZGl0J10sIHtcclxuICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmdyb3VwLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5kYXRhLkVkaXRDbGlja1VSTCkge1xyXG4gICAgICAgIC8vIFRPRE86XHJcbiAgICAgICAgLy8gZGVidWdnZXI7XHJcbiAgICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuZGF0YS5FZGl0Q2xpY2tVUkwsIGRhdGFJdGVtLklkXSk7XHJcbiAgICAgICAgY29uc3QgY29sRmllbGRzID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKHRoaXMuZGF0YS5Db2x1bW5GaWVsZHMsIHRoaXMuZ3JvdXApO1xyXG4gICAgICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgICAgIHR5cGU6IFwiemdyaWQtY2VsbENsaWNrXCIsXHJcbiAgICAgICAgICB0YXJnZXQ6IHRoaXMuZGF0YS5FZGl0Q2xpY2tVUkwsXHJcbiAgICAgICAgICBkYXRhOiBldmVudCxcclxuICAgICAgICAgIGNvbHVtbkZpZWxkcyQ6IGNvbEZpZWxkc1xyXG4gICAgICAgIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5ncm91cC5lZGl0TW9kZWxVUkwsIGV2ZW50LklkLCAnZWRpdCddLCB7XHJcbiAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLmFjdGl2YXRlZFJvdXRlXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZvbnRBd2Vzb21lKGljb25OYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldEZvbnRBd2Vzb21lKGljb25OYW1lKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RmlsdGVyKCkge1xyXG4gICAgaWYgKHRoaXMucGFyYW1zLmZpbHRlcnMgJiYgdGhpcy5maWVsZC5GaWx0ZXJzKSB7XHJcbiAgICAgIHRoaXMucGFyYW1zLmZpbHRlcnMgPSB0aGlzLnBhcmFtcy5maWx0ZXJzICsgXCIgJiYgXCIgKyB0aGlzLmZpZWxkLkZpbHRlcnM7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLnBhcmFtcy5maWx0ZXJzICYmIHRoaXMuZmllbGQuRmlsdGVycykge1xyXG4gICAgICB0aGlzLnBhcmFtcy5maWx0ZXJzID0gdGhpcy5maWVsZC5GaWx0ZXJzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmZpZWxkLkZpbHRlcnMgJiYgdGhpcy5maWVsZC5GaWx0ZXJzLmluZGV4T2YoXCJncm91cC5cIikgIT09IC0xKSB7XHJcbiAgICAgIGNvbnN0IGZpbHRlcktleVZhbFBhaXJzID0gdGhpcy5maWVsZC5GaWx0ZXJzLnNwbGl0KFwiIFwiKTtcclxuICAgICAgY29uc3QgZ3JwVmFsdWVzID0gZmlsdGVyS2V5VmFsUGFpcnMuZmlsdGVyKFxyXG4gICAgICAgIChlbGVtZW50KSA9PiBlbGVtZW50LnRyaW0oKS5pbmRleE9mKFwiZ3JvdXAuXCIpICE9PSAtMVxyXG4gICAgICApO1xyXG5cclxuICAgICAgZ3JwVmFsdWVzLmZvckVhY2goKHZhbCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGFjdHVhbFZhbCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh2YWwsIHRoaXMuZ3JwKTtcclxuICAgICAgICB0aGlzLnBhcmFtcy5maWx0ZXJzID0gdGhpcy5wYXJhbXMuZmlsdGVycy5yZXBsYWNlKHZhbCwgYWN0dWFsVmFsKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2YWx1ZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICBpZiAoZXZlbnQubGVuZ3RoIDwgMSkge1xyXG4gICAgICB0aGlzLnNjcm9sbFZpZXdDYXJkcy5kYXRhID0gdGhpcy5yZXNwb25zZURhdGEuZGF0YTtcclxuICAgICAgdGhpcy5zY3JvbGxWaWV3Q2FyZHMudG90YWwgPSB0aGlzLnJlc3BvbnNlRGF0YS50b3RhbDtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zY3JvbGxWaWV3Q2FyZHMuZGF0YSA9IHRoaXMucmVzcG9uc2VEYXRhLmRhdGEuZmlsdGVyKHggPT4gZXZlbnQuaW5jbHVkZXMoeC5XRlNfU3RhdHVzTmFtZSkpO1xyXG4gICAgdGhpcy5zY3JvbGxWaWV3Q2FyZHMudG90YWwgPSB0aGlzLnJlc3BvbnNlRGF0YS5kYXRhLmZpbHRlcih4ID0+IGV2ZW50LmluY2x1ZGVzKHguV0ZTX1N0YXR1c05hbWUpKS5sZW5ndGg7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|