mmhglobal-dynamicform 1.6.2 → 1.7.0

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.
Files changed (70) hide show
  1. package/README.md +2 -2
  2. package/esm2020/lib/directives/elementcontainer.directive.mjs +3 -3
  3. package/esm2020/lib/directives/fieldelement.directive.mjs +3 -3
  4. package/esm2020/lib/directives/scrollbar.theme.directive.mjs +3 -3
  5. package/esm2020/lib/mmhglobal-dynamicform.module.mjs +4 -4
  6. package/esm2020/lib/services/main.service.mjs +5 -5
  7. package/esm2020/lib/services/signalr.service.mjs +3 -3
  8. package/esm2020/lib/services/zcomponent.debug.service.mjs +3 -3
  9. package/esm2020/lib/services/zcomponent.service.mjs +3 -3
  10. package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +3 -3
  11. package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +3 -3
  12. package/esm2020/lib/uibulletin/uibulletin.component.mjs +3 -3
  13. package/esm2020/lib/uicontainer/uicontainer.component.mjs +3 -3
  14. package/esm2020/lib/uicontent/uicontent.component.mjs +3 -3
  15. package/esm2020/lib/uiheader/uiheader.component.mjs +5 -5
  16. package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +3 -3
  17. package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +3 -3
  18. package/esm2020/lib/uipage/uipage.component.mjs +3 -3
  19. package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +3 -3
  20. package/esm2020/lib/zbullet/zbullet.component.mjs +3 -3
  21. package/esm2020/lib/zbuttons/zbuttons.component.mjs +3 -3
  22. package/esm2020/lib/zcard/zcard.component.mjs +3 -3
  23. package/esm2020/lib/zchart/zchart.component.mjs +3 -3
  24. package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +3 -3
  25. package/esm2020/lib/zchip/zchip.component.mjs +3 -3
  26. package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +3 -3
  27. package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +3 -3
  28. package/esm2020/lib/zdaterange/zdaterange.component.mjs +3 -3
  29. package/esm2020/lib/zdatetime/dateParser.pipe.mjs +3 -3
  30. package/esm2020/lib/zdatetime/zdatetime.component.mjs +3 -3
  31. package/esm2020/lib/zdiv/zdiv.component.mjs +3 -3
  32. package/esm2020/lib/zdiv/zdiv.pipe.mjs +3 -3
  33. package/esm2020/lib/zform/zform.component.mjs +3 -3
  34. package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +3 -3
  35. package/esm2020/lib/zgauge/zgauge.component.mjs +3 -3
  36. package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +3 -3
  37. package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +3 -3
  38. package/esm2020/lib/zgrid/zgrid.component.mjs +5 -5
  39. package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +3 -3
  40. package/esm2020/lib/zimg/zimg.component.mjs +3 -3
  41. package/esm2020/lib/zkcard/zkcard.component.mjs +3 -3
  42. package/esm2020/lib/zlabel/zlabel.component.mjs +3 -3
  43. package/esm2020/lib/zmfb/zmfb.component.mjs +3 -3
  44. package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +3 -3
  45. package/esm2020/lib/zmodal/zmodal.component.mjs +3 -3
  46. package/esm2020/lib/znumeric/znumeric.component.mjs +3 -3
  47. package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +3 -3
  48. package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +3 -3
  49. package/esm2020/lib/zreport/zreport.component.mjs +4 -4
  50. package/esm2020/lib/zscheduler/zscheduler.component.mjs +3 -3
  51. package/esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs +3 -3
  52. package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +3 -3
  53. package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +3 -3
  54. package/esm2020/lib/ztab/ztab.component.mjs +3 -3
  55. package/esm2020/lib/ztab/ztab.pipe.mjs +3 -3
  56. package/esm2020/lib/ztext/ztext.component.mjs +3 -3
  57. package/esm2020/lib/ztextarea/ztextarea.component.mjs +3 -3
  58. package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +3 -3
  59. package/esm2020/lib/ztree/ztree.component.mjs +3 -3
  60. package/esm2020/lib/ztreelist/ztreelist.component.mjs +3 -3
  61. package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +3 -3
  62. package/esm2020/lib/zudf/zudf.component.mjs +3 -3
  63. package/esm2020/lib/zunknown/zunknown.component.mjs +3 -3
  64. package/esm2020/lib/zupload/zupload.component.mjs +10 -7
  65. package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +3 -3
  66. package/fesm2015/mmhglobal-dynamicform.mjs +202 -199
  67. package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
  68. package/fesm2020/mmhglobal-dynamicform.mjs +202 -199
  69. package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
  70. package/package.json +1 -1
@@ -171,9 +171,9 @@ export class ZreportComponent {
171
171
  return ZComponentHelper.getFontAwesome(iconName);
172
172
  }
173
173
  }
174
- ZreportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZreportComponent, deps: [{ token: i1.ResourceApiService }, { token: i1.AuthService }, { token: i1.AlertService }, { token: i1.ZCoreService }], target: i0.ɵɵFactoryTarget.Component });
175
- ZreportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZreportComponent, selector: "app-zreport", inputs: { data: "data", group: "group" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "viewer", first: true, predicate: ["reportViewer1"], descendants: true }], ngImport: i0, template: "<div width=\"100%\" height=\"800px\">\r\n <tr-viewer #reportViewer1\r\n [containerStyle]=\"viewerContainerStyle\"\r\n [serviceUrl]=\"serviceUrl\"\r\n [reportSource]=\"reportSource\"\r\n [viewMode]=\"'INTERACTIVE'\"\r\n [scaleMode]=\"'SPECIFIC'\"\r\n [scale]=\"1.0\"\r\n [enableAccessibility]=\"false\"\r\n [ready]=\"onReady\"\r\n [exportBegin]=\"onExportBegin\"\r\n [exportEnd]=\"onExportEnd\"\r\n [renderingBegin]=\"onRenderingBegin\"\r\n [renderingEnd]=\"onRenderingEnd\"\r\n [printBegin]=\"onPrintBegin\"\r\n [printEnd]=\"onPrintEnd\">\r\n </tr-viewer>\r\n</div>\r\n", styles: ["#reportViewer1{height:200px}#reportViewer1 .k-splitter .k-scrollable{overflow:hidden}.k-pdf-export,.k-pdf-export *{font-family:Arial Unicode MS}\n"], components: [{ type: i2.TelerikReportViewerComponent, selector: "tr-viewer", inputs: ["keepClientAlive", "id", "serviceUrl", "reportServer", "templateUrl", "initialPageAreaImageUrl", "reportSource", "sendEmail", "parameters", "scale", "scaleMode", "viewMode", "pageMode", "persistSession", "parameterEditors", "authenticationToken", "printMode", "selector", "disabledButtonClass", "checkedButtonClass", "enableAccessibility", "searchMetadataOnDemand", "parametersAreaVisible", "documentMapVisible", "ready", "error", "parametersAreaPosition", "documentMapAreaPosition", "exportBegin", "exportEnd", "sendEmailBegin", "sendEmailEnd", "pageReady", "printBegin", "printEnd", "renderingBegin", "renderingEnd", "updateUi", "interactiveActionExecuting", "interactiveActionEnter", "interactiveActionLeave", "viewerToolTipOpening", "containerStyle"] }] });
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZreportComponent, decorators: [{
174
+ ZreportComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZreportComponent, deps: [{ token: i1.ResourceApiService }, { token: i1.AuthService }, { token: i1.AlertService }, { token: i1.ZCoreService }], target: i0.ɵɵFactoryTarget.Component });
175
+ ZreportComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZreportComponent, selector: "app-zreport", inputs: { data: "data", group: "group" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "viewer", first: true, predicate: ["reportViewer1"], descendants: true }], ngImport: i0, template: "<div width=\"100%\" height=\"800px\">\r\n <tr-viewer #reportViewer1\r\n [containerStyle]=\"viewerContainerStyle\"\r\n [serviceUrl]=\"serviceUrl\"\r\n [reportSource]=\"reportSource\"\r\n [viewMode]=\"'INTERACTIVE'\"\r\n [scaleMode]=\"'SPECIFIC'\"\r\n [scale]=\"1.0\"\r\n [enableAccessibility]=\"false\"\r\n [ready]=\"onReady\"\r\n [exportBegin]=\"onExportBegin\"\r\n [exportEnd]=\"onExportEnd\"\r\n [renderingBegin]=\"onRenderingBegin\"\r\n [renderingEnd]=\"onRenderingEnd\"\r\n [printBegin]=\"onPrintBegin\"\r\n [printEnd]=\"onPrintEnd\">\r\n </tr-viewer>\r\n</div>\r\n", styles: ["#reportViewer1{height:200px}#reportViewer1 .k-splitter .k-scrollable{overflow:hidden}.k-pdf-export,.k-pdf-export *{font-family:Arial Unicode MS}\n"], components: [{ type: i2.TelerikReportViewerComponent, selector: "tr-viewer", inputs: ["keepClientAlive", "id", "serviceUrl", "reportServer", "templateUrl", "initialPageAreaImageUrl", "reportSource", "sendEmail", "parameters", "scale", "scaleMode", "viewMode", "pageMode", "persistSession", "parameterEditors", "authenticationToken", "printMode", "selector", "disabledButtonClass", "checkedButtonClass", "enableAccessibility", "searchMetadataOnDemand", "parametersAreaVisible", "documentMapVisible", "ready", "error", "parametersAreaPosition", "documentMapAreaPosition", "exportBegin", "exportEnd", "sendEmailBegin", "sendEmailEnd", "pageReady", "printBegin", "printEnd", "renderingBegin", "renderingEnd", "updateUi", "interactiveActionExecuting", "interactiveActionEnter", "interactiveActionLeave", "viewerToolTipOpening", "containerStyle"] }] });
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZreportComponent, decorators: [{
177
177
  type: Component,
178
178
  args: [{ selector: "app-zreport", template: "<div width=\"100%\" height=\"800px\">\r\n <tr-viewer #reportViewer1\r\n [containerStyle]=\"viewerContainerStyle\"\r\n [serviceUrl]=\"serviceUrl\"\r\n [reportSource]=\"reportSource\"\r\n [viewMode]=\"'INTERACTIVE'\"\r\n [scaleMode]=\"'SPECIFIC'\"\r\n [scale]=\"1.0\"\r\n [enableAccessibility]=\"false\"\r\n [ready]=\"onReady\"\r\n [exportBegin]=\"onExportBegin\"\r\n [exportEnd]=\"onExportEnd\"\r\n [renderingBegin]=\"onRenderingBegin\"\r\n [renderingEnd]=\"onRenderingEnd\"\r\n [printBegin]=\"onPrintBegin\"\r\n [printEnd]=\"onPrintEnd\">\r\n </tr-viewer>\r\n</div>\r\n", styles: ["#reportViewer1{height:200px}#reportViewer1 .k-splitter .k-scrollable{overflow:hidden}.k-pdf-export,.k-pdf-export *{font-family:Arial Unicode MS}\n"] }]
179
179
  }], ctorParameters: function () { return [{ type: i1.ResourceApiService }, { type: i1.AuthService }, { type: i1.AlertService }, { type: i1.ZCoreService }]; }, propDecorators: { viewer: [{
@@ -187,4 +187,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
187
187
  type: HostListener,
188
188
  args: ['window:resize', ['$event']]
189
189
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96cmVwb3J0L3pyZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenJlcG9ydC96cmVwb3J0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPcEgsMkNBQTJDO0FBQzNDLE9BQU8sRUFDK0Isb0JBQW9CLEVBQUUsZ0JBQWdCLEVBRTNFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFZekIsTUFBTSxPQUFPLGdCQUFnQjtJQStCM0IsWUFDVSxrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsWUFBMEI7UUFIMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQTlCcEMsd0JBQW1CLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBU3pDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQix5QkFBb0IsR0FBRztZQUM1QixRQUFRLEVBQUUsVUFBVTtZQUNwQixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxPQUFPO1lBQ2YsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixlQUFlLEVBQUUsU0FBUztZQUMxQixTQUFTLEVBQUUsOEJBQThCO1lBQ3pDLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLEtBQUssRUFBRSxNQUFNO1NBQ2QsQ0FBQztJQVFGLENBQUM7SUFFRCxRQUFRO1FBQ04sZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUzQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBRXhHLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUN0QztRQUVELElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDM0Y7SUFDSCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLFdBQVc7UUFFekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsZUFBZSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQ2hILENBQUM7SUFHRCxRQUFRO1FBQ04sT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsb0RBQW9ELENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4RSxDQUFDLENBQUMsdURBQXVELENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzRSxDQUFDLENBQUMsc0RBQXNELENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRSxzRUFBc0U7UUFDdEUsNkVBQTZFO1FBQzdFLDRFQUE0RTtRQUM1RSw0RUFBNEU7UUFDNUUsNEVBQTRFO1FBQzVFLGtGQUFrRjtRQUNsRixzRUFBc0U7UUFDdEUscUVBQXFFO1FBQ3JFLENBQUMsQ0FBQywwREFBMEQsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzlFLENBQUMsQ0FBQyw2REFBNkQsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pGLHNFQUFzRTtRQUN0RSx1RUFBdUU7UUFDdkUsOEVBQThFO1FBQzlFLENBQUMsQ0FBQywyREFBMkQsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2pGLENBQUM7SUFFTSxXQUFXLENBQUMsQ0FBTSxFQUFFLElBQVM7UUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sU0FBUyxDQUFDLENBQU0sRUFBRSxJQUFTO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLGNBQWMsQ0FBQyxDQUFNLEVBQUUsSUFBUztRQUNyQyxPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLEVBQUU7WUFDckksT0FBTyxDQUFDLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO1lBRXJELElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztZQUNoRyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBRU0sWUFBWSxDQUFDLENBQU0sRUFBRSxJQUFTO1FBQ25DLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3RCLDhDQUE4QztRQUM5QyxNQUFNLFVBQVUsR0FBRyxxT0FBcU8sQ0FBQztRQUN6UCxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxVQUFVLENBQUMsQ0FBTSxFQUFFLElBQVM7UUFDakMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU1QixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QyxNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQUMsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUNuRixNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFFbkIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3pCLE1BQU0sR0FBRyxJQUFJLENBQUM7U0FDZjthQUNJLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUNqQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO1FBRUQsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUU7WUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQ0FBMkMsRUFBRSxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDakYsSUFBSTtnQkFDRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsZUFBZSxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDO2dCQUNoRixNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLHVFQUF1RSxDQUFDLENBQUM7Z0JBRXpILDREQUE0RDtnQkFDNUQsSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDZixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztvQkFFM0IsSUFBSSxRQUFRLEVBQUU7d0JBQ1osSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLHdLQUF3SyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztxQkFDN047eUJBQ0ksSUFBSSxNQUFNLEVBQUU7d0JBQ2YsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLDRNQUE0TSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztxQkFDalE7eUJBQ0k7d0JBQ0gsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLHNGQUFzRixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztxQkFDM0k7aUJBQ0Y7cUJBQ0k7b0JBQ0gsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7aUJBQzNCO2FBQ0Y7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDZCxnRkFBZ0Y7Z0JBQ2hGLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO2dCQUMzQix5Q0FBeUM7Z0JBQ3pDLE9BQU8sQ0FBQyxHQUFHLENBQUMsdURBQXVELENBQUMsQ0FBQztnQkFDckUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLHNGQUFzRixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUMzSTtRQUNILENBQUMsQ0FBQztRQUVGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLHlDQUF5QztZQUN6QyxPQUFPLENBQUMsR0FBRyxDQUFDLHVEQUF1RCxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLHNGQUFzRixFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztRQUM1SSxDQUFDLENBQUM7UUFFRixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDOUIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVNLFFBQVEsQ0FBQyxDQUFNLEVBQUUsSUFBUztRQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQTtZQUN6RSxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztTQUNyQjtJQUNILENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUUvQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFO1lBQy9FLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQztTQUNqRztRQUVELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUM1RTtRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUMvQyw4QkFBOEI7SUFDaEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxRQUFnQjtRQUM3QixPQUFPLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNuRCxDQUFDOzs2R0FoTlUsZ0JBQWdCO2lHQUFoQixnQkFBZ0Isb1FDeEI3QixxdUJBa0JBOzJGRE1hLGdCQUFnQjtrQkFONUIsU0FBUzsrQkFDRSxhQUFhO3lMQU13QixNQUFNO3NCQUFwRCxTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBQ3BDLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBaUVOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi8gXHJcbmltcG9ydCB7IFRlbGVyaWtSZXBvcnRWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7XHJcbiAgUmVzb3VyY2VBcGlTZXJ2aWNlLCBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFpDb21wb25lbnRIZWxwZXIsIEF1dGhTZXJ2aWNlLCBBbGVydFNlcnZpY2UsXHJcbiAgWkNvcmVTZXJ2aWNlXHJcbn0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5cclxuXHJcbi8vIGltcG9ydCAqIGFzICQgZnJvbSAnanF1ZXJ5JztcclxuZGVjbGFyZSB2YXIgJDogYW55O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXpyZXBvcnRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pyZXBvcnQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4venJlcG9ydC5jb21wb25lbnQuc2Nzc1wiXSxcclxuICAvL2VuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFpyZXBvcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ3JlcG9ydFZpZXdlcjEnLCB7IHN0YXRpYzogZmFsc2UgfSkgdmlld2VyOiBUZWxlcmlrUmVwb3J0Vmlld2VyQ29tcG9uZW50O1xyXG4gIEBJbnB1dCgpIGRhdGE6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG5cclxuICBjb21wb25lbnRQcm9wZXJ0aWVzID0gbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcblxyXG4gIHB1YmxpYyBvbkV4cG9ydEJlZ2luOiBGdW5jdGlvbjtcclxuICBwdWJsaWMgb25FeHBvcnRFbmQ6IEZ1bmN0aW9uO1xyXG4gIHB1YmxpYyBvblJlbmRlcmluZ0JlZ2luOiBGdW5jdGlvbjtcclxuICBwdWJsaWMgb25SZW5kZXJpbmdFbmQ6IEZ1bmN0aW9uO1xyXG4gIHB1YmxpYyBvblByaW50QmVnaW46IEZ1bmN0aW9uO1xyXG4gIHB1YmxpYyBvblByaW50RW5kOiBGdW5jdGlvbjtcclxuXHJcbiAgcHJpdmF0ZSBhbGxvd1ByaW50UERGOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIGlzVmlzaWJsZSA9IHRydWU7XHJcbiAgcHVibGljIHNlcnZpY2VVcmwgPSBudWxsO1xyXG4gIHB1YmxpYyByZXBvcnRTb3VyY2UgPSBudWxsO1xyXG4gIHB1YmxpYyB2aWV3ZXJDb250YWluZXJTdHlsZSA9IHtcclxuICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXHJcbiAgICB3aWR0aDogXCIxMDAlXCIsXHJcbiAgICBoZWlnaHQ6IFwiODAwcHhcIixcclxuICAgIGZvbnRGYW1pbHk6ICdBcmlhbCwgc2Fucy1zZXJpZicsXHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjZjlmOWY5JyxcclxuICAgIGJveFNoYWRvdzogJzAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSknLFxyXG4gICAgZm9udFNpemU6ICcxNnB4JyxcclxuICAgIGxpbmVIZWlnaHQ6ICcxLjUnLFxyXG4gICAgY29sb3I6ICcjMzMzJyxcclxuICB9OyBcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlc291cmNlQXBpU2VydmljZTogUmVzb3VyY2VBcGlTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFsZXJ0U2VydmljZTogQWxlcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6Y29yZVNlcnZpY2U6IFpDb3JlU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuICAgIFxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuXHJcbiAgICB0aGlzLm9uRXhwb3J0QmVnaW4gPSB0aGlzLmV4cG9ydEJlZ2luLmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLm9uRXhwb3J0RW5kID0gdGhpcy5leHBvcnRFbmQuYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25SZW5kZXJpbmdCZWdpbiA9IHRoaXMucmVuZGVyaW5nQmVnaW4uYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25SZW5kZXJpbmdFbmQgPSB0aGlzLnJlbmRlcmluZ0VuZC5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5vblByaW50QmVnaW4gPSB0aGlzLnByaW50QmVnaW4uYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25QcmludEVuZCA9IHRoaXMucHJpbnRFbmQuYmluZCh0aGlzKTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2VVcmwgPSB0aGlzLnpjb3JlU2VydmljZS5ub3JtYWxpemVVcmwodGhpcy5yZXNvdXJjZUFwaVNlcnZpY2UuZ2V0VVJMKHRoaXMuZGF0YS5SZXNvdXJjZVVSTCkpO1xyXG5cclxuICAgIGlmICghdGhpcy5zZXJ2aWNlVXJsKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwicmVzb3VyY2VVUkwgaXMgZW1wdHkuXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghIXRoaXMuZGF0YS5Jc0F1dG9HZW5lcmF0ZVJlcG9ydCkge1xyXG4gICAgICB0aGlzLnJlcG9ydFNvdXJjZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuUmVwb3J0U291cmNlKTtcclxuICAgIH0gXHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7IFxyXG4gICAgbGV0IHJlc291cmNlcyA9ICdMb2FkaW5nLi4uJzsgLy8gRGVmYXVsdC5cclxuXHJcbiAgICB0aGlzLnZpZXdlci52aWV3ZXJPYmplY3Quc3RyaW5nUmVzb3VyY2VzID0gT2JqZWN0LmFzc2lnbih0aGlzLnZpZXdlci52aWV3ZXJPYmplY3Quc3RyaW5nUmVzb3VyY2VzLCByZXNvdXJjZXMpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlcG9ydCByZXNpemVkLlwiKTtcclxuICB9XHJcblxyXG4gIG9uUmVhZHkoKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlcG9ydCByZWFkeS5cIik7XHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2hpc3RvcnlCYWNrJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9oaXN0b3J5Rm9yd2FyZCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfc3RvcFJlbmRlcmluZyddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9yZWZyZXNoJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2dvVG9GaXJzdFBhZ2UnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IFxyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2dvVG9QcmV2UGFnZSddXCIpLnBhcmVudCgpLmhpZGUoKTsgXHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfZ29Ub05leHRQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpOyBcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvTGFzdFBhZ2UnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IFxyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVByaW50UHJldmlldyddXCIpLnBhcmVudCgpLmhpZGUoKTsgXHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfZXhwb3J0J11cIikucGFyZW50KCkuaGlkZSgpOyBcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9wcmludCddXCIpLnBhcmVudCgpLmhpZGUoKTsgXHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZURvY3VtZW50TWFwJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVQYXJhbWV0ZXJzQXJlYSddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl96b29tSW4nXVwiKS5wYXJlbnQoKS5oaWRlKCk7IFxyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3pvb21PdXQnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IFxyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVpvb21Nb2RlJ11cIikucGFyZW50KCkuaGlkZSgpOyBcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfdG9nZ2xlU2VhcmNoRGlhbG9nJ11cIikucGFyZW50KCkuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cG9ydEJlZ2luKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkV4cG9ydCBiZWdpbi5cIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwb3J0RW5kKGU6IGFueSwgYXJnczogYW55KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIkV4cG9ydCBlbmQuXCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbmRlcmluZ0JlZ2luKGU6IGFueSwgYXJnczogYW55KTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlbmRlcmluZyBzdGFydGVkLlwiKTtcclxuICAgIGlmICh0aGlzLnJlcG9ydFNvdXJjZS5wYXJhbWV0ZXJzICYmIHRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMuQXV0aG9yaXphdGlvbiAhPT0gdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uQmVhcmVyLkF1dGhvcml6YXRpb24pIHtcclxuICAgICAgY29uc29sZS53YXJuKFwiVXBkYXRlZCBpbnZhbGlkIGF1dGhvcml6YXRpb24gdG9rZW4uXCIpO1xyXG5cclxuICAgICAgdGhpcy5yZXBvcnRTb3VyY2UucGFyYW1ldGVycy5BdXRob3JpemF0aW9uID0gdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uQmVhcmVyLkF1dGhvcml6YXRpb247XHJcbiAgICAgIHRoaXMudmlld2VyLnNldFJlcG9ydFNvdXJjZSh0aGlzLnJlcG9ydFNvdXJjZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVuZGVyaW5nRW5kKGU6IGFueSwgYXJnczogYW55KTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyhcIlJlbmRlcmluZyBlbmRlZC5cIik7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlRW1wdHlQZGYoKTogQmxvYiB7XHJcbiAgICAvLyBDcmVhdGUgYW4gZW1wdHkgUERGIGZpbGUgd2l0aCBqdXN0IGEgaGVhZGVyXHJcbiAgICBjb25zdCBwZGZDb250ZW50ID0gJyVQREYtMS4zXFxuMSAwIG9ialxcbjw8IC9UeXBlIC9DYXRhbG9nIC9QYWdlcyAyIDAgUiA+PlxcbmVuZG9ialxcbjIgMCBvYmpcXG48PCAvVHlwZSAvUGFnZXMgL0tpZHMgW10gL0NvdW50IDAgPj5cXG5lbmRvYmpcXG54cmVmXFxuMCAzXFxuMDAwMDAwMDAwMCA2NTUzNSBmIFxcbjAwMDAwMDAwMTAgMDAwMDAgbiBcXG50cmFpbGVyXFxuPDwgL1Jvb3QgMSAwIFIgL1NpemUgMyA+PlxcbnN0YXJ0eHJlZlxcbjIwNVxcbiUlRU9GJztcclxuICAgIHJldHVybiBuZXcgQmxvYihbcGRmQ29udGVudF0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3BkZicgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJpbnRCZWdpbihlOiBhbnksIGFyZ3M6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJQcmludCBiZWdpbi5cIik7XHJcblxyXG4gICAgY29uc3QgYWxlcnRUaXRsZSA9ICdQcmludCBQREYgRXJyb3InO1xyXG4gICAgY29uc3QgcGRmQmxvYiA9IHRoaXMuZ2VuZXJhdGVFbXB0eVBkZigpO1xyXG4gICAgY29uc3QgcGRmVXJsID0gVVJMLmNyZWF0ZU9iamVjdFVSTChwZGZCbG9iKTsgY29uc3QgdXNlckFnZW50ID0gbmF2aWdhdG9yLnVzZXJBZ2VudDtcclxuICAgIGNvbnN0IGlmcmFtZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lmcmFtZScpO1xyXG4gICAgbGV0IGlzQ2hyb21lID0gZmFsc2U7XHJcbiAgICBsZXQgaXNFZGdlID0gZmFsc2U7XHJcblxyXG4gICAgaWYgKC9FZGcvLnRlc3QodXNlckFnZW50KSkge1xyXG4gICAgICBpc0VkZ2UgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAoL0Nocm9tZS8udGVzdCh1c2VyQWdlbnQpKSB7XHJcbiAgICAgIGlzQ2hyb21lID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZnJhbWUuc3JjID0gcGRmVXJsO1xyXG4gICAgaWZyYW1lLm9ubG9hZCA9ICgpID0+IHtcclxuICAgICAgY29uc29sZS5sb2coJ0NoZWNraW5nIGJyb3dzZXIgaXMgcmVwb3J0IGFibGUgdG8gcHJpbnQuJywgaWZyYW1lLmNvbnRlbnREb2N1bWVudCk7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgaWZyYW1lRG9jdW1lbnQgPSBpZnJhbWUuY29udGVudERvY3VtZW50IHx8IGlmcmFtZS5jb250ZW50V2luZG93Py5kb2N1bWVudDtcclxuICAgICAgICBjb25zdCBwZGZFbGVtZW50ID0gaWZyYW1lRG9jdW1lbnQucXVlcnlTZWxlY3RvcignZW1iZWRbdHlwZT1cImFwcGxpY2F0aW9uL3BkZlwiXSwgb2JqZWN0W3R5cGU9XCJhcHBsaWNhdGlvbi9wZGZcIl0sIGlmcmFtZScpO1xyXG5cclxuICAgICAgICAvLyBJZiBubyBQREYgZWxlbWVudCBmb3VuZCwgYWxlcnQgdXNlciBhYm91dCBwb3RlbnRpYWwgaXNzdWVcclxuICAgICAgICBpZiAoIXBkZkVsZW1lbnQpIHtcclxuICAgICAgICAgIHRoaXMuYWxsb3dQcmludFBERiA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGlmIChpc0Nocm9tZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93T2theShhbGVydFRpdGxlLCBcIlN0ZXAgMTogUGxlYXNlIG5hdmlnYXRlIHRvICdjaHJvbWU6Ly9zZXR0aW5ncy9jb250ZW50L3BkZkRvY3VtZW50cycgaW4gdGhlIGJyb3dlci48YnIvPlN0ZXAgMjogU2VsZWN0ICdPcGVuIFBERnMgaW4gQ2hyb21lJyBpbiB0aGUgc2V0dGluZyBiZWZvcmUgcHJpbnRpbmcgdGhlIHJlcG9ydC5cIiwgW1wiY29sLTZcIl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSBpZiAoaXNFZGdlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dPa2F5KGFsZXJ0VGl0bGUsIFwiU3RlcCAxOiBQbGVhc2UgbmF2aWdhdGUgdG8gJ2VkZ2U6Ly9zZXR0aW5ncy9jb250ZW50L3BkZkRvY3VtZW50cycgaW4gdGhlIGJyb3dlci48YnIvPlN0ZXAgMjogRW5hYmxlICdQREYgdmlldyBzZXR0aW5ncycgYW5kIERpc2FibGUgJ0Fsd2F5cyBEb3dubG9hZCBQREYgZmlsZXMnIGluIHRoZSBzZXR0aW5nIGJlZm9yZSBwcmludGluZyB0aGUgcmVwb3J0LlwiLCBbXCJjb2wtNlwiXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoYWxlcnRUaXRsZSwgXCJUaGUgYnJvd3NlciBzZXR0aW5ncyBjYW5ub3QgYmUgZGV0ZWN0ZWQsIHBsZWFzZSByZWFjaCBvdXQgdG8gc3VwcG9ydCBmb3IgYXNzaXN0YW5jZS5cIiwgW1wiY29sLTRcIl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuYWxsb3dQcmludFBERiA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIC8vIElmIGFjY2Vzc2luZyBpZnJhbWUgY29udGVudCB0aHJvd3MgYW4gZXJyb3IsIGFsZXJ0IHVzZXIgYWJvdXQgcG90ZW50aWFsIGlzc3VlXHJcbiAgICAgICAgdGhpcy5hbGxvd1ByaW50UERGID0gZmFsc2U7XHJcbiAgICAgICAgLy8gUERGIGZhaWxlZCB0byBsb2FkIG9yIGRpc3BsYXkgcHJvcGVybHlcclxuICAgICAgICBjb25zb2xlLmxvZygnUERGIGZhaWxlZCB0byBsb2FkIG9yIGRpc3BsYXkgcHJvcGVybHkgaW4gdGhlIGlmcmFtZS4nKTtcclxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93T2theShhbGVydFRpdGxlLCBcIlRoZSBicm93c2VyIHNldHRpbmdzIGNhbm5vdCBiZSBkZXRlY3RlZCwgcGxlYXNlIHJlYWNoIG91dCB0byBzdXBwb3J0IGZvciBhc3Npc3RhbmNlLlwiLCBbXCJjb2wtNFwiXSk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgaWZyYW1lLm9uZXJyb3IgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuYWxsb3dQcmludFBERiA9IGZhbHNlO1xyXG4gICAgICAvLyBQREYgZmFpbGVkIHRvIGxvYWQgb3IgZGlzcGxheSBwcm9wZXJseVxyXG4gICAgICBjb25zb2xlLmxvZygnUERGIGZhaWxlZCB0byBsb2FkIG9yIGRpc3BsYXkgcHJvcGVybHkgaW4gdGhlIGlmcmFtZS4nKTtcclxuICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoYWxlcnRUaXRsZSwgXCJUaGUgYnJvd3NlciBzZXR0aW5ncyBjYW5ub3QgYmUgZGV0ZWN0ZWQsIHBsZWFzZSByZWFjaCBvdXQgdG8gc3VwcG9ydCBmb3IgYXNzaXN0YW5jZS5cIiwgW1wiY29sLTRcIl0pO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZnJhbWUuc3R5bGUuZGlzcGxheSA9ICdub25lJztcclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaWZyYW1lKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBwcmludEVuZChlOiBhbnksIGFyZ3M6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJQcmludCBlbmQuXCIpO1xyXG5cclxuICAgIGlmICghdGhpcy5hbGxvd1ByaW50UERGKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignQnJvd3NlciBpbmNvcnJlY3QgY29uZmlndXJhdGlvbiwgdW5hYmxlIHRvIHByaW50IHRoZSBQREYuJylcclxuICAgICAgYXJncy5oYW5kbGVkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZVJlcG9ydCgpIHtcclxuICAgIHRoaXMucmVwb3J0U291cmNlID0gdGhpcy5ncm91cFtcIlJlcG9ydFNvdXJjZVwiXTtcclxuXHJcbiAgICBpZiAodGhpcy5yZXBvcnRTb3VyY2UucGFyYW1ldGVycyAmJiAhdGhpcy5yZXBvcnRTb3VyY2UucGFyYW1ldGVycy5BdXRob3JpemF0aW9uKSB7XHJcbiAgICAgIHRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMuQXV0aG9yaXphdGlvbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkJlYXJlci5BdXRob3JpemF0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLnJlcG9ydFNvdXJjZVsndXJsJ10pIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlVXJsID0gdGhpcy56Y29yZVNlcnZpY2Uubm9ybWFsaXplVXJsKHRoaXMucmVwb3J0U291cmNlWyd1cmwnXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aWV3ZXIuc2V0UmVwb3J0U291cmNlKHRoaXMucmVwb3J0U291cmNlKTtcclxuICAgIC8vdGhpcy52aWV3ZXIucmVmcmVzaFJlcG9ydCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWUpO1xyXG4gIH0gXHJcbn1cclxuIiwiPGRpdiB3aWR0aD1cIjEwMCVcIiBoZWlnaHQ9XCI4MDBweFwiPlxyXG4gIDx0ci12aWV3ZXIgI3JlcG9ydFZpZXdlcjFcclxuICAgICAgICAgICAgIFtjb250YWluZXJTdHlsZV09XCJ2aWV3ZXJDb250YWluZXJTdHlsZVwiXHJcbiAgICAgICAgICAgICBbc2VydmljZVVybF09XCJzZXJ2aWNlVXJsXCJcclxuICAgICAgICAgICAgIFtyZXBvcnRTb3VyY2VdPVwicmVwb3J0U291cmNlXCJcclxuICAgICAgICAgICAgIFt2aWV3TW9kZV09XCInSU5URVJBQ1RJVkUnXCJcclxuICAgICAgICAgICAgIFtzY2FsZU1vZGVdPVwiJ1NQRUNJRklDJ1wiXHJcbiAgICAgICAgICAgICBbc2NhbGVdPVwiMS4wXCJcclxuICAgICAgICAgICAgIFtlbmFibGVBY2Nlc3NpYmlsaXR5XT1cImZhbHNlXCJcclxuICAgICAgICAgICAgIFtyZWFkeV09XCJvblJlYWR5XCJcclxuICAgICAgICAgICAgIFtleHBvcnRCZWdpbl09XCJvbkV4cG9ydEJlZ2luXCJcclxuICAgICAgICAgICAgIFtleHBvcnRFbmRdPVwib25FeHBvcnRFbmRcIlxyXG4gICAgICAgICAgICAgW3JlbmRlcmluZ0JlZ2luXT1cIm9uUmVuZGVyaW5nQmVnaW5cIlxyXG4gICAgICAgICAgICAgW3JlbmRlcmluZ0VuZF09XCJvblJlbmRlcmluZ0VuZFwiXHJcbiAgICAgICAgICAgICBbcHJpbnRCZWdpbl09XCJvblByaW50QmVnaW5cIlxyXG4gICAgICAgICAgICAgW3ByaW50RW5kXT1cIm9uUHJpbnRFbmRcIj5cclxuICA8L3RyLXZpZXdlcj5cclxuPC9kaXY+XHJcbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoienJlcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96cmVwb3J0L3pyZXBvcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvenJlcG9ydC96cmVwb3J0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxLQUFLLEVBQXFCLFlBQVksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFPcEgsMkNBQTJDO0FBQzNDLE9BQU8sRUFDK0Isb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQzNFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFZekIsTUFBTSxPQUFPLGdCQUFnQjtJQStCM0IsWUFDVSxrQkFBc0MsRUFDdEMsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsWUFBMEI7UUFIMUIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQTlCcEMsd0JBQW1CLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBU3pDLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBRS9CLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUNsQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQix5QkFBb0IsR0FBRztZQUM1QixRQUFRLEVBQUUsVUFBVTtZQUNwQixLQUFLLEVBQUUsTUFBTTtZQUNiLE1BQU0sRUFBRSxPQUFPO1lBQ2YsVUFBVSxFQUFFLG1CQUFtQjtZQUMvQixlQUFlLEVBQUUsU0FBUztZQUMxQixTQUFTLEVB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QUFiLEtBQUs7Z0JBaUVOLFFBQVE7c0JBRFAsWUFBWTt1QkFBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIElucHV0LCBWaWV3RW5jYXBzdWxhdGlvbiwgSG9zdExpc3RlbmVyLCBBZnRlclZpZXdJbml0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi8gXHJcbmltcG9ydCB7IFRlbGVyaWtSZXBvcnRWaWV3ZXJDb21wb25lbnQgfSBmcm9tIFwiQHByb2dyZXNzL3RlbGVyaWstYW5ndWxhci1yZXBvcnQtdmlld2VyXCI7XHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbmltcG9ydCB7XHJcbiAgUmVzb3VyY2VBcGlTZXJ2aWNlLCBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFpDb21wb25lbnRIZWxwZXIsIEF1dGhTZXJ2aWNlLCBBbGVydFNlcnZpY2UsIFpDb3JlU2VydmljZVxufSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5cclxuLy8gaW1wb3J0ICogYXMgJCBmcm9tICdqcXVlcnknO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtenJlcG9ydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4venJlcG9ydC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi96cmVwb3J0LmNvbXBvbmVudC5zY3NzXCJdLFxyXG4gIC8vZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWnJlcG9ydENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZCgncmVwb3J0Vmlld2VyMScsIHsgc3RhdGljOiBmYWxzZSB9KSB2aWV3ZXI6IFRlbGVyaWtSZXBvcnRWaWV3ZXJDb21wb25lbnQ7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcblxyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuXHJcbiAgcHVibGljIG9uRXhwb3J0QmVnaW46IEZ1bmN0aW9uO1xyXG4gIHB1YmxpYyBvbkV4cG9ydEVuZDogRnVuY3Rpb247XHJcbiAgcHVibGljIG9uUmVuZGVyaW5nQmVnaW46IEZ1bmN0aW9uO1xyXG4gIHB1YmxpYyBvblJlbmRlcmluZ0VuZDogRnVuY3Rpb247XHJcbiAgcHVibGljIG9uUHJpbnRCZWdpbjogRnVuY3Rpb247XHJcbiAgcHVibGljIG9uUHJpbnRFbmQ6IEZ1bmN0aW9uO1xyXG5cclxuICBwcml2YXRlIGFsbG93UHJpbnRQREY6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgaXNWaXNpYmxlID0gdHJ1ZTtcclxuICBwdWJsaWMgc2VydmljZVVybCA9IG51bGw7XHJcbiAgcHVibGljIHJlcG9ydFNvdXJjZSA9IG51bGw7XHJcbiAgcHVibGljIHZpZXdlckNvbnRhaW5lclN0eWxlID0ge1xyXG4gICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcclxuICAgIHdpZHRoOiBcIjEwMCVcIixcclxuICAgIGhlaWdodDogXCI4MDBweFwiLFxyXG4gICAgZm9udEZhbWlseTogJ0FyaWFsLCBzYW5zLXNlcmlmJyxcclxuICAgIGJhY2tncm91bmRDb2xvcjogJyNmOWY5ZjknLFxyXG4gICAgYm94U2hhZG93OiAnMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKScsXHJcbiAgICBmb250U2l6ZTogJzE2cHgnLFxyXG4gICAgbGluZUhlaWdodDogJzEuNScsXHJcbiAgICBjb2xvcjogJyMzMzMnLFxyXG4gIH07IFxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVzb3VyY2VBcGlTZXJ2aWNlOiBSZXNvdXJjZUFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIHpjb3JlU2VydmljZTogWkNvcmVTZXJ2aWNlXG4gICkge1xyXG4gIH1cclxuICAgIFxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5zZXRDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuXHJcbiAgICB0aGlzLm9uRXhwb3J0QmVnaW4gPSB0aGlzLmV4cG9ydEJlZ2luLmJpbmQodGhpcyk7XHJcbiAgICB0aGlzLm9uRXhwb3J0RW5kID0gdGhpcy5leHBvcnRFbmQuYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25SZW5kZXJpbmdCZWdpbiA9IHRoaXMucmVuZGVyaW5nQmVnaW4uYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25SZW5kZXJpbmdFbmQgPSB0aGlzLnJlbmRlcmluZ0VuZC5iaW5kKHRoaXMpO1xyXG4gICAgdGhpcy5vblByaW50QmVnaW4gPSB0aGlzLnByaW50QmVnaW4uYmluZCh0aGlzKTtcclxuICAgIHRoaXMub25QcmludEVuZCA9IHRoaXMucHJpbnRFbmQuYmluZCh0aGlzKTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2VVcmwgPSB0aGlzLnpjb3JlU2VydmljZS5ub3JtYWxpemVVcmwodGhpcy5yZXNvdXJjZUFwaVNlcnZpY2UuZ2V0VVJMKHRoaXMuZGF0YS5SZXNvdXJjZVVSTCkpO1xuXHJcbiAgICBpZiAoIXRoaXMuc2VydmljZVVybCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcInJlc291cmNlVVJMIGlzIGVtcHR5LlwiKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoISF0aGlzLmRhdGEuSXNBdXRvR2VuZXJhdGVSZXBvcnQpIHtcclxuICAgICAgdGhpcy5yZXBvcnRTb3VyY2UgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLlJlcG9ydFNvdXJjZSk7XHJcbiAgICB9IFxyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQgeyBcclxuICAgIGxldCByZXNvdXJjZXMgPSAnTG9hZGluZy4uLic7IC8vIERlZmF1bHQuXHJcblxyXG4gICAgdGhpcy52aWV3ZXIudmlld2VyT2JqZWN0LnN0cmluZ1Jlc291cmNlcyA9IE9iamVjdC5hc3NpZ24odGhpcy52aWV3ZXIudmlld2VyT2JqZWN0LnN0cmluZ1Jlc291cmNlcywgcmVzb3VyY2VzKTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uUmVzaXplKCkge1xyXG4gICAgY29uc29sZS5sb2coXCJSZXBvcnQgcmVzaXplZC5cIik7XHJcbiAgfVxyXG5cclxuICBvblJlYWR5KCkge1xyXG4gICAgY29uc29sZS5sb2coXCJSZXBvcnQgcmVhZHkuXCIpO1xyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9oaXN0b3J5QmFjayddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfaGlzdG9yeUZvcndhcmQnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3N0b3BSZW5kZXJpbmcnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfcmVmcmVzaCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvRmlyc3RQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpOyBcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl9nb1RvUHJldlBhZ2UnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IFxyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2dvVG9OZXh0UGFnZSddXCIpLnBhcmVudCgpLmhpZGUoKTsgXHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfZ29Ub0xhc3RQYWdlJ11cIikucGFyZW50KCkuaGlkZSgpOyBcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVQcmludFByZXZpZXcnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IFxyXG4gICAgLy8kKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX2V4cG9ydCddXCIpLnBhcmVudCgpLmhpZGUoKTsgXHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfcHJpbnQnXVwiKS5wYXJlbnQoKS5oaWRlKCk7IFxyXG4gICAgJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVEb2N1bWVudE1hcCddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICAgICQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfdG9nZ2xlUGFyYW1ldGVyc0FyZWEnXVwiKS5wYXJlbnQoKS5oaWRlKCk7XHJcbiAgICAvLyQoXCJbZGF0YS1jb21tYW5kKj0ndGVsZXJpa19SZXBvcnRWaWV3ZXJfem9vbUluJ11cIikucGFyZW50KCkuaGlkZSgpOyBcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl96b29tT3V0J11cIikucGFyZW50KCkuaGlkZSgpOyBcclxuICAgIC8vJChcIltkYXRhLWNvbW1hbmQqPSd0ZWxlcmlrX1JlcG9ydFZpZXdlcl90b2dnbGVab29tTW9kZSddXCIpLnBhcmVudCgpLmhpZGUoKTsgXHJcbiAgICAkKFwiW2RhdGEtY29tbWFuZCo9J3RlbGVyaWtfUmVwb3J0Vmlld2VyX3RvZ2dsZVNlYXJjaERpYWxvZyddXCIpLnBhcmVudCgpLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnRCZWdpbihlOiBhbnksIGFyZ3M6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJFeHBvcnQgYmVnaW4uXCIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cG9ydEVuZChlOiBhbnksIGFyZ3M6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coXCJFeHBvcnQgZW5kLlwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW5kZXJpbmdCZWdpbihlOiBhbnksIGFyZ3M6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coXCJSZW5kZXJpbmcgc3RhcnRlZC5cIik7XHJcbiAgICBpZiAodGhpcy5yZXBvcnRTb3VyY2UucGFyYW1ldGVycyAmJiB0aGlzLnJlcG9ydFNvdXJjZS5wYXJhbWV0ZXJzLkF1dGhvcml6YXRpb24gIT09IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkJlYXJlci5BdXRob3JpemF0aW9uKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihcIlVwZGF0ZWQgaW52YWxpZCBhdXRob3JpemF0aW9uIHRva2VuLlwiKTtcclxuXHJcbiAgICAgIHRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMuQXV0aG9yaXphdGlvbiA9IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkJlYXJlci5BdXRob3JpemF0aW9uO1xyXG4gICAgICB0aGlzLnZpZXdlci5zZXRSZXBvcnRTb3VyY2UodGhpcy5yZXBvcnRTb3VyY2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbmRlcmluZ0VuZChlOiBhbnksIGFyZ3M6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coXCJSZW5kZXJpbmcgZW5kZWQuXCIpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZUVtcHR5UGRmKCk6IEJsb2Ige1xyXG4gICAgLy8gQ3JlYXRlIGFuIGVtcHR5IFBERiBmaWxlIHdpdGgganVzdCBhIGhlYWRlclxyXG4gICAgY29uc3QgcGRmQ29udGVudCA9ICclUERGLTEuM1xcbjEgMCBvYmpcXG48PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj5cXG5lbmRvYmpcXG4yIDAgb2JqXFxuPDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFtdIC9Db3VudCAwID4+XFxuZW5kb2JqXFxueHJlZlxcbjAgM1xcbjAwMDAwMDAwMDAgNjU1MzUgZiBcXG4wMDAwMDAwMDEwIDAwMDAwIG4gXFxudHJhaWxlclxcbjw8IC9Sb290IDEgMCBSIC9TaXplIDMgPj5cXG5zdGFydHhyZWZcXG4yMDVcXG4lJUVPRic7XHJcbiAgICByZXR1cm4gbmV3IEJsb2IoW3BkZkNvbnRlbnRdLCB7IHR5cGU6ICdhcHBsaWNhdGlvbi9wZGYnIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHByaW50QmVnaW4oZTogYW55LCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUHJpbnQgYmVnaW4uXCIpO1xyXG5cclxuICAgIGNvbnN0IGFsZXJ0VGl0bGUgPSAnUHJpbnQgUERGIEVycm9yJztcclxuICAgIGNvbnN0IHBkZkJsb2IgPSB0aGlzLmdlbmVyYXRlRW1wdHlQZGYoKTtcclxuICAgIGNvbnN0IHBkZlVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwocGRmQmxvYik7IGNvbnN0IHVzZXJBZ2VudCA9IG5hdmlnYXRvci51c2VyQWdlbnQ7XHJcbiAgICBjb25zdCBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpZnJhbWUnKTtcclxuICAgIGxldCBpc0Nocm9tZSA9IGZhbHNlO1xyXG4gICAgbGV0IGlzRWRnZSA9IGZhbHNlO1xyXG5cclxuICAgIGlmICgvRWRnLy50ZXN0KHVzZXJBZ2VudCkpIHtcclxuICAgICAgaXNFZGdlID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKC9DaHJvbWUvLnRlc3QodXNlckFnZW50KSkge1xyXG4gICAgICBpc0Nocm9tZSA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWZyYW1lLnNyYyA9IHBkZlVybDtcclxuICAgIGlmcmFtZS5vbmxvYWQgPSAoKSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdDaGVja2luZyBicm93c2VyIGlzIHJlcG9ydCBhYmxlIHRvIHByaW50LicsIGlmcmFtZS5jb250ZW50RG9jdW1lbnQpO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnREb2N1bWVudCB8fCBpZnJhbWUuY29udGVudFdpbmRvdz8uZG9jdW1lbnQ7XHJcbiAgICAgICAgY29uc3QgcGRmRWxlbWVudCA9IGlmcmFtZURvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2VtYmVkW3R5cGU9XCJhcHBsaWNhdGlvbi9wZGZcIl0sIG9iamVjdFt0eXBlPVwiYXBwbGljYXRpb24vcGRmXCJdLCBpZnJhbWUnKTtcclxuXHJcbiAgICAgICAgLy8gSWYgbm8gUERGIGVsZW1lbnQgZm91bmQsIGFsZXJ0IHVzZXIgYWJvdXQgcG90ZW50aWFsIGlzc3VlXHJcbiAgICAgICAgaWYgKCFwZGZFbGVtZW50KSB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93UHJpbnRQREYgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICBpZiAoaXNDaHJvbWUpIHtcclxuICAgICAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoYWxlcnRUaXRsZSwgXCJTdGVwIDE6IFBsZWFzZSBuYXZpZ2F0ZSB0byAnY2hyb21lOi8vc2V0dGluZ3MvY29udGVudC9wZGZEb2N1bWVudHMnIGluIHRoZSBicm93ZXIuPGJyLz5TdGVwIDI6IFNlbGVjdCAnT3BlbiBQREZzIGluIENocm9tZScgaW4gdGhlIHNldHRpbmcgYmVmb3JlIHByaW50aW5nIHRoZSByZXBvcnQuXCIsIFtcImNvbC02XCJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGVsc2UgaWYgKGlzRWRnZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5zaG93T2theShhbGVydFRpdGxlLCBcIlN0ZXAgMTogUGxlYXNlIG5hdmlnYXRlIHRvICdlZGdlOi8vc2V0dGluZ3MvY29udGVudC9wZGZEb2N1bWVudHMnIGluIHRoZSBicm93ZXIuPGJyLz5TdGVwIDI6IEVuYWJsZSAnUERGIHZpZXcgc2V0dGluZ3MnIGFuZCBEaXNhYmxlICdBbHdheXMgRG93bmxvYWQgUERGIGZpbGVzJyBpbiB0aGUgc2V0dGluZyBiZWZvcmUgcHJpbnRpbmcgdGhlIHJlcG9ydC5cIiwgW1wiY29sLTZcIl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dPa2F5KGFsZXJ0VGl0bGUsIFwiVGhlIGJyb3dzZXIgc2V0dGluZ3MgY2Fubm90IGJlIGRldGVjdGVkLCBwbGVhc2UgcmVhY2ggb3V0IHRvIHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UuXCIsIFtcImNvbC00XCJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmFsbG93UHJpbnRQREYgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAvLyBJZiBhY2Nlc3NpbmcgaWZyYW1lIGNvbnRlbnQgdGhyb3dzIGFuIGVycm9yLCBhbGVydCB1c2VyIGFib3V0IHBvdGVudGlhbCBpc3N1ZVxyXG4gICAgICAgIHRoaXMuYWxsb3dQcmludFBERiA9IGZhbHNlO1xyXG4gICAgICAgIC8vIFBERiBmYWlsZWQgdG8gbG9hZCBvciBkaXNwbGF5IHByb3Blcmx5XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1BERiBmYWlsZWQgdG8gbG9hZCBvciBkaXNwbGF5IHByb3Blcmx5IGluIHRoZSBpZnJhbWUuJyk7XHJcbiAgICAgICAgdGhpcy5hbGVydFNlcnZpY2Uuc2hvd09rYXkoYWxlcnRUaXRsZSwgXCJUaGUgYnJvd3NlciBzZXR0aW5ncyBjYW5ub3QgYmUgZGV0ZWN0ZWQsIHBsZWFzZSByZWFjaCBvdXQgdG8gc3VwcG9ydCBmb3IgYXNzaXN0YW5jZS5cIiwgW1wiY29sLTRcIl0pO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIGlmcmFtZS5vbmVycm9yID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmFsbG93UHJpbnRQREYgPSBmYWxzZTtcclxuICAgICAgLy8gUERGIGZhaWxlZCB0byBsb2FkIG9yIGRpc3BsYXkgcHJvcGVybHlcclxuICAgICAgY29uc29sZS5sb2coJ1BERiBmYWlsZWQgdG8gbG9hZCBvciBkaXNwbGF5IHByb3Blcmx5IGluIHRoZSBpZnJhbWUuJyk7XHJcbiAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLnNob3dPa2F5KGFsZXJ0VGl0bGUsIFwiVGhlIGJyb3dzZXIgc2V0dGluZ3MgY2Fubm90IGJlIGRldGVjdGVkLCBwbGVhc2UgcmVhY2ggb3V0IHRvIHN1cHBvcnQgZm9yIGFzc2lzdGFuY2UuXCIsIFtcImNvbC00XCJdKTtcclxuICAgIH07XHJcblxyXG4gICAgaWZyYW1lLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcHJpbnRFbmQoZTogYW55LCBhcmdzOiBhbnkpIHtcclxuICAgIGNvbnNvbGUubG9nKFwiUHJpbnQgZW5kLlwiKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuYWxsb3dQcmludFBERikge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ0Jyb3dzZXIgaW5jb3JyZWN0IGNvbmZpZ3VyYXRpb24sIHVuYWJsZSB0byBwcmludCB0aGUgUERGLicpXHJcbiAgICAgIGFyZ3MuaGFuZGxlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2VuZXJhdGVSZXBvcnQoKSB7XHJcbiAgICB0aGlzLnJlcG9ydFNvdXJjZSA9IHRoaXMuZ3JvdXBbXCJSZXBvcnRTb3VyY2VcIl07XHJcblxyXG4gICAgaWYgKHRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMgJiYgIXRoaXMucmVwb3J0U291cmNlLnBhcmFtZXRlcnMuQXV0aG9yaXphdGlvbikge1xyXG4gICAgICB0aGlzLnJlcG9ydFNvdXJjZS5wYXJhbWV0ZXJzLkF1dGhvcml6YXRpb24gPSB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25CZWFyZXIuQXV0aG9yaXphdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5yZXBvcnRTb3VyY2VbJ3VybCddKSB7XG4gICAgICB0aGlzLnNlcnZpY2VVcmwgPSB0aGlzLnpjb3JlU2VydmljZS5ub3JtYWxpemVVcmwodGhpcy5yZXBvcnRTb3VyY2VbJ3VybCddKTtcbiAgICB9XG5cclxuICAgIHRoaXMudmlld2VyLnNldFJlcG9ydFNvdXJjZSh0aGlzLnJlcG9ydFNvdXJjZSk7XHJcbiAgICAvL3RoaXMudmlld2VyLnJlZnJlc2hSZXBvcnQoKTtcclxuICB9XHJcblxyXG4gIGdldEZvbnRBd2Vzb21lKGljb25OYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldEZvbnRBd2Vzb21lKGljb25OYW1lKTtcclxuICB9IFxyXG59XHJcbiIsIjxkaXYgd2lkdGg9XCIxMDAlXCIgaGVpZ2h0PVwiODAwcHhcIj5cclxuICA8dHItdmlld2VyICNyZXBvcnRWaWV3ZXIxXHJcbiAgICAgICAgICAgICBbY29udGFpbmVyU3R5bGVdPVwidmlld2VyQ29udGFpbmVyU3R5bGVcIlxyXG4gICAgICAgICAgICAgW3NlcnZpY2VVcmxdPVwic2VydmljZVVybFwiXHJcbiAgICAgICAgICAgICBbcmVwb3J0U291cmNlXT1cInJlcG9ydFNvdXJjZVwiXHJcbiAgICAgICAgICAgICBbdmlld01vZGVdPVwiJ0lOVEVSQUNUSVZFJ1wiXHJcbiAgICAgICAgICAgICBbc2NhbGVNb2RlXT1cIidTUEVDSUZJQydcIlxyXG4gICAgICAgICAgICAgW3NjYWxlXT1cIjEuMFwiXHJcbiAgICAgICAgICAgICBbZW5hYmxlQWNjZXNzaWJpbGl0eV09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICBbcmVhZHldPVwib25SZWFkeVwiXHJcbiAgICAgICAgICAgICBbZXhwb3J0QmVnaW5dPVwib25FeHBvcnRCZWdpblwiXHJcbiAgICAgICAgICAgICBbZXhwb3J0RW5kXT1cIm9uRXhwb3J0RW5kXCJcclxuICAgICAgICAgICAgIFtyZW5kZXJpbmdCZWdpbl09XCJvblJlbmRlcmluZ0JlZ2luXCJcclxuICAgICAgICAgICAgIFtyZW5kZXJpbmdFbmRdPVwib25SZW5kZXJpbmdFbmRcIlxyXG4gICAgICAgICAgICAgW3ByaW50QmVnaW5dPVwib25QcmludEJlZ2luXCJcclxuICAgICAgICAgICAgIFtwcmludEVuZF09XCJvblByaW50RW5kXCI+XHJcbiAgPC90ci12aWV3ZXI+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -250,9 +250,9 @@ export class ZschedulerComponent {
250
250
  }
251
251
  }
252
252
  }
253
- ZschedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZschedulerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.StorageSessionService }, { token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
254
- ZschedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZschedulerComponent, selector: "app-zscheduler", inputs: { data: "data", group: "group", form: "form", ngStyle: "ngStyle" }, ngImport: i0, template: "<ion-item [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <kendo-scheduler *ngIf=\"!isLoading\" [kendoSchedulerBinding]=\"events\" [selectedDate]=\"selectedDate\" (dateChange)=\"onDateChange($event)\"\r\n [selectedViewIndex]=\"selectedViewIndex\" [eventStyles]=\"getEventStyles\" [slotClass]=\"getSlotClass\" \r\n (slotDblClick)=\"onSlotDblClick($event)\" (eventDblClick)=\"onEventDblClick($event)\" scrollTime=\"08:00\"\r\n [style.height]=\"(!!data.Height ? [data.Height] : '600px')\">\r\n <!-- [style.font-size]=\"(!!data.FontSize ? [data.FontSize] : '12px')\"> -->\r\n \r\n <!--Note: line-height same with [eventHeight]-->\r\n <ng-template kendoSchedulerEventTemplate let-event>\r\n <span style=\"margin-left: -5px;line-height: 25px;\">{{ event.title }}</span>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerToolbarTemplate let-selectedDate=\"selectedDate\">\r\n <zschedulertoolbar [local]=\"local\" [selectedDate]=\"selectedDate\">\r\n </zschedulertoolbar>\r\n <ul kendoSchedulerToolbarViewSelector></ul>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerAllDaySlotTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: 'dd-MMM-yyyy' }}</strong>\r\n </ng-template>\r\n <ng-template kendoSchedulerDateHeaderTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: \"ccc\" }}</strong>\r\n </ng-template>\r\n\r\n \r\n <!-- <kendo-scheduler-day-view startTime=\"08:00\">\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view startTime=\"08:00\">\r\n </kendo-scheduler-week-view> -->\r\n\r\n <kendo-scheduler-day-view>\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view>\r\n </kendo-scheduler-week-view>\r\n\r\n <kendo-scheduler-month-view [eventHeight]=\"25\"> \r\n </kendo-scheduler-month-view>\r\n\r\n <!-- <kendo-scheduler-timeline-view>\r\n </kendo-scheduler-timeline-view> -->\r\n\r\n <kendo-scheduler-agenda-view>\r\n </kendo-scheduler-agenda-view>\r\n </kendo-scheduler>\r\n\r\n</ion-item>", styles: ["ion-item{--padding-start: 0px;--inner-padding-end: 0px}\n"], components: [{ type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i3.SchedulerComponent, selector: "kendo-scheduler", inputs: ["editable", "selectable", "eventHeight", "columnWidth", "startTime", "endTime", "workDayStart", "workDayEnd", "slotDuration", "slotDivisions", "slotFill", "scrollTime", "currentTimeMarker", "highlightOngoingEvents", "isSlotSelected", "selectedViewIndex", "weekStart", "timezone", "events", "selectedDate", "modelFields", "min", "max", "showWorkHours", "workWeekStart", "workWeekEnd", "group", "resources", "loading", "slotClass", "eventClass", "eventStyles"], outputs: ["selectedViewIndexChange", "navigate", "dateChange", "slotClick", "slotDblClick", "create", "eventClick", "eventDblClick", "eventKeydown", "cancel", "save", "remove", "resizeStart", "resize", "resizeEnd", "dragStart", "drag", "dragEnd", "slotDragStart", "slotDrag", "slotDragEnd", "pdfExport"] }, { type: i4.ZSchedulerToolBarComponent, selector: "zschedulertoolbar", inputs: ["local", "selectedDate"] }, { type: i3.ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]" }, { type: i3.DayViewComponent, selector: "kendo-scheduler-day-view", inputs: ["selectedDateFormat", "selectedShortDateFormat"] }, { type: i3.WeekViewComponent, selector: "kendo-scheduler-week-view", inputs: ["selectedDateFormat", "selectedShortDateFormat"] }, { type: i3.MonthViewComponent, selector: "kendo-scheduler-month-view", inputs: ["selectedDateFormat", "selectedShortDateFormat", "eventHeight"] }, { type: i3.AgendaViewComponent, selector: "kendo-scheduler-agenda-view", inputs: ["selectedDateFormat", "selectedShortDateFormat", "numberOfDays"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.ShortcutsDirective, selector: "kendo-scheduler" }, { type: i3.DataBindingDirective, selector: "[kendoSchedulerBinding]", inputs: ["kendoSchedulerBinding"] }, { type: i3.EventTemplateDirective, selector: "[kendoSchedulerEventTemplate]" }, { type: i3.ToolbarTemplateDirective, selector: "[kendoSchedulerToolbarTemplate]" }, { type: i3.AllDaySlotTemplateDirective, selector: "[kendoSchedulerAllDaySlotTemplate]" }, { type: i3.DateHeaderTemplateDirective, selector: "[kendoSchedulerDateHeaderTemplate]" }], pipes: { "kendoDate": i7.DatePipe } });
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZschedulerComponent, decorators: [{
253
+ ZschedulerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZschedulerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.StorageSessionService }, { token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
254
+ ZschedulerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZschedulerComponent, selector: "app-zscheduler", inputs: { data: "data", group: "group", form: "form", ngStyle: "ngStyle" }, ngImport: i0, template: "<ion-item [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <kendo-scheduler *ngIf=\"!isLoading\" [kendoSchedulerBinding]=\"events\" [selectedDate]=\"selectedDate\" (dateChange)=\"onDateChange($event)\"\r\n [selectedViewIndex]=\"selectedViewIndex\" [eventStyles]=\"getEventStyles\" [slotClass]=\"getSlotClass\" \r\n (slotDblClick)=\"onSlotDblClick($event)\" (eventDblClick)=\"onEventDblClick($event)\" scrollTime=\"08:00\"\r\n [style.height]=\"(!!data.Height ? [data.Height] : '600px')\">\r\n <!-- [style.font-size]=\"(!!data.FontSize ? [data.FontSize] : '12px')\"> -->\r\n \r\n <!--Note: line-height same with [eventHeight]-->\r\n <ng-template kendoSchedulerEventTemplate let-event>\r\n <span style=\"margin-left: -5px;line-height: 25px;\">{{ event.title }}</span>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerToolbarTemplate let-selectedDate=\"selectedDate\">\r\n <zschedulertoolbar [local]=\"local\" [selectedDate]=\"selectedDate\">\r\n </zschedulertoolbar>\r\n <ul kendoSchedulerToolbarViewSelector></ul>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerAllDaySlotTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: 'dd-MMM-yyyy' }}</strong>\r\n </ng-template>\r\n <ng-template kendoSchedulerDateHeaderTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: \"ccc\" }}</strong>\r\n </ng-template>\r\n\r\n \r\n <!-- <kendo-scheduler-day-view startTime=\"08:00\">\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view startTime=\"08:00\">\r\n </kendo-scheduler-week-view> -->\r\n\r\n <kendo-scheduler-day-view>\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view>\r\n </kendo-scheduler-week-view>\r\n\r\n <kendo-scheduler-month-view [eventHeight]=\"25\"> \r\n </kendo-scheduler-month-view>\r\n\r\n <!-- <kendo-scheduler-timeline-view>\r\n </kendo-scheduler-timeline-view> -->\r\n\r\n <kendo-scheduler-agenda-view>\r\n </kendo-scheduler-agenda-view>\r\n </kendo-scheduler>\r\n\r\n</ion-item>", styles: ["ion-item{--padding-start: 0px;--inner-padding-end: 0px}\n"], components: [{ type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i3.SchedulerComponent, selector: "kendo-scheduler", inputs: ["editable", "selectable", "eventHeight", "columnWidth", "startTime", "endTime", "workDayStart", "workDayEnd", "slotDuration", "slotDivisions", "slotFill", "scrollTime", "currentTimeMarker", "highlightOngoingEvents", "isSlotSelected", "selectedViewIndex", "weekStart", "timezone", "events", "selectedDate", "modelFields", "min", "max", "showWorkHours", "workWeekStart", "workWeekEnd", "group", "resources", "loading", "slotClass", "eventClass", "eventStyles"], outputs: ["selectedViewIndexChange", "navigate", "dateChange", "slotClick", "slotDblClick", "create", "eventClick", "eventDblClick", "eventKeydown", "cancel", "save", "remove", "resizeStart", "resize", "resizeEnd", "dragStart", "drag", "dragEnd", "slotDragStart", "slotDrag", "slotDragEnd", "pdfExport"] }, { type: i4.ZSchedulerToolBarComponent, selector: "zschedulertoolbar", inputs: ["local", "selectedDate"] }, { type: i3.ToolbarViewSelectorComponent, selector: "[kendoSchedulerToolbarViewSelector]" }, { type: i3.DayViewComponent, selector: "kendo-scheduler-day-view", inputs: ["selectedDateFormat", "selectedShortDateFormat"] }, { type: i3.WeekViewComponent, selector: "kendo-scheduler-week-view", inputs: ["selectedDateFormat", "selectedShortDateFormat"] }, { type: i3.MonthViewComponent, selector: "kendo-scheduler-month-view", inputs: ["selectedDateFormat", "selectedShortDateFormat", "eventHeight"] }, { type: i3.AgendaViewComponent, selector: "kendo-scheduler-agenda-view", inputs: ["selectedDateFormat", "selectedShortDateFormat", "numberOfDays"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.ShortcutsDirective, selector: "kendo-scheduler" }, { type: i3.DataBindingDirective, selector: "[kendoSchedulerBinding]", inputs: ["kendoSchedulerBinding"] }, { type: i3.EventTemplateDirective, selector: "[kendoSchedulerEventTemplate]" }, { type: i3.ToolbarTemplateDirective, selector: "[kendoSchedulerToolbarTemplate]" }, { type: i3.AllDaySlotTemplateDirective, selector: "[kendoSchedulerAllDaySlotTemplate]" }, { type: i3.DateHeaderTemplateDirective, selector: "[kendoSchedulerDateHeaderTemplate]" }], pipes: { "kendoDate": i7.DatePipe } });
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZschedulerComponent, decorators: [{
256
256
  type: Component,
257
257
  args: [{ selector: "app-zscheduler", template: "<ion-item [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}} <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <kendo-scheduler *ngIf=\"!isLoading\" [kendoSchedulerBinding]=\"events\" [selectedDate]=\"selectedDate\" (dateChange)=\"onDateChange($event)\"\r\n [selectedViewIndex]=\"selectedViewIndex\" [eventStyles]=\"getEventStyles\" [slotClass]=\"getSlotClass\" \r\n (slotDblClick)=\"onSlotDblClick($event)\" (eventDblClick)=\"onEventDblClick($event)\" scrollTime=\"08:00\"\r\n [style.height]=\"(!!data.Height ? [data.Height] : '600px')\">\r\n <!-- [style.font-size]=\"(!!data.FontSize ? [data.FontSize] : '12px')\"> -->\r\n \r\n <!--Note: line-height same with [eventHeight]-->\r\n <ng-template kendoSchedulerEventTemplate let-event>\r\n <span style=\"margin-left: -5px;line-height: 25px;\">{{ event.title }}</span>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerToolbarTemplate let-selectedDate=\"selectedDate\">\r\n <zschedulertoolbar [local]=\"local\" [selectedDate]=\"selectedDate\">\r\n </zschedulertoolbar>\r\n <ul kendoSchedulerToolbarViewSelector></ul>\r\n </ng-template>\r\n\r\n <ng-template kendoSchedulerAllDaySlotTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: 'dd-MMM-yyyy' }}</strong>\r\n </ng-template>\r\n <ng-template kendoSchedulerDateHeaderTemplate let-date=\"date\">\r\n <strong>{{ date | kendoDate: \"ccc\" }}</strong>\r\n </ng-template>\r\n\r\n \r\n <!-- <kendo-scheduler-day-view startTime=\"08:00\">\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view startTime=\"08:00\">\r\n </kendo-scheduler-week-view> -->\r\n\r\n <kendo-scheduler-day-view>\r\n </kendo-scheduler-day-view>\r\n\r\n <kendo-scheduler-week-view>\r\n </kendo-scheduler-week-view>\r\n\r\n <kendo-scheduler-month-view [eventHeight]=\"25\"> \r\n </kendo-scheduler-month-view>\r\n\r\n <!-- <kendo-scheduler-timeline-view>\r\n </kendo-scheduler-timeline-view> -->\r\n\r\n <kendo-scheduler-agenda-view>\r\n </kendo-scheduler-agenda-view>\r\n </kendo-scheduler>\r\n\r\n</ion-item>", styles: ["ion-item{--padding-start: 0px;--inner-padding-end: 0px}\n"] }]
258
258
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.StorageSessionService }, { type: i1.AuthService }]; }, propDecorators: { data: [{
@@ -69,8 +69,8 @@ export class ZSchedulerToolBarComponent {
69
69
  }
70
70
  }
71
71
  }
72
- ZSchedulerToolBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZSchedulerToolBarComponent, deps: [{ token: i1.ToolbarService }], target: i0.ɵɵFactoryTarget.Component });
73
- ZSchedulerToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZSchedulerToolBarComponent, selector: "zschedulertoolbar", inputs: { local: "local", selectedDate: "selectedDate" }, host: { listeners: { "keydown": "keydown($event)", "document:click": "documentClick($event)" } }, ngImport: i0, template: `
72
+ ZSchedulerToolBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZSchedulerToolBarComponent, deps: [{ token: i1.ToolbarService }], target: i0.ɵɵFactoryTarget.Component });
73
+ ZSchedulerToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZSchedulerToolBarComponent, selector: "zschedulertoolbar", inputs: { local: "local", selectedDate: "selectedDate" }, host: { listeners: { "keydown": "keydown($event)", "document:click": "documentClick($event)" } }, ngImport: i0, template: `
74
74
  <div class="k-scheduler-navigation">
75
75
  <button class="k-nav-today" (click)="today()">
76
76
  Today
@@ -102,7 +102,7 @@ ZSchedulerToolBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
102
102
  ></kendo-calendar>
103
103
  </kendo-popup>
104
104
  `, isInline: true, styles: [":host{margin:5px 0}\n"], components: [{ type: i2.PopupComponent, selector: "kendo-popup", inputs: ["animate", "anchorAlign", "collision", "popupAlign", "copyAnchorStyles", "positionMode", "offset", "anchor", "popupClass", "margin"], outputs: ["anchorViewportLeave", "close", "open", "positionChange"], exportAs: ["kendo-popup"] }, { type: i3.CalendarComponent, selector: "kendo-calendar", inputs: ["id", "rangeValidation", "selection", "disabled", "tabindex", "navigation", "activeView", "bottomView", "topView", "animateNavigation", "weekNumber", "focusedDate", "min", "max", "value", "tabIndex", "disabledDates", "type", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "valueChange"], exportAs: ["kendo-calendar"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "kendoDate": i5.DatePipe } });
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZSchedulerToolBarComponent, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZSchedulerToolBarComponent, decorators: [{
106
106
  type: Component,
107
107
  args: [{ selector: "zschedulertoolbar", template: `
108
108
  <div class="k-scheduler-navigation">
@@ -629,9 +629,9 @@ export class ZselectmultipleComponent {
629
629
  }
630
630
  }
631
631
  }
632
- ZselectmultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZselectmultipleComponent, deps: [{ token: i1.ResourceApiService }, { token: i1.WebApiService }, { token: i1.CacheService }, { token: i1.UISignalService }], target: i0.ɵɵFactoryTarget.Component });
633
- ZselectmultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZselectmultipleComponent, selector: "app-zselectmultiple", inputs: { data: "data", group: "group", form: "form", iconList: "iconList", buttonList: "buttonList" }, viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ["comboboxComponent"], descendants: true }, { propertyName: "multiselect", first: true, predicate: ["multiselect"], descendants: true }, { propertyName: "multiselecttree", first: true, predicate: ["multiselecttree"], descendants: true }, { propertyName: "selectComponent", first: true, predicate: ["selectComponent"], descendants: true }], ngImport: i0, template: "<ion-item [ngClass]=\"getClass(form, data)\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && isMobileScreen()\">\r\n\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"componentProperties.isRequired\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n\r\n <kendo-label *ngIf=\"data.TooltipsInfo && !showTooltipsInfoIcon && !showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n <div [class]=\"setTooltipsInfoSideBySide()\" *ngIf=\"!isLoading\">\r\n <div style=\"flex-grow: 1;\">\r\n <ionic-selectable #selectComponent item-content\r\n searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\"\r\n clearButtonText=\"Clear\"\r\n [(ngModel)]=\"group.zModel[data.Value]\"\r\n [id]=\"data.Value\"\r\n [items]=\"getItemsData()\"\r\n [itemValueField]=\"itemValueField\"\r\n [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\"\r\n [canClear]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\"\r\n [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\"\r\n [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\"\r\n (onSearch)=\"onSearch($event)\"\r\n (onInfiniteScroll)=\"getInfiniteData($event)\"\r\n (onAddItem)=\"onAddItem($event)\"\r\n (onChange)=\"onChange($event)\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate\r\n let-item=\"item\"\r\n let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\"\r\n class=\"isItemSelected\"\r\n size=\"sm\"\r\n [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableCloseButtonTemplate>\r\n <!-- <ion-icon name=\"close-circle\"></ion-icon> -->\r\n <fa-icon [icon]=\"'times-circle'\" size=\"md\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n {{data.Label}}\r\n <ion-text *ngIf=\"getIsRequiredValue()\" color=\"danger\">*</ion-text>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableItemTemplate let-item=\"item\">\r\n {{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}\r\n <!-- <ng-template zselectitemelement [item]=\"item\"></ng-template> -->\r\n </ng-template>\r\n\r\n <!--<ng-template ionicSelectableFooterTemplate>\r\n <ion-toolbar>\r\n <ion-row>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"clearItems()\">\r\n Clear\r\n </ion-button>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"confirmItems()\">\r\n OK\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n </ng-template>-->\r\n </ionic-selectable>\r\n </div>\r\n <app-uivalidationmessage [group]=\"group\" [data]=\"data\" [form]=\"form\"></app-uivalidationmessage>\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n </div>\r\n</ion-item>\r\n\r\n\r\n\r\n<ion-item [ngClass]=\"getClass(form, data)\" [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && !isMobileScreen()\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n <span kendoTooltip\r\n *ngIf=\"data.TooltipsInfo && showTooltipsInfoIcon\"\r\n [title]=\"tooltipsDisplayText\">\r\n <fa-icon [icon]=\"tooltipsDisplayIcon\"\r\n class=\"tooltipsinfo-icon\">\r\n </fa-icon>\r\n </span>\r\n </ion-label>\r\n <div [class]=\"setTooltipsInfoSideBySide()\">\r\n <div style=\"flex: 1;\">\r\n <kendo-combobox *ngIf=\"!data.Multiple\"\r\n #comboboxComponent\r\n [data]=\"getItemsData()\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"virtual\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!--<span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }}-->\r\n </ng-template>\r\n <ng-template kendoTextBoxSuffixTemplate>\r\n <!--For Validation feature-->\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon\"></app-uivalidationmessage>\r\n </ng-template>\r\n </kendo-combobox>\r\n\r\n\r\n\r\n <kendo-multiselect *ngIf=\"data.Multiple && !data.EnableCheckbox\"\r\n [data]=\"getItemsData()\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [filterable]=\"true\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!--<span class=\"template\">{{ dataItem.value }}</span>--> {{ dataItem.text }}\r\n </ng-template>\r\n </kendo-multiselect>\r\n\r\n\r\n\r\n <kendo-multiselecttree *ngIf=\"data.Multiple && data.EnableCheckbox\"\r\n kendoMultiSelectTreeExpandable\r\n [placeholder]=\"data.PlaceHolder\"\r\n [kendoMultiSelectTreeHierarchyBinding]=\"getItemsData()\"\r\n childrenField=\"items\"\r\n [hasChildren]=\"hasChildren\"\r\n [textField]=\"itemTextField\"\r\n [valueField]=\"itemValueField\"\r\n [valuePrimitive]=\"true\"\r\n (valueChange)=\"onValueChange($event)\"\r\n [dataItems]=\"data.Value\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [expandOnFilter]=\"filterExpandSettings\"\r\n [filterable]=\"true\"\r\n (filterChange)=\"handleMultiSelectTreeFilter($event)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoMultiSelectTreeNoDataTemplate>\r\n <h4>\r\n <span class=\"k-icon k-i-warning\"></span><br /><br />\r\n No record found.\r\n </h4>\r\n </ng-template>\r\n </kendo-multiselecttree>\r\n </div>\r\n\r\n <div *ngFor=\"let item of iconList\">\r\n <div kendoTooltip style=\"text-align: center; padding-top: 10px;\"\r\n showOn=\"hover\"\r\n [tooltipWidth]=\"item.Width\"\r\n [position]=\"item.Position\">\r\n <span *ngIf=\"!!item && item.Color\"\r\n (click)=\"onIconClick(item.Click)\"\r\n [title]=\"item.Tooltip\"\r\n style=\"margin-top: 10px;\">\r\n <fa-icon [icon]=\"item.Icon\"\r\n [ngStyle]=\"{'padding': '4px 6px', 'color': (item.Color ? item.Color : 'black')}\"></fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <ion-button *ngFor=\"let button of buttonList; let i = button\"\r\n fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n style=\"margin-top: 7px;\"\r\n (click)=\"onIconClick(button.click)\"\r\n [hidden]=\"!button.visible\"\r\n [disabled]=\"group.isTriggered || button.disabled\">\r\n <fa-icon *ngIf=\"button.icon\" [icon]=\"getFontAwesome(button.icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.text }}</span>\r\n </ion-button>\r\n\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"></app-uivalidationmessage>\r\n\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && ((showTooltipsInfoBySide && isMobileScreen()) || !isMobileScreen())\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n\r\n </div>\r\n</ion-item>\r\n", styles: ["fa-icon.isItemSelected{display:inline-block;width:1em;height:1em;contain:strict;fill:currentcolor;box-sizing:content-box!important;font-size:20px;margin-top:10px;margin-bottom:14px;margin-right:unset;margin-inline-end:20px}.gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divselectmultiple{justify-content:space-between;width:100%;color:#000}.tooltipsinfo-text{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;margin-left:5px}.tooltipsinfo-text-wide{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;width:100%;padding-bottom:5px}.tooltipsinfo-right{display:grid;grid-template-columns:1.2fr .05fr 1fr;grid-gap:0px}.tooltipsinfo-icon{padding-left:10px;color:#3880ff}\n"], components: [{ type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i4.IonicSelectableComponent, selector: "ionic-selectable", inputs: ["items", "modalCssClass", "modalEnterAnimation", "modalLeaveAnimation", "isConfirmButtonEnabled", "itemValueField", "itemTextField", "groupValueField", "groupTextField", "canSearch", "hasInfiniteScroll", "hasVirtualScroll", "virtualScrollApproxItemHeight", "searchPlaceholder", "placeholder", "searchFailText", "clearButtonText", "addButtonText", "confirmButtonText", "closeButtonText", "shouldFocusSearchbar", "headerColor", "groupColor", "closeButtonSlot", "itemIconSlot", "searchDebounce", "disabledItems", "shouldStoreItemValue", "canSaveItem", "canDeleteItem", "virtualScrollHeaderFn", "isEnabled", "shouldBackdropClose", "hasConfirmButton", "isOnSearchEnabled", "canClear", "isMultiple", "canAddItem"], outputs: ["itemsChange", "onChange", "onSearch", "onSearchFail", "onSearchSuccess", "onInfiniteScroll", "onOpen", "onClose", "onSelect", "onClear", "onSaveItem", "onDeleteItem", "onAddItem"] }, { type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i6.UivalidationmessageComponent, selector: "app-uivalidationmessage", inputs: ["group", "data", "form"] }, { type: i7.ComboBoxComponent, selector: "kendo-combobox", inputs: ["focusableId", "allowCustom", "valueNormalizer", "placeholder", "listHeight", "suggest", "clearButton", "disabled", "readonly", "tabindex", "filterable", "data", "value", "valuePrimitive", "popupSettings", "itemDisabled", "tabIndex", "virtual", "size", "rounded", "fillMode", "loading", "textField", "valueField", "iconClass"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoComboBox"] }, { type: i7.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "tabindex", "disabled", "readonly", "filterable", "listHeight", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "data", "value", "tabIndex", "size", "rounded", "fillMode", "placeholder", "itemDisabled", "checkboxes", "virtual", "popupSettings", "valuePrimitive", "loading", "valueField", "textField"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { type: i7.MultiSelectTreeComponent, selector: "kendo-multiselecttree", inputs: ["valueDepth", "placeholder", "listHeight", "disabled", "readonly", "valuePrimitive", "loadOnDemand", "focusableId", "clearButton", "filterable", "checkAll", "hasChildren", "fetchChildren", "isNodeVisible", "itemDisabled", "tagMapper", "tabindex", "size", "rounded", "fillMode", "popupSettings", "checkableSettings", "data", "value", "dataItems", "isNodeExpanded", "textField", "valueField", "loading"], outputs: ["focus", "blur", "open", "opened", "close", "closed", "nodeExpand", "nodeCollapse", "valueChange", "removeTag", "filterChange"], exportAs: ["kendoMultiSelectTree"] }, { type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.IonicSelectableItemIconTemplateDirective, selector: "[ionicSelectableItemIconTemplate]" }, { type: i4.IonicSelectableCloseButtonTemplateDirective, selector: "[ionicSelectableCloseButtonTemplate]" }, { type: i4.IonicSelectableTitleTemplateDirective, selector: "[ionicSelectableTitleTemplate]" }, { type: i4.IonicSelectableItemTemplateDirective, selector: "[ionicSelectableItemTemplate]" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i10.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "showAfter", "callout", "closable", "offset", "tooltipTemplate", "showOn", "titleTemplate", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle"], exportAs: ["kendoTooltip"] }, { type: i11.OpenOnFocusDirective, selector: "kendo-combobox[openOnFocus]", inputs: ["openOnFocus"] }, { type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.FilterDirective, selector: "[kendoDropDownFilter]", inputs: ["filterable", "data", "kendoDropDownFilter"] }, { type: i7.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i12.TextBoxSuffixTemplateDirective, selector: "[kendoTextBoxSuffixTemplate]" }, { type: i7.DropDownTreesExpandDirective, selector: "[kendoDropDownTreeExpandable], [kendoMultiSelectTreeExpandable]", inputs: ["isNodeExpanded"] }, { type: i7.MultiSelectTreeHierarchyBindingDirective, selector: "[kendoMultiSelectTreeHierarchyBinding]", inputs: ["kendoMultiSelectTreeHierarchyBinding"] }, { type: i7.NoDataTemplateDirective, selector: "[kendoDropDownListNoDataTemplate],[kendoDropDownTreeNoDataTemplate],[kendoComboBoxNoDataTemplate],[kendoMultiColumnComboBoxNoDataTemplate],[kendoAutoCompleteNoDataTemplate],[kendoMultiSelectNoDataTemplate],[kendoMultiSelectTreeNoDataTemplate]" }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
634
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZselectmultipleComponent, decorators: [{
632
+ ZselectmultipleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZselectmultipleComponent, deps: [{ token: i1.ResourceApiService }, { token: i1.WebApiService }, { token: i1.CacheService }, { token: i1.UISignalService }], target: i0.ɵɵFactoryTarget.Component });
633
+ ZselectmultipleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZselectmultipleComponent, selector: "app-zselectmultiple", inputs: { data: "data", group: "group", form: "form", iconList: "iconList", buttonList: "buttonList" }, viewQueries: [{ propertyName: "comboboxComponent", first: true, predicate: ["comboboxComponent"], descendants: true }, { propertyName: "multiselect", first: true, predicate: ["multiselect"], descendants: true }, { propertyName: "multiselecttree", first: true, predicate: ["multiselecttree"], descendants: true }, { propertyName: "selectComponent", first: true, predicate: ["selectComponent"], descendants: true }], ngImport: i0, template: "<ion-item [ngClass]=\"getClass(form, data)\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && isMobileScreen()\">\r\n\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"componentProperties.isRequired\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n\r\n <kendo-label *ngIf=\"data.TooltipsInfo && !showTooltipsInfoIcon && !showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n <div [class]=\"setTooltipsInfoSideBySide()\" *ngIf=\"!isLoading\">\r\n <div style=\"flex-grow: 1;\">\r\n <ionic-selectable #selectComponent item-content\r\n searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\"\r\n clearButtonText=\"Clear\"\r\n [(ngModel)]=\"group.zModel[data.Value]\"\r\n [id]=\"data.Value\"\r\n [items]=\"getItemsData()\"\r\n [itemValueField]=\"itemValueField\"\r\n [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\"\r\n [canClear]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\"\r\n [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\"\r\n [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\"\r\n (onSearch)=\"onSearch($event)\"\r\n (onInfiniteScroll)=\"getInfiniteData($event)\"\r\n (onAddItem)=\"onAddItem($event)\"\r\n (onChange)=\"onChange($event)\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate\r\n let-item=\"item\"\r\n let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\"\r\n class=\"isItemSelected\"\r\n size=\"sm\"\r\n [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableCloseButtonTemplate>\r\n <!-- <ion-icon name=\"close-circle\"></ion-icon> -->\r\n <fa-icon [icon]=\"'times-circle'\" size=\"md\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n {{data.Label}}\r\n <ion-text *ngIf=\"getIsRequiredValue()\" color=\"danger\">*</ion-text>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableItemTemplate let-item=\"item\">\r\n {{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}\r\n <!-- <ng-template zselectitemelement [item]=\"item\"></ng-template> -->\r\n </ng-template>\r\n\r\n <!--<ng-template ionicSelectableFooterTemplate>\r\n <ion-toolbar>\r\n <ion-row>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"clearItems()\">\r\n Clear\r\n </ion-button>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"confirmItems()\">\r\n OK\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n </ng-template>-->\r\n </ionic-selectable>\r\n </div>\r\n <app-uivalidationmessage [group]=\"group\" [data]=\"data\" [form]=\"form\"></app-uivalidationmessage>\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n </div>\r\n</ion-item>\r\n\r\n\r\n\r\n<ion-item [ngClass]=\"getClass(form, data)\" [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && !isMobileScreen()\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n <span kendoTooltip\r\n *ngIf=\"data.TooltipsInfo && showTooltipsInfoIcon\"\r\n [title]=\"tooltipsDisplayText\">\r\n <fa-icon [icon]=\"tooltipsDisplayIcon\"\r\n class=\"tooltipsinfo-icon\">\r\n </fa-icon>\r\n </span>\r\n </ion-label>\r\n <div [class]=\"setTooltipsInfoSideBySide()\">\r\n <div style=\"flex: 1;\">\r\n <kendo-combobox *ngIf=\"!data.Multiple\"\r\n #comboboxComponent\r\n [data]=\"getItemsData()\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"virtual\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!--<span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }}-->\r\n </ng-template>\r\n <ng-template kendoTextBoxSuffixTemplate>\r\n <!--For Validation feature-->\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon\"></app-uivalidationmessage>\r\n </ng-template>\r\n </kendo-combobox>\r\n\r\n\r\n\r\n <kendo-multiselect *ngIf=\"data.Multiple && !data.EnableCheckbox\"\r\n [data]=\"getItemsData()\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [filterable]=\"true\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!--<span class=\"template\">{{ dataItem.value }}</span>--> {{ dataItem.text }}\r\n </ng-template>\r\n </kendo-multiselect>\r\n\r\n\r\n\r\n <kendo-multiselecttree *ngIf=\"data.Multiple && data.EnableCheckbox\"\r\n kendoMultiSelectTreeExpandable\r\n [placeholder]=\"data.PlaceHolder\"\r\n [kendoMultiSelectTreeHierarchyBinding]=\"getItemsData()\"\r\n childrenField=\"items\"\r\n [hasChildren]=\"hasChildren\"\r\n [textField]=\"itemTextField\"\r\n [valueField]=\"itemValueField\"\r\n [valuePrimitive]=\"true\"\r\n (valueChange)=\"onValueChange($event)\"\r\n [dataItems]=\"data.Value\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [expandOnFilter]=\"filterExpandSettings\"\r\n [filterable]=\"true\"\r\n (filterChange)=\"handleMultiSelectTreeFilter($event)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoMultiSelectTreeNoDataTemplate>\r\n <h4>\r\n <span class=\"k-icon k-i-warning\"></span><br /><br />\r\n No record found.\r\n </h4>\r\n </ng-template>\r\n </kendo-multiselecttree>\r\n </div>\r\n\r\n <div *ngFor=\"let item of iconList\">\r\n <div kendoTooltip style=\"text-align: center; padding-top: 10px;\"\r\n showOn=\"hover\"\r\n [tooltipWidth]=\"item.Width\"\r\n [position]=\"item.Position\">\r\n <span *ngIf=\"!!item && item.Color\"\r\n (click)=\"onIconClick(item.Click)\"\r\n [title]=\"item.Tooltip\"\r\n style=\"margin-top: 10px;\">\r\n <fa-icon [icon]=\"item.Icon\"\r\n [ngStyle]=\"{'padding': '4px 6px', 'color': (item.Color ? item.Color : 'black')}\"></fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <ion-button *ngFor=\"let button of buttonList; let i = button\"\r\n fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n style=\"margin-top: 7px;\"\r\n (click)=\"onIconClick(button.click)\"\r\n [hidden]=\"!button.visible\"\r\n [disabled]=\"group.isTriggered || button.disabled\">\r\n <fa-icon *ngIf=\"button.icon\" [icon]=\"getFontAwesome(button.icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.text }}</span>\r\n </ion-button>\r\n\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"></app-uivalidationmessage>\r\n\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && ((showTooltipsInfoBySide && isMobileScreen()) || !isMobileScreen())\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n\r\n </div>\r\n</ion-item>\r\n", styles: ["fa-icon.isItemSelected{display:inline-block;width:1em;height:1em;contain:strict;fill:currentcolor;box-sizing:content-box!important;font-size:20px;margin-top:10px;margin-bottom:14px;margin-right:unset;margin-inline-end:20px}.gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divselectmultiple{justify-content:space-between;width:100%;color:#000}.tooltipsinfo-text{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;margin-left:5px}.tooltipsinfo-text-wide{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;width:100%;padding-bottom:5px}.tooltipsinfo-right{display:grid;grid-template-columns:1.2fr .05fr 1fr;grid-gap:0px}.tooltipsinfo-icon{padding-left:10px;color:#3880ff}\n"], components: [{ type: i2.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i2.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i2.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { type: i3.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i4.IonicSelectableComponent, selector: "ionic-selectable", inputs: ["items", "modalCssClass", "modalEnterAnimation", "modalLeaveAnimation", "isConfirmButtonEnabled", "itemValueField", "itemTextField", "groupValueField", "groupTextField", "canSearch", "hasInfiniteScroll", "hasVirtualScroll", "virtualScrollApproxItemHeight", "searchPlaceholder", "placeholder", "searchFailText", "clearButtonText", "addButtonText", "confirmButtonText", "closeButtonText", "shouldFocusSearchbar", "headerColor", "groupColor", "closeButtonSlot", "itemIconSlot", "searchDebounce", "disabledItems", "shouldStoreItemValue", "canSaveItem", "canDeleteItem", "virtualScrollHeaderFn", "isEnabled", "shouldBackdropClose", "hasConfirmButton", "isOnSearchEnabled", "canClear", "isMultiple", "canAddItem"], outputs: ["itemsChange", "onChange", "onSearch", "onSearchFail", "onSearchSuccess", "onInfiniteScroll", "onOpen", "onClose", "onSelect", "onClear", "onSaveItem", "onDeleteItem", "onAddItem"] }, { type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i6.UivalidationmessageComponent, selector: "app-uivalidationmessage", inputs: ["group", "data", "form"] }, { type: i7.ComboBoxComponent, selector: "kendo-combobox", inputs: ["focusableId", "allowCustom", "valueNormalizer", "placeholder", "listHeight", "suggest", "clearButton", "disabled", "readonly", "tabindex", "filterable", "data", "value", "valuePrimitive", "popupSettings", "itemDisabled", "tabIndex", "virtual", "size", "rounded", "fillMode", "loading", "textField", "valueField", "iconClass"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur"], exportAs: ["kendoComboBox"] }, { type: i7.MultiSelectComponent, selector: "kendo-multiselect", inputs: ["focusableId", "autoClose", "tabindex", "disabled", "readonly", "filterable", "listHeight", "clearButton", "tagMapper", "allowCustom", "valueNormalizer", "data", "value", "tabIndex", "size", "rounded", "fillMode", "placeholder", "itemDisabled", "checkboxes", "virtual", "popupSettings", "valuePrimitive", "loading", "valueField", "textField"], outputs: ["filterChange", "valueChange", "open", "opened", "close", "closed", "focus", "blur", "removeTag"], exportAs: ["kendoMultiSelect"] }, { type: i7.MultiSelectTreeComponent, selector: "kendo-multiselecttree", inputs: ["valueDepth", "placeholder", "listHeight", "disabled", "readonly", "valuePrimitive", "loadOnDemand", "focusableId", "clearButton", "filterable", "checkAll", "hasChildren", "fetchChildren", "isNodeVisible", "itemDisabled", "tagMapper", "tabindex", "size", "rounded", "fillMode", "popupSettings", "checkableSettings", "data", "value", "dataItems", "isNodeExpanded", "textField", "valueField", "loading"], outputs: ["focus", "blur", "open", "opened", "close", "closed", "nodeExpand", "nodeCollapse", "valueChange", "removeTag", "filterChange"], exportAs: ["kendoMultiSelectTree"] }, { type: i2.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }], directives: [{ type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.IonicSelectableItemIconTemplateDirective, selector: "[ionicSelectableItemIconTemplate]" }, { type: i4.IonicSelectableCloseButtonTemplateDirective, selector: "[ionicSelectableCloseButtonTemplate]" }, { type: i4.IonicSelectableTitleTemplateDirective, selector: "[ionicSelectableTitleTemplate]" }, { type: i4.IonicSelectableItemTemplateDirective, selector: "[ionicSelectableItemTemplate]" }, { type: i9.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i9.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i10.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "showAfter", "callout", "closable", "offset", "tooltipTemplate", "showOn", "titleTemplate", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle"], exportAs: ["kendoTooltip"] }, { type: i11.OpenOnFocusDirective, selector: "kendo-combobox[openOnFocus]", inputs: ["openOnFocus"] }, { type: i9.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.FilterDirective, selector: "[kendoDropDownFilter]", inputs: ["filterable", "data", "kendoDropDownFilter"] }, { type: i7.ItemTemplateDirective, selector: "[kendoDropDownListItemTemplate],[kendoComboBoxItemTemplate],[kendoAutoCompleteItemTemplate],[kendoMultiSelectItemTemplate]" }, { type: i12.TextBoxSuffixTemplateDirective, selector: "[kendoTextBoxSuffixTemplate]" }, { type: i7.DropDownTreesExpandDirective, selector: "[kendoDropDownTreeExpandable], [kendoMultiSelectTreeExpandable]", inputs: ["isNodeExpanded"] }, { type: i7.MultiSelectTreeHierarchyBindingDirective, selector: "[kendoMultiSelectTreeHierarchyBinding]", inputs: ["kendoMultiSelectTreeHierarchyBinding"] }, { type: i7.NoDataTemplateDirective, selector: "[kendoDropDownListNoDataTemplate],[kendoDropDownTreeNoDataTemplate],[kendoComboBoxNoDataTemplate],[kendoMultiColumnComboBoxNoDataTemplate],[kendoAutoCompleteNoDataTemplate],[kendoMultiSelectNoDataTemplate],[kendoMultiSelectTreeNoDataTemplate]" }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i8.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
634
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZselectmultipleComponent, decorators: [{
635
635
  type: Component,
636
636
  args: [{ selector: "app-zselectmultiple", template: "<ion-item [ngClass]=\"getClass(form, data)\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && isMobileScreen()\">\r\n\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"componentProperties.isRequired\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n\r\n <kendo-label *ngIf=\"data.TooltipsInfo && !showTooltipsInfoIcon && !showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n <div [class]=\"setTooltipsInfoSideBySide()\" *ngIf=\"!isLoading\">\r\n <div style=\"flex-grow: 1;\">\r\n <ionic-selectable #selectComponent item-content\r\n searchFailText=\"Nothing found :(\"\r\n headerColor=\"primary\"\r\n clearButtonText=\"Clear\"\r\n [(ngModel)]=\"group.zModel[data.Value]\"\r\n [id]=\"data.Value\"\r\n [items]=\"getItemsData()\"\r\n [itemValueField]=\"itemValueField\"\r\n [itemTextField]=\"itemTextField\"\r\n [canAddItem]=\"!!data.OnAddItem\"\r\n [canClear]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [canSearch]=\"!data['disable-search']\"\r\n [shouldFocusSearchbar]=\"!data['disable-search']\"\r\n [hasInfiniteScroll]=\"!!data.HasInfiniteScroll\"\r\n [isMultiple]=\"data.Multiple\"\r\n [isEnabled]=\"!(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [shouldStoreItemValue]=\"true\"\r\n (onSearch)=\"onSearch($event)\"\r\n (onInfiniteScroll)=\"getInfiniteData($event)\"\r\n (onAddItem)=\"onAddItem($event)\"\r\n (onChange)=\"onChange($event)\">\r\n\r\n <ng-template ionicSelectableItemIconTemplate\r\n let-item=\"item\"\r\n let-isItemSelected=\"isItemSelected\">\r\n <fa-icon slot=\"start\"\r\n class=\"isItemSelected\"\r\n size=\"sm\"\r\n [icon]=\"['far', isItemSelected ? 'check-circle': 'circle']\"\r\n [styles]=\"{'color': isItemSelected ? 'dodgerBlue' : 'lightGray'}\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableCloseButtonTemplate>\r\n <!-- <ion-icon name=\"close-circle\"></ion-icon> -->\r\n <fa-icon [icon]=\"'times-circle'\" size=\"md\"></fa-icon>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableTitleTemplate>\r\n {{data.Label}}\r\n <ion-text *ngIf=\"getIsRequiredValue()\" color=\"danger\">*</ion-text>\r\n </ng-template>\r\n\r\n <ng-template ionicSelectableItemTemplate let-item=\"item\">\r\n {{ getItemTemplate(item, data, group, itemValueField, itemTextField) }}\r\n <!-- <ng-template zselectitemelement [item]=\"item\"></ng-template> -->\r\n </ng-template>\r\n\r\n <!--<ng-template ionicSelectableFooterTemplate>\r\n <ion-toolbar>\r\n <ion-row>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"clearItems()\">\r\n Clear\r\n </ion-button>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button expand=\"full\" ng-reflect-disabled=\"false\" ng-reflect-expand=\"full\" class=\"button button-full button-solid ion-activatable ion-focusable hydrated\" (click)=\"confirmItems()\">\r\n OK\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-toolbar>\r\n </ng-template>-->\r\n </ionic-selectable>\r\n </div>\r\n <app-uivalidationmessage [group]=\"group\" [data]=\"data\" [form]=\"form\"></app-uivalidationmessage>\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && showTooltipsInfoBySide\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n </div>\r\n</ion-item>\r\n\r\n\r\n\r\n<ion-item [ngClass]=\"getClass(form, data)\" [formGroup]=\"form\" *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && !isMobileScreen()\">\r\n <ion-label [attr.for]=\"data.Value\" *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n <span kendoTooltip\r\n *ngIf=\"data.TooltipsInfo && showTooltipsInfoIcon\"\r\n [title]=\"tooltipsDisplayText\">\r\n <fa-icon [icon]=\"tooltipsDisplayIcon\"\r\n class=\"tooltipsinfo-icon\">\r\n </fa-icon>\r\n </span>\r\n </ion-label>\r\n <div [class]=\"setTooltipsInfoSideBySide()\">\r\n <div style=\"flex: 1;\">\r\n <kendo-combobox *ngIf=\"!data.Multiple\"\r\n #comboboxComponent\r\n [data]=\"getItemsData()\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [suggest]=\"true\"\r\n [filterable]=\"true\"\r\n [openOnFocus]=\"disableOpenOnFocus(comboboxComponent)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n [loading]=\"isLoading\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n [virtual]=\"virtual\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoComboBoxItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!--<span class=\"template\">{{ dataItem.value }}</span> {{ dataItem.text }}-->\r\n </ng-template>\r\n <ng-template kendoTextBoxSuffixTemplate>\r\n <!--For Validation feature-->\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon\"></app-uivalidationmessage>\r\n </ng-template>\r\n </kendo-combobox>\r\n\r\n\r\n\r\n <kendo-multiselect *ngIf=\"data.Multiple && !data.EnableCheckbox\"\r\n [data]=\"getItemsData()\"\r\n [valueField]=\"itemValueField\"\r\n [textField]=\"itemTextField\"\r\n [formControlName]=\"data.Value\"\r\n [valuePrimitive]=\"true\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [allowCustom]=\"allowCustomValue\"\r\n [filterable]=\"true\"\r\n [checkboxes]=\"data.EnableCheckbox\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [kendoDropDownFilter]=\"filterSettings\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (valueChange)=\"onValueChange($event)\"\r\n (filterChange)=\"handleFilter($event)\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoMultiSelectItemTemplate let-dataItem>\r\n {{ getItemTemplate(dataItem, data, group, itemValueField, itemTextField) }}\r\n <!--<span class=\"template\">{{ dataItem.value }}</span>--> {{ dataItem.text }}\r\n </ng-template>\r\n </kendo-multiselect>\r\n\r\n\r\n\r\n <kendo-multiselecttree *ngIf=\"data.Multiple && data.EnableCheckbox\"\r\n kendoMultiSelectTreeExpandable\r\n [placeholder]=\"data.PlaceHolder\"\r\n [kendoMultiSelectTreeHierarchyBinding]=\"getItemsData()\"\r\n childrenField=\"items\"\r\n [hasChildren]=\"hasChildren\"\r\n [textField]=\"itemTextField\"\r\n [valueField]=\"itemValueField\"\r\n [valuePrimitive]=\"true\"\r\n (valueChange)=\"onValueChange($event)\"\r\n [dataItems]=\"data.Value\"\r\n [loading]=\"isLoading\"\r\n [autoClose]=\"autoClose\"\r\n [expandOnFilter]=\"filterExpandSettings\"\r\n [filterable]=\"true\"\r\n (filterChange)=\"handleMultiSelectTreeFilter($event)\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n (open)=\"handleOpen()\"\r\n (close)=\"handleClose()\"\r\n (blur)=\"handleBlur()\"\r\n style=\"margin-top: 7px; width: 100%;\">\r\n <ng-template kendoMultiSelectTreeNoDataTemplate>\r\n <h4>\r\n <span class=\"k-icon k-i-warning\"></span><br /><br />\r\n No record found.\r\n </h4>\r\n </ng-template>\r\n </kendo-multiselecttree>\r\n </div>\r\n\r\n <div *ngFor=\"let item of iconList\">\r\n <div kendoTooltip style=\"text-align: center; padding-top: 10px;\"\r\n showOn=\"hover\"\r\n [tooltipWidth]=\"item.Width\"\r\n [position]=\"item.Position\">\r\n <span *ngIf=\"!!item && item.Color\"\r\n (click)=\"onIconClick(item.Click)\"\r\n [title]=\"item.Tooltip\"\r\n style=\"margin-top: 10px;\">\r\n <fa-icon [icon]=\"item.Icon\"\r\n [ngStyle]=\"{'padding': '4px 6px', 'color': (item.Color ? item.Color : 'black')}\"></fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n\r\n <ion-button *ngFor=\"let button of buttonList; let i = button\"\r\n fill=\"outline\"\r\n color=\"dark\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n style=\"margin-top: 7px;\"\r\n (click)=\"onIconClick(button.click)\"\r\n [hidden]=\"!button.visible\"\r\n [disabled]=\"group.isTriggered || button.disabled\">\r\n <fa-icon *ngIf=\"button.icon\" [icon]=\"getFontAwesome(button.icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n <span class=\"ion-text-capitalize\">{{ button.text }}</span>\r\n </ion-button>\r\n\r\n <app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"></app-uivalidationmessage>\r\n\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && ((showTooltipsInfoBySide && isMobileScreen()) || !isMobileScreen())\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n\r\n </div>\r\n</ion-item>\r\n", styles: ["fa-icon.isItemSelected{display:inline-block;width:1em;height:1em;contain:strict;fill:currentcolor;box-sizing:content-box!important;font-size:20px;margin-top:10px;margin-bottom:14px;margin-right:unset;margin-inline-end:20px}.gridInlineEdit{--background: transparent}.item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divselectmultiple{justify-content:space-between;width:100%;color:#000}.tooltipsinfo-text{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;margin-left:5px}.tooltipsinfo-text-wide{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;width:100%;padding-bottom:5px}.tooltipsinfo-right{display:grid;grid-template-columns:1.2fr .05fr 1fr;grid-gap:0px}.tooltipsinfo-icon{padding-left:10px;color:#3880ff}\n"] }]
637
637
  }], ctorParameters: function () { return [{ type: i1.ResourceApiService }, { type: i1.WebApiService }, { type: i1.CacheService }, { type: i1.UISignalService }]; }, propDecorators: { comboboxComponent: [{
@@ -16,9 +16,9 @@ export class OpenOnFocusDirective {
16
16
  }
17
17
  }
18
18
  }
19
- OpenOnFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: OpenOnFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
- OpenOnFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.3", type: OpenOnFocusDirective, selector: "kendo-combobox[openOnFocus]", inputs: { openOnFocus: "openOnFocus" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: OpenOnFocusDirective, decorators: [{
19
+ OpenOnFocusDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: OpenOnFocusDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
+ OpenOnFocusDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.4.0", type: OpenOnFocusDirective, selector: "kendo-combobox[openOnFocus]", inputs: { openOnFocus: "openOnFocus" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0 });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: OpenOnFocusDirective, decorators: [{
22
22
  type: Directive,
23
23
  args: [{
24
24
  selector: 'kendo-combobox[openOnFocus]'
@@ -169,9 +169,9 @@ export class ZtabComponent {
169
169
  return ZComponentHelper.getFontAwesome(iconName);
170
170
  }
171
171
  }
172
- ZtabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZtabComponent, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
173
- ZtabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZtabComponent, selector: "app-ztab", inputs: { data: "data", group: "group", form: "form" }, viewQueries: [{ propertyName: "tabstrip", first: true, predicate: ["kendoTabStripInstance"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"margin: 10px 0 6px 0;\"> \r\n <kendo-tabstrip #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter\" color=\"danger\" *ngIf=\"!!tab.Counter\">{{tab.Counter}}</ion-badge>\r\n </ng-template>\r\n <ng-template kendoTabContent> \r\n <div class=\"ion-row\">\r\n <app-zformcontrol \r\n [ngClass]=\"group[field.isVisibleField] ? field.DivClass : \r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\" \r\n *ngFor=\"let field of data.Value | tabfilter: tab.Index + ''\"\r\n [field]=\"field\" [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>", styles: [".tab-item-counter{margin-left:4px}\n"], components: [{ type: i2.TabStripComponent, selector: "kendo-tabstrip", inputs: ["animate", "tabPosition", "keepTabContent", "closable", "closeIcon", "height", "scrollable", "tabAlignment"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i2.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["disabled", "title", "cssClass", "cssStyle", "selected", "closable", "closeIcon"], exportAs: ["kendoTabStripTab"] }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { type: i5.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.TabTitleDirective, selector: "[kendoTabTitle]" }, { type: i2.TabContentDirective, selector: "[kendoTabContent]" }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "tabfilter": i7.TabFilter } });
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZtabComponent, decorators: [{
172
+ ZtabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtabComponent, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
173
+ ZtabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZtabComponent, selector: "app-ztab", inputs: { data: "data", group: "group", form: "form" }, viewQueries: [{ propertyName: "tabstrip", first: true, predicate: ["kendoTabStripInstance"], descendants: true }], ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"margin: 10px 0 6px 0;\"> \r\n <kendo-tabstrip #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter\" color=\"danger\" *ngIf=\"!!tab.Counter\">{{tab.Counter}}</ion-badge>\r\n </ng-template>\r\n <ng-template kendoTabContent> \r\n <div class=\"ion-row\">\r\n <app-zformcontrol \r\n [ngClass]=\"group[field.isVisibleField] ? field.DivClass : \r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\" \r\n *ngFor=\"let field of data.Value | tabfilter: tab.Index + ''\"\r\n [field]=\"field\" [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>", styles: [".tab-item-counter{margin-left:4px}\n"], components: [{ type: i2.TabStripComponent, selector: "kendo-tabstrip", inputs: ["animate", "tabPosition", "keepTabContent", "closable", "closeIcon", "height", "scrollable", "tabAlignment"], outputs: ["tabSelect", "tabClose", "tabScroll"], exportAs: ["kendoTabStrip"] }, { type: i2.TabStripTabComponent, selector: "kendo-tabstrip-tab", inputs: ["disabled", "title", "cssClass", "cssStyle", "selected", "closable", "closeIcon"], exportAs: ["kendoTabStripTab"] }, { type: i3.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { type: i5.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.TabTitleDirective, selector: "[kendoTabTitle]" }, { type: i2.TabContentDirective, selector: "[kendoTabContent]" }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "tabfilter": i7.TabFilter } });
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtabComponent, decorators: [{
175
175
  type: Component,
176
176
  args: [{ selector: 'app-ztab', template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"margin: 10px 0 6px 0;\"> \r\n <kendo-tabstrip #kendoTabStripInstance [keepTabContent]=\"true\" (tabSelect)=\"onTabSelect($event)\">\r\n <kendo-tabstrip-tab *ngFor=\"let tab of state.currentTabs; let i = index\" [selected]=\"getSelectedTab(i)\" [disabled]=\"!tab.Visible\">\r\n <ng-template kendoTabTitle *ngIf=\"tab.Visible\" >\r\n <fa-icon *ngIf=\"!!tab.Icon\" [icon]=\"getFontAwesome(tab.Icon)\" style=\"padding-right: 5px;\"></fa-icon>\r\n {{tab.Label}}\r\n <ion-badge class=\"tab-item-counter\" color=\"danger\" *ngIf=\"!!tab.Counter\">{{tab.Counter}}</ion-badge>\r\n </ng-template>\r\n <ng-template kendoTabContent> \r\n <div class=\"ion-row\">\r\n <app-zformcontrol \r\n [ngClass]=\"group[field.isVisibleField] ? field.DivClass : \r\n ((field.Visible === true) ? field.DivClass : 'flex-hide')\" \r\n *ngFor=\"let field of data.Value | tabfilter: tab.Index + ''\"\r\n [field]=\"field\" [group]=\"group\" [form]=\"form\" id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </ng-template>\r\n </kendo-tabstrip-tab>\r\n </kendo-tabstrip>\r\n</div>", styles: [".tab-item-counter{margin-left:4px}\n"] }]
177
177
  }], ctorParameters: function () { return [{ type: i1.AuthService }]; }, propDecorators: { data: [{
@@ -14,9 +14,9 @@ export class TabFilter {
14
14
  });
15
15
  }
16
16
  }
17
- TabFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: TabFilter, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
- TabFilter.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: TabFilter, name: "tabfilter" });
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: TabFilter, decorators: [{
17
+ TabFilter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TabFilter, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
+ TabFilter.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TabFilter, name: "tabfilter" });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TabFilter, decorators: [{
20
20
  type: Pipe,
21
21
  args: [{
22
22
  name: 'tabfilter',
@@ -278,9 +278,9 @@ export class ZtextComponent {
278
278
  return 'ion-row divtextbox';
279
279
  }
280
280
  }
281
- ZtextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZtextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
282
- ZtextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.3", type: ZtextComponent, selector: "app-ztext", inputs: { data: "data", group: "group", form: "form", iconList: "iconList", adornmentList: "adornmentList" }, ngImport: i0, template: "<ion-item [formGroup]=\"form\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getIon_InvalidClass(form, data)\">\r\n <ion-label [attr.for]=\"data.Value\"\r\n *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\"\r\n [position]=\"data.LabelPosition ? data.LabelPosition : 'stacked'\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n <!-- add icon for tooltips -->\r\n <span kendoTooltip\r\n *ngIf=\"data.TooltipsInfo && showTooltipsInfoIcon\"\r\n [title]=\"tooltipsDisplayText\">\r\n <fa-icon [icon]=\"tooltipsDisplayIcon\"\r\n class=\"tooltipsinfo-icon\">\r\n </fa-icon>\r\n </span>\r\n </ion-label>\r\n <!-- mobile tooltipsinfo below label-->\r\n <kendo-label *ngIf=\"data.TooltipsInfo && !showTooltipsInfoIcon && !showTooltipsInfoBySide && isMobileScreen()\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n <!-- <ion-input [name]=\"data.Name\" [required]=\"data.IsRequired\" [placeholder]=\"data.PlaceHolder\" [type]=\"mapInputType(data.Type)\"\r\n [(ngModel)]=\"group.zModel[data.Value]\" [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"data.ReadOnly\" [inputmode]=\"mapInputMode(data.Type)\"></ion-input> -->\r\n <div [class]=\"setTooltipsInfoSideBySide()\">\r\n <div style=\"flex: 1;\">\r\n <ion-input *ngIf=\"isMobileScreen()\"\r\n [id]=\"data.Value\"\r\n [formControlName]=\"data.Value\"\r\n [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n clearOnEdit\r\n [minlength]=\"data.MinLength\"\r\n [maxlength]=\"data.MaxLength\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngStyle]=\"{'text-align': getStyle(data.RightAlign ? true : false)}\"\r\n [inputmode]=\"mapInputMode(data.Type)\"\r\n (click)='textboxOnClick()'\r\n (ionChange)=\"onChange($event)\">\r\n </ion-input>\r\n <kendo-textbox *ngIf=\"!isMobileScreen()\"\r\n [id]=\"data.Value\"\r\n [formControlName]=\"data.Value\"\r\n [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [clearButton]=\"showClearButton\"\r\n [minlength]=\"data.MinLength\"\r\n [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n [ngStyle]=\"{'text-align': getStyle(data.RightAlign ? true : false)}\"\r\n (input)=\"onChange($event)\"\r\n (click)=\"textboxOnClick()\"\r\n [class]=\"setTextboxClass()\">\r\n\r\n <ng-template kendoTextBoxSuffixTemplate\r\n *ngIf=\"adornmentList\">\r\n <!-- For Validation feature -->\r\n <!--<app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon\"></app-uivalidationmessage>-->\r\n <button kendoButton\r\n *ngIf=\"data.OnClick\"\r\n look=\"clear\"\r\n icon=\"close-circle\"\r\n class=\"textbox-clearbutton\"\r\n (click)=\"readOnlyOnClear()\"></button>\r\n <!-- For Adornments feature -->\r\n <div *ngFor=\"let adornment of adornmentList\">\r\n <kendo-textbox-separator *ngIf=\"!adornment.HideSeperator\"\r\n class=\"textbox-separator\"></kendo-textbox-separator>\r\n <button kendoButton\r\n [look]=\"adornmentLook(adornment)\"\r\n [icon]=\"adornment.Icon\"\r\n (click)=\"onAdornmentClick(adornment)\"\r\n [style.background-color]=\"getAdornmentBackgroundColor(adornment)\"></button>\r\n </div>\r\n </ng-template>\r\n </kendo-textbox>\r\n </div>\r\n <!-- For Validation feature pending change to inner textbox -->\r\n <app-uivalidationmessage *ngIf=\"!isMobileScreen()\"\r\n [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\" ></app-uivalidationmessage>\r\n\r\n <!-- For Mobile Validation feature -->\r\n <app-uivalidationmessage *ngIf=\"isMobileScreen()\"\r\n [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon-mobile\"></app-uivalidationmessage>\r\n\r\n <!-- mobile section for Adornments feature -->\r\n <div *ngFor=\"let adornment of adornmentList\">\r\n <button kendoButton\r\n *ngIf=\"isMobileScreen()\"\r\n [look]=\"adornmentLook(adornment)\"\r\n [icon]=\"adornment.Icon\"\r\n (click)=\"onAdornmentClick(adornment)\"\r\n [style.background-color]=\"getAdornmentBackgroundColor(adornment)\"\r\n class=\"adornments-icon-mobile\"></button>\r\n </div>\r\n\r\n <!-- Icon button feature -->\r\n <div *ngFor=\"let item of iconList\">\r\n <div kendoTooltip\r\n class=\"icon-button\"\r\n showOn=\"hover\"\r\n [tooltipWidth]=\"item.Width\"\r\n [position]=\"item.Position\">\r\n\r\n <span *ngIf=\"!!item \"\r\n (click)=\"onIconClick(item.Click)\"\r\n [title]=\"item.Tooltip\"\r\n style=\"margin-top: 10px;\">\r\n\r\n <fa-icon [icon]=\"item.Icon\"\r\n [ngStyle]=\"{'padding': '4px 6px', 'color': (item.Color ? item.Color : 'black')}\"></fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && ((showTooltipsInfoBySide && isMobileScreen()) || !isMobileScreen())\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n </div>\r\n</ion-item>\r\n", styles: [".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divtextbox{justify-content:space-between;width:100%}.k-textbox{color:var(--z-text-color)}.notmobile-textbox{margin:7px 0 0;width:100%}.notmobile-textbox-onfocus{margin:7px 0 0;width:100%;color:var(--z-text-color)!important;background-color:#fff!important}.validation-icon{margin-top:0;margin-right:5px}.validation-icon-mobile{margin-top:5px;margin-right:5px}.textbox-separator{margin-top:0}.textbox-clearbutton{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;outline:0;cursor:pointer;opacity:.5}.textbox-clearbutton:hover{opacity:100!important}.icon-button{text-align:center;padding-top:10px}.adornments-icon-mobile{margin-bottom:0;margin-left:5px;width:28px;height:28px}.tooltipsinfo-text{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;margin-left:5px;width:50%}.tooltipsinfo-text-wide{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;width:100%;padding-bottom:5px}.tooltipsinfo-right{display:grid;grid-template-columns:3fr 1fr 2fr;grid-gap:0px}.tooltipsinfo-icon{padding-left:10px;color:#3880ff}\n"], components: [{ type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { 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.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i4.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "size", "rounded", "fillMode", "tabIndex", "successIcon", "errorIcon", "clearButtonIcon", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i4.InputSeparatorComponent, selector: "kendo-input-separator, kendo-textbox-separator" }, { type: i5.UivalidationmessageComponent, selector: "app-uivalidationmessage", inputs: ["group", "data", "form"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "showAfter", "callout", "closable", "offset", "tooltipTemplate", "showOn", "titleTemplate", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle"], exportAs: ["kendoTooltip"] }, { type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i7.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.TextBoxSuffixTemplateDirective, selector: "[kendoTextBoxSuffixTemplate]" }, { type: i9.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "role", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImport: i0, type: ZtextComponent, decorators: [{
281
+ ZtextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
282
+ ZtextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ZtextComponent, selector: "app-ztext", inputs: { data: "data", group: "group", form: "form", iconList: "iconList", adornmentList: "adornmentList" }, ngImport: i0, template: "<ion-item [formGroup]=\"form\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getIon_InvalidClass(form, data)\">\r\n <ion-label [attr.for]=\"data.Value\"\r\n *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\"\r\n [position]=\"data.LabelPosition ? data.LabelPosition : 'stacked'\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n <!-- add icon for tooltips -->\r\n <span kendoTooltip\r\n *ngIf=\"data.TooltipsInfo && showTooltipsInfoIcon\"\r\n [title]=\"tooltipsDisplayText\">\r\n <fa-icon [icon]=\"tooltipsDisplayIcon\"\r\n class=\"tooltipsinfo-icon\">\r\n </fa-icon>\r\n </span>\r\n </ion-label>\r\n <!-- mobile tooltipsinfo below label-->\r\n <kendo-label *ngIf=\"data.TooltipsInfo && !showTooltipsInfoIcon && !showTooltipsInfoBySide && isMobileScreen()\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n <!-- <ion-input [name]=\"data.Name\" [required]=\"data.IsRequired\" [placeholder]=\"data.PlaceHolder\" [type]=\"mapInputType(data.Type)\"\r\n [(ngModel)]=\"group.zModel[data.Value]\" [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"data.ReadOnly\" [inputmode]=\"mapInputMode(data.Type)\"></ion-input> -->\r\n <div [class]=\"setTooltipsInfoSideBySide()\">\r\n <div style=\"flex: 1;\">\r\n <ion-input *ngIf=\"isMobileScreen()\"\r\n [id]=\"data.Value\"\r\n [formControlName]=\"data.Value\"\r\n [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n clearOnEdit\r\n [minlength]=\"data.MinLength\"\r\n [maxlength]=\"data.MaxLength\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngStyle]=\"{'text-align': getStyle(data.RightAlign ? true : false)}\"\r\n [inputmode]=\"mapInputMode(data.Type)\"\r\n (click)='textboxOnClick()'\r\n (ionChange)=\"onChange($event)\">\r\n </ion-input>\r\n <kendo-textbox *ngIf=\"!isMobileScreen()\"\r\n [id]=\"data.Value\"\r\n [formControlName]=\"data.Value\"\r\n [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [clearButton]=\"showClearButton\"\r\n [minlength]=\"data.MinLength\"\r\n [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n [ngStyle]=\"{'text-align': getStyle(data.RightAlign ? true : false)}\"\r\n (input)=\"onChange($event)\"\r\n (click)=\"textboxOnClick()\"\r\n [class]=\"setTextboxClass()\">\r\n\r\n <ng-template kendoTextBoxSuffixTemplate\r\n *ngIf=\"adornmentList\">\r\n <!-- For Validation feature -->\r\n <!--<app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon\"></app-uivalidationmessage>-->\r\n <button kendoButton\r\n *ngIf=\"data.OnClick\"\r\n look=\"clear\"\r\n icon=\"close-circle\"\r\n class=\"textbox-clearbutton\"\r\n (click)=\"readOnlyOnClear()\"></button>\r\n <!-- For Adornments feature -->\r\n <div *ngFor=\"let adornment of adornmentList\">\r\n <kendo-textbox-separator *ngIf=\"!adornment.HideSeperator\"\r\n class=\"textbox-separator\"></kendo-textbox-separator>\r\n <button kendoButton\r\n [look]=\"adornmentLook(adornment)\"\r\n [icon]=\"adornment.Icon\"\r\n (click)=\"onAdornmentClick(adornment)\"\r\n [style.background-color]=\"getAdornmentBackgroundColor(adornment)\"></button>\r\n </div>\r\n </ng-template>\r\n </kendo-textbox>\r\n </div>\r\n <!-- For Validation feature pending change to inner textbox -->\r\n <app-uivalidationmessage *ngIf=\"!isMobileScreen()\"\r\n [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\" ></app-uivalidationmessage>\r\n\r\n <!-- For Mobile Validation feature -->\r\n <app-uivalidationmessage *ngIf=\"isMobileScreen()\"\r\n [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon-mobile\"></app-uivalidationmessage>\r\n\r\n <!-- mobile section for Adornments feature -->\r\n <div *ngFor=\"let adornment of adornmentList\">\r\n <button kendoButton\r\n *ngIf=\"isMobileScreen()\"\r\n [look]=\"adornmentLook(adornment)\"\r\n [icon]=\"adornment.Icon\"\r\n (click)=\"onAdornmentClick(adornment)\"\r\n [style.background-color]=\"getAdornmentBackgroundColor(adornment)\"\r\n class=\"adornments-icon-mobile\"></button>\r\n </div>\r\n\r\n <!-- Icon button feature -->\r\n <div *ngFor=\"let item of iconList\">\r\n <div kendoTooltip\r\n class=\"icon-button\"\r\n showOn=\"hover\"\r\n [tooltipWidth]=\"item.Width\"\r\n [position]=\"item.Position\">\r\n\r\n <span *ngIf=\"!!item \"\r\n (click)=\"onIconClick(item.Click)\"\r\n [title]=\"item.Tooltip\"\r\n style=\"margin-top: 10px;\">\r\n\r\n <fa-icon [icon]=\"item.Icon\"\r\n [ngStyle]=\"{'padding': '4px 6px', 'color': (item.Color ? item.Color : 'black')}\"></fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && ((showTooltipsInfoBySide && isMobileScreen()) || !isMobileScreen())\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n </div>\r\n</ion-item>\r\n", styles: [".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divtextbox{justify-content:space-between;width:100%}.k-textbox{color:var(--z-text-color)}.notmobile-textbox{margin:7px 0 0;width:100%}.notmobile-textbox-onfocus{margin:7px 0 0;width:100%;color:var(--z-text-color)!important;background-color:#fff!important}.validation-icon{margin-top:0;margin-right:5px}.validation-icon-mobile{margin-top:5px;margin-right:5px}.textbox-separator{margin-top:0}.textbox-clearbutton{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;outline:0;cursor:pointer;opacity:.5}.textbox-clearbutton:hover{opacity:100!important}.icon-button{text-align:center;padding-top:10px}.adornments-icon-mobile{margin-bottom:0;margin-left:5px;width:28px;height:28px}.tooltipsinfo-text{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;margin-left:5px;width:50%}.tooltipsinfo-text-wide{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;width:100%;padding-bottom:5px}.tooltipsinfo-right{display:grid;grid-template-columns:3fr 1fr 2fr;grid-gap:0px}.tooltipsinfo-icon{padding-left:10px;color:#3880ff}\n"], components: [{ type: i1.IonItem, selector: "ion-item", inputs: ["button", "color", "counter", "counterFormatter", "detail", "detailIcon", "disabled", "download", "fill", "href", "lines", "mode", "rel", "routerAnimation", "routerDirection", "shape", "target", "type"] }, { type: i1.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i1.IonText, selector: "ion-text", inputs: ["color", "mode"] }, { 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.LabelComponent, selector: "kendo-label", inputs: ["text", "for", "optional"], exportAs: ["kendoLabel"] }, { type: i1.IonInput, selector: "ion-input", inputs: ["accept", "autocapitalize", "autocomplete", "autocorrect", "autofocus", "clearInput", "clearOnEdit", "color", "debounce", "disabled", "enterkeyhint", "inputmode", "max", "maxlength", "min", "minlength", "mode", "multiple", "name", "pattern", "placeholder", "readonly", "required", "size", "spellcheck", "step", "type", "value"] }, { type: i4.TextBoxComponent, selector: "kendo-textbox", inputs: ["focusableId", "title", "disabled", "readonly", "tabindex", "value", "selectOnFocus", "showSuccessIcon", "showErrorIcon", "clearButton", "size", "rounded", "fillMode", "tabIndex", "successIcon", "errorIcon", "clearButtonIcon", "placeholder", "maxlength"], outputs: ["valueChange", "inputFocus", "inputBlur", "focus", "blur"], exportAs: ["kendoTextBox"] }, { type: i4.InputSeparatorComponent, selector: "kendo-input-separator, kendo-textbox-separator" }, { type: i5.UivalidationmessageComponent, selector: "app-uivalidationmessage", inputs: ["group", "data", "form"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.TooltipDirective, selector: "[kendoTooltip]", inputs: ["filter", "position", "showAfter", "callout", "closable", "offset", "tooltipTemplate", "showOn", "titleTemplate", "tooltipWidth", "tooltipHeight", "tooltipClass", "collision", "closeTitle"], exportAs: ["kendoTooltip"] }, { type: i1.TextValueAccessor, selector: "ion-input:not([type=number]),ion-textarea,ion-searchbar" }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i7.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { type: i7.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i4.TextBoxSuffixTemplateDirective, selector: "[kendoTextBoxSuffixTemplate]" }, { type: i9.ButtonDirective, selector: "button[kendoButton], span[kendoButton]", inputs: ["toggleable", "role", "togglable", "selected", "tabIndex", "icon", "iconClass", "imageUrl", "disabled", "size", "rounded", "fillMode", "themeColor", "shape", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ZtextComponent, decorators: [{
284
284
  type: Component,
285
285
  args: [{ selector: "app-ztext", template: "<ion-item [formGroup]=\"form\"\r\n *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"getIon_InvalidClass(form, data)\">\r\n <ion-label [attr.for]=\"data.Value\"\r\n *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\"\r\n [position]=\"data.LabelPosition ? data.LabelPosition : 'stacked'\">\r\n {{data.Label}}\r\n <ion-text *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n <!-- add icon for tooltips -->\r\n <span kendoTooltip\r\n *ngIf=\"data.TooltipsInfo && showTooltipsInfoIcon\"\r\n [title]=\"tooltipsDisplayText\">\r\n <fa-icon [icon]=\"tooltipsDisplayIcon\"\r\n class=\"tooltipsinfo-icon\">\r\n </fa-icon>\r\n </span>\r\n </ion-label>\r\n <!-- mobile tooltipsinfo below label-->\r\n <kendo-label *ngIf=\"data.TooltipsInfo && !showTooltipsInfoIcon && !showTooltipsInfoBySide && isMobileScreen()\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n <!-- <ion-input [name]=\"data.Name\" [required]=\"data.IsRequired\" [placeholder]=\"data.PlaceHolder\" [type]=\"mapInputType(data.Type)\"\r\n [(ngModel)]=\"group.zModel[data.Value]\" [minlength]=\"data.MinLength\" [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"data.ReadOnly\" [inputmode]=\"mapInputMode(data.Type)\"></ion-input> -->\r\n <div [class]=\"setTooltipsInfoSideBySide()\">\r\n <div style=\"flex: 1;\">\r\n <ion-input *ngIf=\"isMobileScreen()\"\r\n [id]=\"data.Value\"\r\n [formControlName]=\"data.Value\"\r\n [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n clearOnEdit\r\n [minlength]=\"data.MinLength\"\r\n [maxlength]=\"data.MaxLength\"\r\n [attr.disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngStyle]=\"{'text-align': getStyle(data.RightAlign ? true : false)}\"\r\n [inputmode]=\"mapInputMode(data.Type)\"\r\n (click)='textboxOnClick()'\r\n (ionChange)=\"onChange($event)\">\r\n </ion-input>\r\n <kendo-textbox *ngIf=\"!isMobileScreen()\"\r\n [id]=\"data.Value\"\r\n [formControlName]=\"data.Value\"\r\n [type]=\"mapInputType(data.Type)\"\r\n [placeholder]=\"data.PlaceHolder\"\r\n [clearButton]=\"showClearButton\"\r\n [minlength]=\"data.MinLength\"\r\n [maxlength]=\"data.MaxLength\"\r\n [readonly]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\"\r\n [ngClass]=\"{'disabled' : (!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)}\"\r\n [ngStyle]=\"{'text-align': getStyle(data.RightAlign ? true : false)}\"\r\n (input)=\"onChange($event)\"\r\n (click)=\"textboxOnClick()\"\r\n [class]=\"setTextboxClass()\">\r\n\r\n <ng-template kendoTextBoxSuffixTemplate\r\n *ngIf=\"adornmentList\">\r\n <!-- For Validation feature -->\r\n <!--<app-uivalidationmessage [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon\"></app-uivalidationmessage>-->\r\n <button kendoButton\r\n *ngIf=\"data.OnClick\"\r\n look=\"clear\"\r\n icon=\"close-circle\"\r\n class=\"textbox-clearbutton\"\r\n (click)=\"readOnlyOnClear()\"></button>\r\n <!-- For Adornments feature -->\r\n <div *ngFor=\"let adornment of adornmentList\">\r\n <kendo-textbox-separator *ngIf=\"!adornment.HideSeperator\"\r\n class=\"textbox-separator\"></kendo-textbox-separator>\r\n <button kendoButton\r\n [look]=\"adornmentLook(adornment)\"\r\n [icon]=\"adornment.Icon\"\r\n (click)=\"onAdornmentClick(adornment)\"\r\n [style.background-color]=\"getAdornmentBackgroundColor(adornment)\"></button>\r\n </div>\r\n </ng-template>\r\n </kendo-textbox>\r\n </div>\r\n <!-- For Validation feature pending change to inner textbox -->\r\n <app-uivalidationmessage *ngIf=\"!isMobileScreen()\"\r\n [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\" ></app-uivalidationmessage>\r\n\r\n <!-- For Mobile Validation feature -->\r\n <app-uivalidationmessage *ngIf=\"isMobileScreen()\"\r\n [group]=\"group\"\r\n [data]=\"data\"\r\n [form]=\"form\"\r\n class=\"validation-icon-mobile\"></app-uivalidationmessage>\r\n\r\n <!-- mobile section for Adornments feature -->\r\n <div *ngFor=\"let adornment of adornmentList\">\r\n <button kendoButton\r\n *ngIf=\"isMobileScreen()\"\r\n [look]=\"adornmentLook(adornment)\"\r\n [icon]=\"adornment.Icon\"\r\n (click)=\"onAdornmentClick(adornment)\"\r\n [style.background-color]=\"getAdornmentBackgroundColor(adornment)\"\r\n class=\"adornments-icon-mobile\"></button>\r\n </div>\r\n\r\n <!-- Icon button feature -->\r\n <div *ngFor=\"let item of iconList\">\r\n <div kendoTooltip\r\n class=\"icon-button\"\r\n showOn=\"hover\"\r\n [tooltipWidth]=\"item.Width\"\r\n [position]=\"item.Position\">\r\n\r\n <span *ngIf=\"!!item \"\r\n (click)=\"onIconClick(item.Click)\"\r\n [title]=\"item.Tooltip\"\r\n style=\"margin-top: 10px;\">\r\n\r\n <fa-icon [icon]=\"item.Icon\"\r\n [ngStyle]=\"{'padding': '4px 6px', 'color': (item.Color ? item.Color : 'black')}\"></fa-icon>\r\n </span>\r\n </div>\r\n </div>\r\n <!-- side by side and desktop tooltipsinfo -->\r\n <kendo-label *ngIf=\"tooltipsInfo && !showTooltipsInfoIcon && ((showTooltipsInfoBySide && isMobileScreen()) || !isMobileScreen())\"\r\n [text]=\"tooltipsDisplayText\"\r\n [class]=\"setTooltipsInfoClass()\"\r\n [style.color]=\"setTooltipsInfoColor()\"></kendo-label>\r\n </div>\r\n</ion-item>\r\n", styles: [".item.sc-ion-label-md-h,.item .sc-ion-label-md-h{font-weight:var(--z-label-weight);color:var(--z-label-color);text-shadow:var(--z-label-shadow)}.divtextbox{justify-content:space-between;width:100%}.k-textbox{color:var(--z-text-color)}.notmobile-textbox{margin:7px 0 0;width:100%}.notmobile-textbox-onfocus{margin:7px 0 0;width:100%;color:var(--z-text-color)!important;background-color:#fff!important}.validation-icon{margin-top:0;margin-right:5px}.validation-icon-mobile{margin-top:5px;margin-right:5px}.textbox-separator{margin-top:0}.textbox-clearbutton{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;outline:0;cursor:pointer;opacity:.5}.textbox-clearbutton:hover{opacity:100!important}.icon-button{text-align:center;padding-top:10px}.adornments-icon-mobile{margin-bottom:0;margin-left:5px;width:28px;height:28px}.tooltipsinfo-text{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;margin-left:5px;width:50%}.tooltipsinfo-text-wide{text-align:justify;text-justify:inter-word;word-wrap:break-word;font-size:10px;margin-top:6px;width:100%;padding-bottom:5px}.tooltipsinfo-right{display:grid;grid-template-columns:3fr 1fr 2fr;grid-gap:0px}.tooltipsinfo-icon{padding-left:10px;color:#3880ff}\n"] }]
286
286
  }], ctorParameters: function () { return []; }, propDecorators: { data: [{