mmhglobal-dynamicform 1.2.3 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (198) hide show
  1. package/README.md +14 -2
  2. package/esm2020/lib/directives/fieldelement.directive.mjs +16 -0
  3. package/esm2020/lib/directives/scrollbar.theme.directive.mjs +43 -0
  4. package/esm2020/lib/mmhglobal-dynamicform.module.mjs +464 -0
  5. package/esm2020/lib/services/main.service.mjs +752 -0
  6. package/esm2020/lib/services/zcomponent.debug.service.mjs +621 -0
  7. package/esm2020/lib/services/zcomponent.service.mjs +81 -0
  8. package/esm2020/lib/uiactionbutton/uiactionbutton.component.mjs +265 -0
  9. package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +67 -0
  10. package/esm2020/lib/uicontent/uicontent.component.mjs +41 -0
  11. package/esm2020/lib/uiheader/uiheader.component.mjs +66 -0
  12. package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +35 -0
  13. package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +37 -0
  14. package/{esm2015/lib/uipage/uipage.component.js → esm2020/lib/uipage/uipage.component.mjs} +12 -13
  15. package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +41 -0
  16. package/esm2020/lib/zbullet/zbullet.component.mjs +74 -0
  17. package/esm2020/lib/zbuttons/zbuttons.component.mjs +171 -0
  18. package/esm2020/lib/zcard/zcard.component.mjs +72 -0
  19. package/esm2020/lib/zchart/zchart.component.mjs +201 -0
  20. package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +166 -0
  21. package/esm2020/lib/zchip/zchip.component.mjs +121 -0
  22. package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +169 -0
  23. package/esm2020/lib/zcodeeditor/zcodeeditor.pipe.mjs +60 -0
  24. package/esm2020/lib/zdaterange/zdaterange.component.mjs +70 -0
  25. package/esm2020/lib/zdatetime/dateParser.pipe.mjs +30 -0
  26. package/esm2020/lib/zdatetime/zdatetime.component.mjs +285 -0
  27. package/esm2020/lib/zdiv/zdiv.component.mjs +50 -0
  28. package/esm2020/lib/zdiv/zdiv.pipe.mjs +31 -0
  29. package/esm2020/lib/zform/zform.component.mjs +147 -0
  30. package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +49 -0
  31. package/esm2020/lib/zgauge/zgauge.component.mjs +148 -0
  32. package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +135 -0
  33. package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +490 -0
  34. package/esm2020/lib/zgrid/zgrid.component.mjs +847 -0
  35. package/esm2020/lib/zgrid/zgrid.popup.anchor-target.directive.mjs +17 -0
  36. package/esm2020/lib/zimg/zimg.component.mjs +121 -0
  37. package/esm2020/lib/zkcard/zkcard.component.mjs +367 -0
  38. package/esm2020/lib/zlabel/zlabel.component.mjs +62 -0
  39. package/esm2020/lib/zmfb/zmfb.component.mjs +215 -0
  40. package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +120 -0
  41. package/esm2020/lib/zmodal/zmodal.component.mjs +125 -0
  42. package/esm2020/lib/znumeric/znumeric.component.mjs +119 -0
  43. package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +352 -0
  44. package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +204 -0
  45. package/esm2020/lib/zreport/zreport.component.mjs +105 -0
  46. package/esm2020/lib/zreport/zreport.config.mjs +117 -0
  47. package/esm2020/lib/zscheduler/zscheduler.component.mjs +267 -0
  48. package/{esm2015/lib/zscheduler/zscheduler.toolbar.component.js → esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs} +55 -19
  49. package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +577 -0
  50. package/esm2020/lib/zselectmultiple/zselectmultiple.directive.mjs +35 -0
  51. package/esm2020/lib/ztab/ztab.component.mjs +187 -0
  52. package/esm2020/lib/ztab/ztab.pipe.mjs +26 -0
  53. package/esm2020/lib/ztext/ztext.component.mjs +297 -0
  54. package/esm2020/lib/ztextarea/ztextarea.component.mjs +109 -0
  55. package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +57 -0
  56. package/esm2020/lib/ztree/ztree.component.mjs +380 -0
  57. package/esm2020/lib/ztreelist/ztreelist.component.mjs +544 -0
  58. package/esm2020/lib/ztrendcard/ztrendcard.component.mjs +92 -0
  59. package/esm2020/lib/zudf/zudf.component.mjs +205 -0
  60. package/esm2020/lib/zunknown/zunknown.component.mjs +20 -0
  61. package/esm2020/lib/zupload/zupload.component.mjs +359 -0
  62. package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +216 -0
  63. package/esm2020/mmhglobal-dynamicform.mjs +5 -0
  64. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  65. package/fesm2015/mmhglobal-dynamicform.mjs +10790 -0
  66. package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -0
  67. package/fesm2020/mmhglobal-dynamicform.mjs +10779 -0
  68. package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -0
  69. package/lib/directives/fieldelement.directive.d.ts +3 -0
  70. package/lib/directives/scrollbar.theme.directive.d.ts +3 -0
  71. package/lib/mmhglobal-dynamicform.module.d.ts +92 -0
  72. package/lib/services/main.service.d.ts +3 -0
  73. package/lib/services/zcomponent.debug.service.d.ts +8 -5
  74. package/lib/services/zcomponent.service.d.ts +7 -2
  75. package/lib/uiactionbutton/uiactionbutton.component.d.ts +3 -0
  76. package/lib/uiappmenucontent/uiappmenucontent.component.d.ts +3 -0
  77. package/lib/uicontent/uicontent.component.d.ts +3 -0
  78. package/lib/uiheader/uiheader.component.d.ts +3 -0
  79. package/lib/uimenubutton/uimenubutton.component.d.ts +3 -0
  80. package/lib/uimenucontent/uimenucontent.component.d.ts +3 -0
  81. package/lib/uipage/uipage.component.d.ts +3 -0
  82. package/lib/uivalidationmessage/uivalidationmessage.component.d.ts +3 -0
  83. package/lib/zbullet/zbullet.component.d.ts +3 -0
  84. package/lib/zbuttons/zbuttons.component.d.ts +3 -0
  85. package/lib/zcard/zcard.component.d.ts +3 -0
  86. package/lib/zchart/zchart.component.d.ts +3 -0
  87. package/lib/zcheckbox/zcheckbox.component.d.ts +3 -0
  88. package/lib/zchip/zchip.component.d.ts +3 -0
  89. package/lib/zcodeeditor/zcodeeditor.component.d.ts +3 -0
  90. package/lib/zcodeeditor/zcodeeditor.pipe.d.ts +3 -0
  91. package/lib/zdaterange/zdaterange.component.d.ts +3 -0
  92. package/lib/zdatetime/dateParser.pipe.d.ts +3 -0
  93. package/lib/zdatetime/zdatetime.component.d.ts +3 -0
  94. package/lib/zdiv/zdiv.component.d.ts +3 -0
  95. package/lib/zdiv/zdiv.pipe.d.ts +3 -0
  96. package/lib/zform/zform.component.d.ts +3 -0
  97. package/lib/zformcontrol/zformcontrol.component.d.ts +3 -0
  98. package/lib/zgauge/zgauge.component.d.ts +3 -0
  99. package/lib/zgrid/date-range-cell-filter.component.d.ts +3 -0
  100. package/lib/zgrid/zgrid.binding.directive.d.ts +3 -0
  101. package/lib/zgrid/zgrid.component.d.ts +4 -1
  102. package/lib/zgrid/zgrid.popup.anchor-target.directive.d.ts +3 -0
  103. package/lib/zimg/zimg.component.d.ts +3 -0
  104. package/lib/zkcard/zkcard.component.d.ts +3 -0
  105. package/lib/zlabel/zlabel.component.d.ts +3 -0
  106. package/lib/zmfb/zmfb.component.d.ts +3 -0
  107. package/lib/zmodal/zmodal-mobile.component.d.ts +3 -0
  108. package/lib/zmodal/zmodal.component.d.ts +3 -0
  109. package/lib/znumeric/znumeric.component.d.ts +3 -0
  110. package/lib/zpostselectinput/zpostselectinput.component.d.ts +3 -0
  111. package/lib/zquerybuilder/zquerybuilder.component.d.ts +3 -0
  112. package/lib/zreport/zreport.component.d.ts +3 -0
  113. package/lib/zreport/zreport.config.d.ts +3 -0
  114. package/lib/zscheduler/zscheduler.component.d.ts +3 -0
  115. package/lib/zscheduler/zscheduler.toolbar.component.d.ts +3 -0
  116. package/lib/zselectmultiple/zselectmultiple.component.d.ts +3 -0
  117. package/lib/zselectmultiple/zselectmultiple.directive.d.ts +3 -0
  118. package/lib/ztab/ztab.component.d.ts +3 -0
  119. package/lib/ztab/ztab.pipe.d.ts +3 -0
  120. package/lib/ztext/ztext.component.d.ts +3 -0
  121. package/lib/ztextarea/ztextarea.component.d.ts +3 -0
  122. package/lib/ztexteditor/ztexteditor.component.d.ts +3 -0
  123. package/lib/ztree/ztree.component.d.ts +3 -0
  124. package/lib/ztreelist/ztreelist.component.d.ts +3 -0
  125. package/lib/ztrendcard/ztrendcard.component.d.ts +3 -0
  126. package/lib/zudf/zudf.component.d.ts +3 -0
  127. package/lib/zunknown/zunknown.component.d.ts +3 -0
  128. package/lib/zupload/zupload.component.d.ts +3 -0
  129. package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +3 -0
  130. package/mmhglobal-dynamicform.d.ts +1 -2
  131. package/package.json +20 -11
  132. package/bundles/mmhglobal-dynamicform.umd.js +0 -11360
  133. package/bundles/mmhglobal-dynamicform.umd.js.map +0 -1
  134. package/bundles/mmhglobal-dynamicform.umd.min.js +0 -16
  135. package/bundles/mmhglobal-dynamicform.umd.min.js.map +0 -1
  136. package/esm2015/lib/directives/fieldelement.directive.js +0 -15
  137. package/esm2015/lib/directives/scrollbar.theme.directive.js +0 -42
  138. package/esm2015/lib/mmhglobal-dynamicform.module.js +0 -314
  139. package/esm2015/lib/services/main.service.js +0 -766
  140. package/esm2015/lib/services/zcomponent.debug.service.js +0 -626
  141. package/esm2015/lib/services/zcomponent.service.js +0 -167
  142. package/esm2015/lib/uiactionbutton/uiactionbutton.component.js +0 -271
  143. package/esm2015/lib/uiappmenucontent/uiappmenucontent.component.js +0 -69
  144. package/esm2015/lib/uicontent/uicontent.component.js +0 -41
  145. package/esm2015/lib/uiheader/uiheader.component.js +0 -65
  146. package/esm2015/lib/uimenubutton/uimenubutton.component.js +0 -40
  147. package/esm2015/lib/uimenucontent/uimenucontent.component.js +0 -34
  148. package/esm2015/lib/uivalidationmessage/uivalidationmessage.component.js +0 -39
  149. package/esm2015/lib/zbullet/zbullet.component.js +0 -71
  150. package/esm2015/lib/zbuttons/zbuttons.component.js +0 -168
  151. package/esm2015/lib/zcard/zcard.component.js +0 -68
  152. package/esm2015/lib/zchart/zchart.component.js +0 -199
  153. package/esm2015/lib/zcheckbox/zcheckbox.component.js +0 -158
  154. package/esm2015/lib/zchip/zchip.component.js +0 -117
  155. package/esm2015/lib/zcodeeditor/zcodeeditor.component.js +0 -163
  156. package/esm2015/lib/zcodeeditor/zcodeeditor.pipe.js +0 -56
  157. package/esm2015/lib/zdaterange/zdaterange.component.js +0 -63
  158. package/esm2015/lib/zdatetime/dateParser.pipe.js +0 -26
  159. package/esm2015/lib/zdatetime/zdatetime.component.js +0 -279
  160. package/esm2015/lib/zdiv/zdiv.component.js +0 -48
  161. package/esm2015/lib/zdiv/zdiv.pipe.js +0 -27
  162. package/esm2015/lib/zform/zform.component.js +0 -148
  163. package/esm2015/lib/zformcontrol/zformcontrol.component.js +0 -49
  164. package/esm2015/lib/zgauge/zgauge.component.js +0 -146
  165. package/esm2015/lib/zgrid/date-range-cell-filter.component.js +0 -102
  166. package/esm2015/lib/zgrid/zgrid.binding.directive.js +0 -493
  167. package/esm2015/lib/zgrid/zgrid.component.js +0 -834
  168. package/esm2015/lib/zgrid/zgrid.popup.anchor-target.directive.js +0 -16
  169. package/esm2015/lib/zimg/zimg.component.js +0 -123
  170. package/esm2015/lib/zkcard/zkcard.component.js +0 -372
  171. package/esm2015/lib/zlabel/zlabel.component.js +0 -59
  172. package/esm2015/lib/zmfb/zmfb.component.js +0 -215
  173. package/esm2015/lib/zmodal/zmodal-mobile.component.js +0 -119
  174. package/esm2015/lib/zmodal/zmodal.component.js +0 -130
  175. package/esm2015/lib/znumeric/znumeric.component.js +0 -114
  176. package/esm2015/lib/zpostselectinput/zpostselectinput.component.js +0 -345
  177. package/esm2015/lib/zquerybuilder/zquerybuilder.component.js +0 -196
  178. package/esm2015/lib/zreport/zreport.component.js +0 -104
  179. package/esm2015/lib/zreport/zreport.config.js +0 -115
  180. package/esm2015/lib/zscheduler/zscheduler.component.js +0 -268
  181. package/esm2015/lib/zselectmultiple/zselectmultiple.component.js +0 -565
  182. package/esm2015/lib/zselectmultiple/zselectmultiple.directive.js +0 -28
  183. package/esm2015/lib/ztab/ztab.component.js +0 -180
  184. package/esm2015/lib/ztab/ztab.pipe.js +0 -22
  185. package/esm2015/lib/ztext/ztext.component.js +0 -286
  186. package/esm2015/lib/ztextarea/ztextarea.component.js +0 -104
  187. package/esm2015/lib/ztexteditor/ztexteditor.component.js +0 -52
  188. package/esm2015/lib/ztree/ztree.component.js +0 -374
  189. package/esm2015/lib/ztreelist/ztreelist.component.js +0 -539
  190. package/esm2015/lib/ztrendcard/ztrendcard.component.js +0 -89
  191. package/esm2015/lib/zudf/zudf.component.js +0 -206
  192. package/esm2015/lib/zunknown/zunknown.component.js +0 -20
  193. package/esm2015/lib/zupload/zupload.component.js +0 -358
  194. package/esm2015/lib/zworkflowbuttons/zworkflowbuttons.component.js +0 -215
  195. package/esm2015/mmhglobal-dynamicform.js +0 -7
  196. package/fesm2015/mmhglobal-dynamicform.js +0 -10729
  197. package/fesm2015/mmhglobal-dynamicform.js.map +0 -1
  198. package/mmhglobal-dynamicform.metadata.json +0 -1
@@ -0,0 +1,17 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ZGridPopupAnchorDirective {
4
+ constructor(element) {
5
+ this.element = element;
6
+ }
7
+ }
8
+ ZGridPopupAnchorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZGridPopupAnchorDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
9
+ ZGridPopupAnchorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.4", type: ZGridPopupAnchorDirective, selector: "[popupAnchor]", exportAs: ["popupAnchor"], ngImport: i0 });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZGridPopupAnchorDirective, decorators: [{
11
+ type: Directive,
12
+ args: [{
13
+ selector: '[popupAnchor]',
14
+ exportAs: 'popupAnchor'
15
+ }]
16
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemdyaWQucG9wdXAuYW5jaG9yLXRhcmdldC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96Z3JpZC96Z3JpZC5wb3B1cC5hbmNob3ItdGFyZ2V0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQyxNQUFNLGVBQWUsQ0FBQzs7QUFNeEUsTUFBTSxPQUFPLHlCQUF5QjtJQUNwQyxZQUFtQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBRXRDLENBQUM7O3NIQUhVLHlCQUF5QjswR0FBekIseUJBQXlCOzJGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLFFBQVEsRUFBRSxhQUFhO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbcG9wdXBBbmNob3JdJyxcclxuICBleHBvcnRBczogJ3BvcHVwQW5jaG9yJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgWkdyaWRQb3B1cEFuY2hvckRpcmVjdGl2ZSB7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,121 @@
1
+ /********** Angular **********/
2
+ import { Component, Input } from "@angular/core";
3
+ import { Validators } from '@angular/forms';
4
+ /********** Component & Service **********/
5
+ import { ZComponentHelper, ZComponentProperties } from "mmhglobal-zcore";
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "mmhglobal-zcore";
8
+ import * as i2 from "@ionic/angular";
9
+ import * as i3 from "@angular/common";
10
+ export class ZimgComponent {
11
+ constructor(attachmentService) {
12
+ this.attachmentService = attachmentService;
13
+ this.imgWidth = null;
14
+ this.imgHeight = null;
15
+ this.imgSrc = null;
16
+ this.randomNumber = Math.random();
17
+ this.componentProperties = new ZComponentProperties();
18
+ this.setEnable = (status) => {
19
+ this.componentProperties.isReadOnly = !status;
20
+ };
21
+ this.setVisible = (status) => {
22
+ this.componentProperties.isVisible = status;
23
+ this.data.Visible = status;
24
+ };
25
+ this.setRequire = (status) => {
26
+ this.componentProperties.isRequired = status;
27
+ ZComponentHelper.changeValidator(status, this.group, this.data.Value, this.componentProperties, Validators.required);
28
+ };
29
+ }
30
+ async ngOnInit() {
31
+ ZComponentHelper.setComponentProperties(this);
32
+ ZComponentHelper.registerComponent(this);
33
+ if (this.data.Size && this.data.Size.toLowerCase().indexOf("x") !== -1) {
34
+ const imgSize = this.data.Size.toLowerCase().split("x");
35
+ this.imgWidth = imgSize[0];
36
+ this.imgHeight = imgSize[1];
37
+ }
38
+ this.Guid = this.getGroupValue(this.data['Guid'], this.group); //this.data['Guid'];//this.getGroupValue(this.data['Guid'], this.group);
39
+ this.FileName = this.getGroupValue(this.data['FileName'], this.group); //this.getGroupValue(this.data['FileName'], this.group);
40
+ if (this.Guid != undefined && this.FileName != undefined) {
41
+ let blobfile = await this.attachmentService.getImageBlob(this.FileName, this.Guid);
42
+ this.Image = await this.attachmentService.convertBlobToBase64(blobfile);
43
+ }
44
+ // this.subscription = this.group.zModel$
45
+ // .asObservable()
46
+ // .subscribe((zmodel: any) => {
47
+ // this.onDataSourceChange(zmodel);
48
+ // });
49
+ }
50
+ ngOnDestroy() {
51
+ if (this.subscription) {
52
+ this.subscription.unsubscribe();
53
+ }
54
+ }
55
+ onDataSourceChange() {
56
+ const value = this.getGroupValue(this.data.Value, this.group);
57
+ const sourceUrl = this.getGroupValue(this.data.SourceUrl, this.group);
58
+ if (value && sourceUrl) {
59
+ // this.imgSrc =
60
+ // this.imgSourceAvailable = true;
61
+ return (sourceUrl +
62
+ "?id=" +
63
+ value +
64
+ "&size=" +
65
+ this.data.Size
66
+ // + "&r=" + this.randomNumber
67
+ );
68
+ // console.log("image source: ", this.imgSrc);
69
+ }
70
+ else {
71
+ // this.imgSourceAvailable = false;
72
+ }
73
+ }
74
+ getGroupValue(value, group) {
75
+ return ZComponentHelper.getGroupValue(value, group);
76
+ }
77
+ // getValue(data: string) {
78
+ // let gArray: Array<string>;
79
+ // if (data) {
80
+ // gArray = data.split(".");
81
+ // if (gArray.length === 3 && data.startsWith("group.zModel")) {
82
+ // return this.group.zModel[gArray[2]];
83
+ // } else if (gArray.length === 2 && data.startsWith("group.")) {
84
+ // return this.group[gArray[1]];
85
+ // }
86
+ // }
87
+ // return null;
88
+ // }
89
+ getImgStyle() { }
90
+ onIconClick() {
91
+ const iconClick = ZComponentHelper.getGroupEvalValue.call(this, this.data.OnItemClick, this.group);
92
+ if (typeof iconClick === 'function') {
93
+ return iconClick();
94
+ }
95
+ if (!iconClick) {
96
+ console.warn('ZImg OnItemClick property is invalid: ', iconClick);
97
+ return;
98
+ }
99
+ if (typeof iconClick !== 'function') {
100
+ console.warn('ZImg OnItemClick property is not a function: ', iconClick);
101
+ return;
102
+ }
103
+ }
104
+ getIconName() {
105
+ const iconName = ZComponentHelper.getGroupEvalValue.call(this, this.data.Icon, this.group);
106
+ return iconName;
107
+ }
108
+ }
109
+ ZimgComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZimgComponent, deps: [{ token: i1.AttachmentService }], target: i0.ɵɵFactoryTarget.Component });
110
+ ZimgComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ZimgComponent, selector: "app-zimg", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<ion-item>\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">{{data.Label}} <ion-text\r\n *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <img *ngIf=\"!!getGroupValue(data.Value, group)\" [src]=\"onDataSourceChange()\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n <img *ngIf=\"this.Guid !==undefined && this.Guid !==FileName\" [src]=\"this.Image\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n \r\n <div *ngIf=\"!getGroupValue(data.Value, group)\" (click)=\"onIconClick()\">\r\n <ion-icon name=\"getIconName()\" style=\"zoom:4.0;\">\r\n </ion-icon>\r\n </div>\r\n</ion-item>", styles: [""], 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: i2.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZimgComponent, decorators: [{
112
+ type: Component,
113
+ args: [{ selector: "app-zimg", template: "<ion-item>\r\n <ion-label *ngIf=\"data.ShowLabel === undefined || data.ShowLabel\" position=\"stacked\">{{data.Label}} <ion-text\r\n *ngIf=\"(!!componentProperties.isRequiredField ? group[componentProperties.isRequiredField] : componentProperties.isRequired)\" color=\"danger\">*</ion-text>\r\n </ion-label>\r\n <img *ngIf=\"!!getGroupValue(data.Value, group)\" [src]=\"onDataSourceChange()\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n <img *ngIf=\"this.Guid !==undefined && this.Guid !==FileName\" [src]=\"this.Image\" [width]=\"imgWidth\" [height]=\"imgHeight\" style=\"border-radius: 50%; margin: 5px auto\" />\r\n \r\n <div *ngIf=\"!getGroupValue(data.Value, group)\" (click)=\"onIconClick()\">\r\n <ion-icon name=\"getIconName()\" style=\"zoom:4.0;\">\r\n </ion-icon>\r\n </div>\r\n</ion-item>", styles: [""] }]
114
+ }], ctorParameters: function () { return [{ type: i1.AttachmentService }]; }, propDecorators: { data: [{
115
+ type: Input
116
+ }], group: [{
117
+ type: Input
118
+ }], form: [{
119
+ type: Input
120
+ }] } });
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemltZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi96aW1nL3ppbWcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemltZy96aW1nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQWEsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFPdkQsMkNBQTJDO0FBQzNDLE9BQU8sRUFDTyxnQkFBZ0IsRUFBa0Isb0JBQW9CLEVBRW5FLE1BQU0saUJBQWlCLENBQUM7Ozs7O0FBUXpCLE1BQU0sT0FBTyxhQUFhO0lBZXhCLFlBQW9CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBWHhELGFBQVEsR0FBVyxJQUFJLENBQUM7UUFDeEIsY0FBUyxHQUFXLElBQUksQ0FBQztRQUN6QixXQUFNLEdBQVcsSUFBSSxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzdCLHdCQUFtQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQTZHMUMsY0FBUyxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7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QVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHtcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudFByb3BlcnRpZXMsXHJcbiAgV2ViQXBpU2VydmljZSwgQXR0YWNobWVudFNlcnZpY2VcclxufSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXppbWdcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3ppbWcuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vemltZy5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWmltZ0NvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgaW1nV2lkdGg6IHN0cmluZyA9IG51bGw7XHJcbiAgaW1nSGVpZ2h0OiBzdHJpbmcgPSBudWxsO1xyXG4gIGltZ1NyYzogc3RyaW5nID0gbnVsbDtcclxuICByYW5kb21OdW1iZXIgPSBNYXRoLnJhbmRvbSgpO1xyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICAvLyBpbWdTb3VyY2VBdmFpbGFibGUgPSBmYWxzZTtcclxuICBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgR3VpZDtcclxuICBGaWxlTmFtZTtcclxuICBJbWFnZTpzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdHRhY2htZW50U2VydmljZTogQXR0YWNobWVudFNlcnZpY2UpIHsgfVxyXG5cclxuICBhc3luYyBuZ09uSW5pdCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICBpZiAodGhpcy5kYXRhLlNpemUgJiYgdGhpcy5kYXRhLlNpemUudG9Mb3dlckNhc2UoKS5pbmRleE9mKFwieFwiKSAhPT0gLTEpIHtcclxuICAgICAgY29uc3QgaW1nU2l6ZSA9IHRoaXMuZGF0YS5TaXplLnRvTG93ZXJDYXNlKCkuc3BsaXQoXCJ4XCIpO1xyXG4gICAgICB0aGlzLmltZ1dpZHRoID0gaW1nU2l6ZVswXTtcclxuICAgICAgdGhpcy5pbWdIZWlnaHQgPSBpbWdTaXplWzFdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuR3VpZCA9IHRoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0d1aWQnXSwgdGhpcy5ncm91cCk7Ly90aGlzLmRhdGFbJ0d1aWQnXTsvL3RoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0d1aWQnXSwgdGhpcy5ncm91cCk7XHJcbiAgICB0aGlzLkZpbGVOYW1lID0gICB0aGlzLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhWydGaWxlTmFtZSddLCB0aGlzLmdyb3VwKTsvL3RoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGFbJ0ZpbGVOYW1lJ10sIHRoaXMuZ3JvdXApO1xyXG5cclxuICAgIGlmKHRoaXMuR3VpZCAhPSB1bmRlZmluZWQgJiYgIHRoaXMuRmlsZU5hbWUgIT0gdW5kZWZpbmVkKXtcclxuICAgICAgbGV0IGJsb2JmaWxlID0gYXdhaXQgdGhpcy5hdHRhY2htZW50U2VydmljZS5nZXRJbWFnZUJsb2IodGhpcy5GaWxlTmFtZSwgdGhpcy5HdWlkKTtcclxuICAgICAgdGhpcy5JbWFnZT0gYXdhaXQgdGhpcy5hdHRhY2htZW50U2VydmljZS5jb252ZXJ0QmxvYlRvQmFzZTY0KGJsb2JmaWxlKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgLy8gdGhpcy5zdWJzY3JpcHRpb24gPSB0aGlzLmdyb3VwLnpNb2RlbCRcclxuICAgIC8vICAgLmFzT2JzZXJ2YWJsZSgpXHJcbiAgICAvLyAgIC5zdWJzY3JpYmUoKHptb2RlbDogYW55KSA9PiB7XHJcbiAgICAvLyAgICAgdGhpcy5vbkRhdGFTb3VyY2VDaGFuZ2Uoem1vZGVsKTtcclxuICAgIC8vICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25EYXRhU291cmNlQ2hhbmdlKCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldEdyb3VwVmFsdWUodGhpcy5kYXRhLlZhbHVlLCB0aGlzLmdyb3VwKTtcclxuICAgIGNvbnN0IHNvdXJjZVVybCA9IHRoaXMuZ2V0R3JvdXBWYWx1ZSh0aGlzLmRhdGEuU291cmNlVXJsLCB0aGlzLmdyb3VwKTtcclxuXHJcbiAgICBpZiAodmFsdWUgJiYgc291cmNlVXJsKSB7XHJcbiAgICAgIC8vIHRoaXMuaW1nU3JjID1cclxuICAgICAgLy8gdGhpcy5pbWdTb3VyY2VBdmFpbGFibGUgPSB0cnVlO1xyXG4gICAgICByZXR1cm4gKFxyXG4gICAgICAgIHNvdXJjZVVybCArXHJcbiAgICAgICAgXCI/aWQ9XCIgK1xyXG4gICAgICAgIHZhbHVlICtcclxuICAgICAgICBcIiZzaXplPVwiICtcclxuICAgICAgICB0aGlzLmRhdGEuU2l6ZVxyXG4gICAgICAgIC8vICsgXCImcj1cIiArIHRoaXMucmFuZG9tTnVtYmVyXHJcbiAgICAgICk7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKFwiaW1hZ2Ugc291cmNlOiBcIiwgdGhpcy5pbWdTcmMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gdGhpcy5pbWdTb3VyY2VBdmFpbGFibGUgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEdyb3VwVmFsdWUodmFsdWU6IHN0cmluZywgZ3JvdXA6IGFueSkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZSh2YWx1ZSwgZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0VmFsdWUoZGF0YTogc3RyaW5nKSB7XHJcbiAgLy8gICBsZXQgZ0FycmF5OiBBcnJheTxzdHJpbmc+O1xyXG4gIC8vICAgaWYgKGRhdGEpIHtcclxuICAvLyAgICAgZ0FycmF5ID0gZGF0YS5zcGxpdChcIi5cIik7XHJcblxyXG4gIC8vICAgICBpZiAoZ0FycmF5Lmxlbmd0aCA9PT0gMyAmJiBkYXRhLnN0YXJ0c1dpdGgoXCJncm91cC56TW9kZWxcIikpIHtcclxuICAvLyAgICAgICByZXR1cm4gdGhpcy5ncm91cC56TW9kZWxbZ0FycmF5WzJdXTtcclxuICAvLyAgICAgfSBlbHNlIGlmIChnQXJyYXkubGVuZ3RoID09PSAyICYmIGRhdGEuc3RhcnRzV2l0aChcImdyb3VwLlwiKSkge1xyXG4gIC8vICAgICAgIHJldHVybiB0aGlzLmdyb3VwW2dBcnJheVsxXV07XHJcbiAgLy8gICAgIH1cclxuICAvLyAgIH1cclxuICAvLyAgIHJldHVybiBudWxsO1xyXG4gIC8vIH1cclxuXHJcbiAgZ2V0SW1nU3R5bGUoKTogYW55IHsgfVxyXG5cclxuICBvbkljb25DbGljaygpIHtcclxuICAgIGNvbnN0IGljb25DbGljayA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuT25JdGVtQ2xpY2ssIHRoaXMuZ3JvdXApO1xyXG4gICAgaWYgKHR5cGVvZiBpY29uQ2xpY2sgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIGljb25DbGljaygpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghaWNvbkNsaWNrKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybignWkltZyBPbkl0ZW1DbGljayBwcm9wZXJ0eSBpcyBpbnZhbGlkOiAnLCBpY29uQ2xpY2spO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiBpY29uQ2xpY2sgIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc29sZS53YXJuKCdaSW1nIE9uSXRlbUNsaWNrIHByb3BlcnR5IGlzIG5vdCBhIGZ1bmN0aW9uOiAnLCBpY29uQ2xpY2spO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRJY29uTmFtZSgpIHtcclxuICAgIGNvbnN0IGljb25OYW1lID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5JY29uLCB0aGlzLmdyb3VwKTtcclxuICAgIHJldHVybiBpY29uTmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcbn1cclxuIiwiPGlvbi1pdGVtPlxyXG4gIDxpb24tbGFiZWwgKm5nSWY9XCJkYXRhLlNob3dMYWJlbCA9PT0gdW5kZWZpbmVkIHx8IGRhdGEuU2hvd0xhYmVsXCIgcG9zaXRpb249XCJzdGFja2VkXCI+e3tkYXRhLkxhYmVsfX0gPGlvbi10ZXh0XHJcbiAgICAgICpuZ0lmPVwiKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWRGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQpXCIgY29sb3I9XCJkYW5nZXJcIj4qPC9pb24tdGV4dD5cclxuICA8L2lvbi1sYWJlbD5cclxuICA8aW1nICpuZ0lmPVwiISFnZXRHcm91cFZhbHVlKGRhdGEuVmFsdWUsIGdyb3VwKVwiIFtzcmNdPVwib25EYXRhU291cmNlQ2hhbmdlKClcIiBbd2lkdGhdPVwiaW1nV2lkdGhcIiBbaGVpZ2h0XT1cImltZ0hlaWdodFwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogNTAlOyBtYXJnaW46IDVweCBhdXRvXCIgLz5cclxuICA8aW1nICpuZ0lmPVwidGhpcy5HdWlkICE9PXVuZGVmaW5lZCAmJiB0aGlzLkd1aWQgIT09RmlsZU5hbWVcIiBbc3JjXT1cInRoaXMuSW1hZ2VcIiBbd2lkdGhdPVwiaW1nV2lkdGhcIiBbaGVpZ2h0XT1cImltZ0hlaWdodFwiIHN0eWxlPVwiYm9yZGVyLXJhZGl1czogNTAlOyBtYXJnaW46IDVweCBhdXRvXCIgLz5cclxuIFxyXG4gIDxkaXYgKm5nSWY9XCIhZ2V0R3JvdXBWYWx1ZShkYXRhLlZhbHVlLCBncm91cClcIiAoY2xpY2spPVwib25JY29uQ2xpY2soKVwiPlxyXG4gICAgPGlvbi1pY29uICBuYW1lPVwiZ2V0SWNvbk5hbWUoKVwiIHN0eWxlPVwiem9vbTo0LjA7XCI+XHJcbiAgICA8L2lvbi1pY29uPlxyXG4gIDwvZGl2PlxyXG48L2lvbi1pdGVtPiJdfQ==