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,171 @@
1
+ /********** Angular **********/
2
+ import { Component, Input } from '@angular/core';
3
+ import { Validators } from '@angular/forms';
4
+ /********** Ionic **********/
5
+ /********** Plugin **********/
6
+ /********** Component & Service **********/
7
+ import { ZComponentHelper, ZComponentProperties } from 'mmhglobal-zcore';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "mmhglobal-zcore";
10
+ import * as i2 from "@progress/kendo-angular-buttons";
11
+ import * as i3 from "@ionic/angular";
12
+ import * as i4 from "@fortawesome/angular-fontawesome";
13
+ import * as i5 from "@angular/common";
14
+ export class ZbuttonsComponent {
15
+ constructor(fieldService) {
16
+ this.fieldService = fieldService;
17
+ this.items = [];
18
+ this.FirstZbtn = false;
19
+ this.componentProperties = new ZComponentProperties();
20
+ this.expand = "";
21
+ this.setEnable = (status) => {
22
+ const fc = this.group.form.controls[this.data.Value];
23
+ status ? fc.enable() : fc.disable();
24
+ this.componentProperties.isReadOnly = !status;
25
+ };
26
+ this.setVisible = (status) => {
27
+ this.componentProperties.isVisible = status;
28
+ this.data.Visible = status;
29
+ };
30
+ this.setRequire = (status) => {
31
+ this.componentProperties.isRequired = status;
32
+ ZComponentHelper.changeValidator(status, this.group, this.data.Value, this.componentProperties, Validators.required);
33
+ };
34
+ }
35
+ ngOnInit() {
36
+ ZComponentHelper.setComponentProperties(this);
37
+ ZComponentHelper.registerComponent(this);
38
+ const field$ = this.fieldService.getFormFieldCode(this.data.Value, "FormField", null, null);
39
+ this.group.zButtonsCount++;
40
+ if (this.group.zButtonsCount === 1) {
41
+ this.FirstZbtn = true;
42
+ }
43
+ this.expand = this.data.Expand || "";
44
+ try {
45
+ field$.subscribe(data => {
46
+ // this.items = data;
47
+ data.forEach((button) => {
48
+ if (this.data.SubType) {
49
+ button.Name = this.data.SubType + '_' + button.Name;
50
+ }
51
+ const label = this.getButtonLabel(button);
52
+ let buttonDisabled = null;
53
+ if (button.Disabled != "" && button.Disabled) {
54
+ buttonDisabled = button.Disabled === 'true' ? true : ZComponentHelper.getGroupEvalValue.call(this, button.Disabled);
55
+ }
56
+ const fill = button['Fill'] ? button['Fill'] : 'outline';
57
+ const color = button.Color ? button.Color : 'dark';
58
+ this.items.push({
59
+ name: button.Name,
60
+ text: label,
61
+ icon: ZComponentHelper.getIcon(button.Icon),
62
+ visible: button.Visible,
63
+ disabled: buttonDisabled,
64
+ clickEvent: button.ClickEvent,
65
+ iconName: button.Icon,
66
+ dismissType: button.DismissType,
67
+ disableTriggerTimer: button.DisableTriggerTimer,
68
+ fill: fill,
69
+ color: color,
70
+ SubType: this.data.SubType,
71
+ click: (y) => {
72
+ this.buttonClick(button);
73
+ }
74
+ });
75
+ });
76
+ });
77
+ }
78
+ catch (error) {
79
+ console.error("error: ", error);
80
+ }
81
+ }
82
+ setLabelText(newText, name) {
83
+ const btn = this.items.find(x => x.name === name);
84
+ if (btn) {
85
+ btn.text = newText;
86
+ }
87
+ }
88
+ buttonClick(button) {
89
+ // debugger;
90
+ this.group.isTriggered = true;
91
+ const me = this.group;
92
+ if (!this.data['DisableTriggerTimer']) {
93
+ setTimeout(function () {
94
+ me['isTriggered'] = false;
95
+ }, 500);
96
+ }
97
+ this.group.subject.next({
98
+ type: "buttonClick",
99
+ target: button.ClickEvent,
100
+ data: null
101
+ });
102
+ }
103
+ BtnClick(item) {
104
+ // debugger;
105
+ this.group.isTriggered = true;
106
+ const me = this.group;
107
+ if (!item['disableTriggerTimer']) {
108
+ setTimeout(function () {
109
+ me['isTriggered'] = false;
110
+ }, 500);
111
+ }
112
+ this.group['DismissType'] = item.dismissType;
113
+ this.group.subject.next({
114
+ type: "buttonClick",
115
+ target: item.clickEvent,
116
+ data: item
117
+ });
118
+ }
119
+ getButtonLabel(button) {
120
+ if (button.Label) {
121
+ let labelExpr = button.Label.match(/^{{.*}}$/gi);
122
+ if (labelExpr) {
123
+ labelExpr = labelExpr[0].slice(2, -2);
124
+ const label = ZComponentHelper.getGroupValue(labelExpr, this.group);
125
+ return label;
126
+ }
127
+ else {
128
+ return button.Label;
129
+ }
130
+ }
131
+ else {
132
+ return null;
133
+ }
134
+ }
135
+ getButtonRole(button, label) {
136
+ // console.log("getButtonRole: ", label, button.ClickEvent);
137
+ const lowerCaseLabel = label.toLowerCase();
138
+ if (lowerCaseLabel.indexOf("cancel") !== -1 ||
139
+ lowerCaseLabel.indexOf("close") !== -1) {
140
+ return "cancel";
141
+ }
142
+ return null;
143
+ }
144
+ isMobileScreen() {
145
+ const v = ZComponentHelper.isMobileScreen();
146
+ return v;
147
+ }
148
+ isBtnVisible(fieldExpr) {
149
+ if (fieldExpr !== false && !fieldExpr) {
150
+ return true;
151
+ }
152
+ const v = ZComponentHelper.getGroupEvalValue.call(this, fieldExpr);
153
+ return v;
154
+ }
155
+ getFontAwesome(iconName) {
156
+ return ZComponentHelper.getFontAwesome(iconName);
157
+ }
158
+ }
159
+ ZbuttonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZbuttonsComponent, deps: [{ token: i1.FieldService }], target: i0.ɵɵFactoryTarget.Component });
160
+ ZbuttonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ZbuttonsComponent, selector: "app-zbuttons", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<!-- <p>\r\n zbuttons {{data.Value}}\r\n</p> -->\r\n<div *ngIf=\"data.AlignButton\" style=\"padding-top: 13px\"></div>\r\n<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && items.length > 0\">\r\n\r\n <div class=\"ion-margin-vertical\" *ngIf=\"isMobileScreen() && items.length > 1 && FirstZbtn === false\">\r\n <kendo-dropdownbutton [data]=\"items\" size=\"large\" [look]=\"'outline'\" class=\"ion-activatable ripple-parent\">\r\n Actions\r\n <ng-template kendoDropDownButtonItemTemplate let-dataItem>\r\n <!-- <span class=\"k-icon k-i-{{ dataItem.icon }}\"></span> -->\r\n <span>{{ dataItem.text }}</span>\r\n </ng-template>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </kendo-dropdownbutton>\r\n </div>\r\n\r\n <div *ngIf=\"!isMobileScreen() || items.length === 1 \" style=\"padding: 10px 0px;\" [class]=\"data.DivClass\">\r\n <!-- <button *ngFor=\"let item of items; let i = index\" (click)=\"BtnClick(item.clickEvent)\"\r\n kendoButton [togglable]=\"true\" [icon]=\"item.icon\" [hidden]=\"!isBtnVisible(item.visible)\"\r\n style=\"margin-right: 5px;\">{{item.text}}</button> -->\r\n <ion-button *ngFor=\"let item of items; let i = index\"\r\n [fill]=\"item.fill\"\r\n [color]=\"item.color\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n (click)=\"BtnClick(item)\"\r\n [expand]=\"expand\"\r\n [hidden]=\"!isBtnVisible(item.visible)\"\r\n [disabled]=\"group.isTriggered || item.disabled\">\r\n <fa-icon [icon]=\"getFontAwesome(item.icon)\"></fa-icon>\r\n <div *ngIf=\"item.text\" style=\"padding-right: 5px;\"></div>\r\n <span class=\"ion-text-capitalize\">{{item.text}}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".ripple-parent{position:relative;overflow:hidden}:host ::ng-deep span.ion-text-capitalize{font-weight:600}.button-container{font-size:12px;height:30px}.button:hover{font-size:12px;height:30px;border-radius:5px}\n"], components: [{ type: i2.DropDownButtonComponent, selector: "kendo-dropdownbutton", inputs: ["icon", "iconClass", "imageUrl", "size", "shape", "rounded", "themeColor", "tabIndex", "popupSettings", "disabled", "data", "fillMode", "textField", "buttonClass"], outputs: ["itemClick", "open", "close", "focus", "blur"], exportAs: ["kendoDropDownButton"] }, { type: i3.IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }, { type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.ButtonItemTemplateDirective, selector: "[kendoDropDownButtonItemTemplate],[kendoSplitButtonItemTemplate]" }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
161
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZbuttonsComponent, decorators: [{
162
+ type: Component,
163
+ args: [{ selector: "app-zbuttons", template: "<!-- <p>\r\n zbuttons {{data.Value}}\r\n</p> -->\r\n<div *ngIf=\"data.AlignButton\" style=\"padding-top: 13px\"></div>\r\n<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible) && items.length > 0\">\r\n\r\n <div class=\"ion-margin-vertical\" *ngIf=\"isMobileScreen() && items.length > 1 && FirstZbtn === false\">\r\n <kendo-dropdownbutton [data]=\"items\" size=\"large\" [look]=\"'outline'\" class=\"ion-activatable ripple-parent\">\r\n Actions\r\n <ng-template kendoDropDownButtonItemTemplate let-dataItem>\r\n <!-- <span class=\"k-icon k-i-{{ dataItem.icon }}\"></span> -->\r\n <span>{{ dataItem.text }}</span>\r\n </ng-template>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </kendo-dropdownbutton>\r\n </div>\r\n\r\n <div *ngIf=\"!isMobileScreen() || items.length === 1 \" style=\"padding: 10px 0px;\" [class]=\"data.DivClass\">\r\n <!-- <button *ngFor=\"let item of items; let i = index\" (click)=\"BtnClick(item.clickEvent)\"\r\n kendoButton [togglable]=\"true\" [icon]=\"item.icon\" [hidden]=\"!isBtnVisible(item.visible)\"\r\n style=\"margin-right: 5px;\">{{item.text}}</button> -->\r\n <ion-button *ngFor=\"let item of items; let i = index\"\r\n [fill]=\"item.fill\"\r\n [color]=\"item.color\"\r\n size=\"small\"\r\n strong=\"false\"\r\n class=\"button-container\"\r\n (click)=\"BtnClick(item)\"\r\n [expand]=\"expand\"\r\n [hidden]=\"!isBtnVisible(item.visible)\"\r\n [disabled]=\"group.isTriggered || item.disabled\">\r\n <fa-icon [icon]=\"getFontAwesome(item.icon)\"></fa-icon>\r\n <div *ngIf=\"item.text\" style=\"padding-right: 5px;\"></div>\r\n <span class=\"ion-text-capitalize\">{{item.text}}</span>\r\n </ion-button>\r\n </div>\r\n</div>\r\n", styles: [".ripple-parent{position:relative;overflow:hidden}:host ::ng-deep span.ion-text-capitalize{font-weight:600}.button-container{font-size:12px;height:30px}.button:hover{font-size:12px;height:30px;border-radius:5px}\n"] }]
164
+ }], ctorParameters: function () { return [{ type: i1.FieldService }]; }, propDecorators: { data: [{
165
+ type: Input
166
+ }], group: [{
167
+ type: Input
168
+ }], form: [{
169
+ type: Input
170
+ }] } });
171
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemJ1dHRvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemJ1dHRvbnMvemJ1dHRvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemJ1dHRvbnMvemJ1dHRvbnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBYSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RCw2QkFBNkI7QUFFN0IsOEJBQThCO0FBRTlCLDJDQUEyQztBQUMzQyxPQUFPLEVBQ3FCLGdCQUFnQixFQUNuQixvQkFBb0IsRUFDNUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7OztBQVF6QixNQUFNLE9BQU8saUJBQWlCO0lBVTVCLFlBQ1UsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFOcEMsVUFBSyxHQUFlLEVBQUUsQ0FBQztRQUN2QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHdCQUFtQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQUNqRCxXQUFNLEdBQUcsRUFBRSxDQUFDO1FBc0pMLGNBQVMsR0FBRyxDQUFDLE1BQWUsRUFBRSxFQUFFO1lBQ3JDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFD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O2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgXHJcbiAgRmllbGRTZXJ2aWNlLCBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLCBcclxuICBaQ29tcG9uZW50T3V0cHV0RXZlbnQsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBaRmllbGQsIFpHcm91cCwgRm9udEF3ZVNvbWVTZXJ2aWNlXHJcbn0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtemJ1dHRvbnNcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pidXR0b25zLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3pidXR0b25zLmNvbXBvbmVudC5zY3NzXCJdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBaYnV0dG9uc0NvbXBvbmVudCBpbXBsZW1lbnRzIFpDb21wb25lbnQsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgZGF0YTogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIEZpcnN0WmJ0biA9IGZhbHNlO1xyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICBleHBhbmQgPSBcIlwiO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZmllbGRTZXJ2aWNlOiBGaWVsZFNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcblxyXG4gICAgY29uc3QgZmllbGQkID0gdGhpcy5maWVsZFNlcnZpY2UuZ2V0Rm9ybUZpZWxkQ29kZShcclxuICAgICAgdGhpcy5kYXRhLlZhbHVlLFxyXG4gICAgICBcIkZvcm1GaWVsZFwiLCBudWxsLCBudWxsXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuZ3JvdXAuekJ1dHRvbnNDb3VudCsrO1xyXG4gICAgaWYgKHRoaXMuZ3JvdXAuekJ1dHRvbnNDb3VudCA9PT0gMSkge1xyXG4gICAgICB0aGlzLkZpcnN0WmJ0biA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5leHBhbmQgPSB0aGlzLmRhdGEuRXhwYW5kIHx8IFwiXCI7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgZmllbGQkLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAvLyB0aGlzLml0ZW1zID0gZGF0YTtcclxuICAgICAgICBkYXRhLmZvckVhY2goKGJ1dHRvbjogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAodGhpcy5kYXRhLlN1YlR5cGUpIHtcclxuICAgICAgICAgICAgYnV0dG9uLk5hbWUgPSB0aGlzLmRhdGEuU3ViVHlwZSArICdfJyArIGJ1dHRvbi5OYW1lOyAgXHJcbiAgICAgICAgICB9IFxyXG5cclxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gdGhpcy5nZXRCdXR0b25MYWJlbChidXR0b24pO1xyXG5cclxuICAgICAgICAgIGxldCBidXR0b25EaXNhYmxlZCA9IG51bGw7XHJcblxyXG4gICAgICAgICAgaWYgKGJ1dHRvbi5EaXNhYmxlZCAhPSBcIlwiICYmIGJ1dHRvbi5EaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBidXR0b25EaXNhYmxlZCA9IGJ1dHRvbi5EaXNhYmxlZCA9PT0gJ3RydWUnID8gdHJ1ZSA6IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBidXR0b24uRGlzYWJsZWQpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGNvbnN0IGZpbGwgPSBidXR0b25bJ0ZpbGwnXSA/IGJ1dHRvblsnRmlsbCddIDogJ291dGxpbmUnO1xyXG4gICAgICAgICAgY29uc3QgY29sb3IgPSBidXR0b24uQ29sb3IgPyBidXR0b24uQ29sb3IgOiAnZGFyayc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pdGVtcy5wdXNoKHtcclxuICAgICAgICAgICAgbmFtZTogYnV0dG9uLk5hbWUsXHJcbiAgICAgICAgICAgIHRleHQ6IGxhYmVsLFxyXG4gICAgICAgICAgICBpY29uOiBaQ29tcG9uZW50SGVscGVyLmdldEljb24oYnV0dG9uLkljb24pLFxyXG4gICAgICAgICAgICB2aXNpYmxlOiBidXR0b24uVmlzaWJsZSxcclxuICAgICAgICAgICAgZGlzYWJsZWQ6IGJ1dHRvbkRpc2FibGVkLFxyXG4gICAgICAgICAgICBjbGlja0V2ZW50OiBidXR0b24uQ2xpY2tFdmVudCxcclxuICAgICAgICAgICAgaWNvbk5hbWU6IGJ1dHRvbi5JY29uLFxyXG4gICAgICAgICAgICBkaXNtaXNzVHlwZTogYnV0dG9uLkRpc21pc3NUeXBlLFxyXG4gICAgICAgICAgICBkaXNhYmxlVHJpZ2dlclRpbWVyOiBidXR0b24uRGlzYWJsZVRyaWdnZXJUaW1lcixcclxuICAgICAgICAgICAgZmlsbDogZmlsbCxcclxuICAgICAgICAgICAgY29sb3I6IGNvbG9yLFxyXG4gICAgICAgICAgICBTdWJUeXBlOiB0aGlzLmRhdGEuU3ViVHlwZSxcclxuICAgICAgICAgICAgY2xpY2s6ICh5KSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5idXR0b25DbGljayhidXR0b24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTsgXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihcImVycm9yOiBcIiwgZXJyb3IpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldExhYmVsVGV4dChuZXdUZXh0OiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgYnRuID0gdGhpcy5pdGVtcy5maW5kKHggPT4geC5uYW1lID09PSBuYW1lKTtcclxuICAgIGlmIChidG4pIHtcclxuICAgICAgYnRuLnRleHQgPSBuZXdUZXh0O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidXR0b25DbGljayhidXR0b246IGFueSkge1xyXG4gICAgLy8gZGVidWdnZXI7XHJcbiAgICB0aGlzLmdyb3VwLmlzVHJpZ2dlcmVkID0gdHJ1ZTtcclxuICAgIGNvbnN0IG1lID0gdGhpcy5ncm91cDtcclxuICAgIGlmICghdGhpcy5kYXRhWydEaXNhYmxlVHJpZ2dlclRpbWVyJ10pIHtcclxuICAgICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgbWVbJ2lzVHJpZ2dlcmVkJ10gPSBmYWxzZTtcclxuICAgICAgfSwgNTAwKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgdHlwZTogXCJidXR0b25DbGlja1wiLFxyXG4gICAgICB0YXJnZXQ6IGJ1dHRvbi5DbGlja0V2ZW50LFxyXG4gICAgICBkYXRhOiBudWxsXHJcbiAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgfVxyXG5cclxuICBCdG5DbGljayhpdGVtOiBhbnkpIHtcclxuICAgIC8vIGRlYnVnZ2VyO1xyXG4gICAgdGhpcy5ncm91cC5pc1RyaWdnZXJlZCA9IHRydWU7XHJcbiAgICBjb25zdCBtZSA9IHRoaXMuZ3JvdXA7XHJcbiAgICBpZiAoIWl0ZW1bJ2Rpc2FibGVUcmlnZ2VyVGltZXInXSkge1xyXG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBtZVsnaXNUcmlnZ2VyZWQnXSA9IGZhbHNlO1xyXG4gICAgICB9LCA1MDApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ncm91cFsnRGlzbWlzc1R5cGUnXSA9IGl0ZW0uZGlzbWlzc1R5cGU7XHJcbiAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgIHR5cGU6IFwiYnV0dG9uQ2xpY2tcIixcclxuICAgICAgdGFyZ2V0OiBpdGVtLmNsaWNrRXZlbnQsXHJcbiAgICAgIGRhdGE6IGl0ZW1cclxuICAgIH0gYXMgWkNvbXBvbmVudE91dHB1dEV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0QnV0dG9uTGFiZWwoYnV0dG9uOiBhbnkpIHtcclxuICAgIGlmIChidXR0b24uTGFiZWwpIHtcclxuICAgICAgbGV0IGxhYmVsRXhwciA9IGJ1dHRvbi5MYWJlbC5tYXRjaCgvXnt7Lip9fSQvZ2kpO1xyXG4gICAgICBpZiAobGFiZWxFeHByKSB7XHJcbiAgICAgICAgbGFiZWxFeHByID0gbGFiZWxFeHByWzBdLnNsaWNlKDIsIC0yKTtcclxuICAgICAgICBjb25zdCBsYWJlbCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShsYWJlbEV4cHIsIHRoaXMuZ3JvdXApO1xyXG4gICAgICAgIHJldHVybiBsYWJlbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gYnV0dG9uLkxhYmVsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEJ1dHRvblJvbGUoYnV0dG9uOiBhbnksIGxhYmVsOiBzdHJpbmcpIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKFwiZ2V0QnV0dG9uUm9sZTogXCIsIGxhYmVsLCBidXR0b24uQ2xpY2tFdmVudCk7XHJcbiAgICBjb25zdCBsb3dlckNhc2VMYWJlbCA9IGxhYmVsLnRvTG93ZXJDYXNlKCk7XHJcbiAgICBpZiAoXHJcbiAgICAgIGxvd2VyQ2FzZUxhYmVsLmluZGV4T2YoXCJjYW5jZWxcIikgIT09IC0xIHx8XHJcbiAgICAgIGxvd2VyQ2FzZUxhYmVsLmluZGV4T2YoXCJjbG9zZVwiKSAhPT0gLTFcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gXCJjYW5jZWxcIjtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgaXNNb2JpbGVTY3JlZW4oKSB7XHJcbiAgICBjb25zdCB2ID0gWkNvbXBvbmVudEhlbHBlci5pc01vYmlsZVNjcmVlbigpO1xyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG5cclxuICBpc0J0blZpc2libGUoZmllbGRFeHByKSB7XHJcbiAgICBpZiAoZmllbGRFeHByICE9PSBmYWxzZSAmJiAhZmllbGRFeHByKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdiA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBmaWVsZEV4cHIpO1xyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG5cclxuICBnZXRGb250QXdlc29tZShpY29uTmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRGb250QXdlc29tZShpY29uTmFtZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0RW5hYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgY29uc3QgZmMgPSB0aGlzLmdyb3VwLmZvcm0uY29udHJvbHNbdGhpcy5kYXRhLlZhbHVlXTtcclxuICAgIHN0YXR1cyA/IGZjLmVuYWJsZSgpIDogZmMuZGlzYWJsZSgpO1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHkgPSAhc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpc2libGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlID0gc3RhdHVzO1xyXG4gICAgdGhpcy5kYXRhLlZpc2libGUgPSBzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0UmVxdWlyZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlcXVpcmVkID0gc3RhdHVzO1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5jaGFuZ2VWYWxpZGF0b3Ioc3RhdHVzLCB0aGlzLmdyb3VwLCB0aGlzLmRhdGEuVmFsdWUsIHRoaXMuY29tcG9uZW50UHJvcGVydGllcywgVmFsaWRhdG9ycy5yZXF1aXJlZCk7XHJcbiAgfVxyXG59XHJcbiIsIjwhLS0gPHA+XHJcbiAgemJ1dHRvbnMge3tkYXRhLlZhbHVlfX1cclxuPC9wPiAtLT5cclxuPGRpdiAqbmdJZj1cImRhdGEuQWxpZ25CdXR0b25cIiBzdHlsZT1cInBhZGRpbmctdG9wOiAxM3B4XCI+PC9kaXY+XHJcbjxkaXYgKm5nSWY9XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkID8gZ3JvdXBbY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZF0gOiBjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSkgJiYgaXRlbXMubGVuZ3RoID4gMFwiPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiaW9uLW1hcmdpbi12ZXJ0aWNhbFwiICpuZ0lmPVwiaXNNb2JpbGVTY3JlZW4oKSAmJiBpdGVtcy5sZW5ndGggPiAxICYmIEZpcnN0WmJ0biA9PT0gZmFsc2VcIj5cclxuICAgIDxrZW5kby1kcm9wZG93bmJ1dHRvbiBbZGF0YV09XCJpdGVtc1wiIHNpemU9XCJsYXJnZVwiIFtsb29rXT1cIidvdXRsaW5lJ1wiIGNsYXNzPVwiaW9uLWFjdGl2YXRhYmxlIHJpcHBsZS1wYXJlbnRcIj5cclxuICAgICAgQWN0aW9uc1xyXG4gICAgICA8bmctdGVtcGxhdGUga2VuZG9Ecm9wRG93bkJ1dHRvbkl0ZW1UZW1wbGF0ZSBsZXQtZGF0YUl0ZW0+XHJcbiAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImstaWNvbiBrLWkte3sgZGF0YUl0ZW0uaWNvbiB9fVwiPjwvc3Bhbj4gLS0+XHJcbiAgICAgICAgPHNwYW4+e3sgZGF0YUl0ZW0udGV4dCB9fTwvc3Bhbj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPGlvbi1yaXBwbGUtZWZmZWN0PjwvaW9uLXJpcHBsZS1lZmZlY3Q+XHJcbiAgICA8L2tlbmRvLWRyb3Bkb3duYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2ICpuZ0lmPVwiIWlzTW9iaWxlU2NyZWVuKCkgfHwgaXRlbXMubGVuZ3RoID09PSAxIFwiIHN0eWxlPVwicGFkZGluZzogMTBweCAwcHg7XCIgW2NsYXNzXT1cImRhdGEuRGl2Q2xhc3NcIj5cclxuICAgIDwhLS0gPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGkgPSBpbmRleFwiIChjbGljayk9XCJCdG5DbGljayhpdGVtLmNsaWNrRXZlbnQpXCJcclxuICAgIGtlbmRvQnV0dG9uIFt0b2dnbGFibGVdPVwidHJ1ZVwiIFtpY29uXT1cIml0ZW0uaWNvblwiIFtoaWRkZW5dPVwiIWlzQnRuVmlzaWJsZShpdGVtLnZpc2libGUpXCJcclxuICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA1cHg7XCI+e3tpdGVtLnRleHR9fTwvYnV0dG9uPiAtLT5cclxuICAgIDxpb24tYnV0dG9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgICAgICAgIFtmaWxsXT1cIml0ZW0uZmlsbFwiXHJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiaXRlbS5jb2xvclwiXHJcbiAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb25nPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJidXR0b24tY29udGFpbmVyXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJCdG5DbGljayhpdGVtKVwiXHJcbiAgICAgICAgICAgICAgICBbZXhwYW5kXT1cImV4cGFuZFwiXHJcbiAgICAgICAgICAgICAgICBbaGlkZGVuXT1cIiFpc0J0blZpc2libGUoaXRlbS52aXNpYmxlKVwiXHJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZ3JvdXAuaXNUcmlnZ2VyZWQgfHwgaXRlbS5kaXNhYmxlZFwiPlxyXG4gICAgICA8ZmEtaWNvbiBbaWNvbl09XCJnZXRGb250QXdlc29tZShpdGVtLmljb24pXCI+PC9mYS1pY29uPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiaXRlbS50ZXh0XCIgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiA1cHg7XCI+PC9kaXY+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaW9uLXRleHQtY2FwaXRhbGl6ZVwiPnt7aXRlbS50ZXh0fX08L3NwYW4+XHJcbiAgICA8L2lvbi1idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -0,0 +1,72 @@
1
+ /********** Angular **********/
2
+ import { Component, Input } from "@angular/core";
3
+ /********** Ionic **********/
4
+ /********** Plugin **********/
5
+ /********** Component & Service **********/
6
+ import { ZComponentHelper, ZComponentProperties } from "mmhglobal-zcore";
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "mmhglobal-zcore";
9
+ import * as i2 from "@progress/kendo-angular-layout";
10
+ import * as i3 from "@fortawesome/angular-fontawesome";
11
+ import * as i4 from "@ionic/angular";
12
+ import * as i5 from "../zformcontrol/zformcontrol.component";
13
+ import * as i6 from "@angular/common";
14
+ export class ZcardComponent {
15
+ constructor(authService) {
16
+ this.authService = authService;
17
+ // classStyleObservables: Array<BehaviorSubject<string>>;
18
+ this.componentProperties = new ZComponentProperties();
19
+ this.options = {
20
+ Title: '',
21
+ Icon: 'Folder'
22
+ };
23
+ this.setVisible = (status) => {
24
+ this.componentProperties.isVisible = status;
25
+ this.data.Visible = status;
26
+ };
27
+ this.setData = (gData) => {
28
+ this.getFieldDeclarationForSetup(this.data, this.options);
29
+ };
30
+ // getFontAwesome(iconName: string) {
31
+ // return ZComponentHelper.getFontAwesome(iconName);
32
+ // }
33
+ this.setEnable = (status) => {
34
+ const fc = this.group.form.controls[this.data.Value];
35
+ status ? fc.enable() : fc.disable();
36
+ this.componentProperties.isReadOnly = !status;
37
+ };
38
+ }
39
+ ngOnInit() {
40
+ ZComponentHelper.setComponentProperties(this);
41
+ ZComponentHelper.registerComponent(this);
42
+ ZComponentHelper.setFieldsDivClass(this.group._projectName, this.group.fieldName, this.data, this.authService);
43
+ this.getFieldDeclarationForSetup(this.data, this.options);
44
+ }
45
+ ComponentIsVisible(field) {
46
+ return ZComponentHelper.ComponentIsVisible(field, this.group);
47
+ }
48
+ getReadOnlyValue() {
49
+ const readOnlyValue = ZComponentHelper.getGroupEvalValue.call(this, this.data.ReadOnly);
50
+ if (typeof readOnlyValue === 'function') {
51
+ return readOnlyValue();
52
+ }
53
+ return readOnlyValue;
54
+ }
55
+ getFieldDeclarationForSetup(field, options) {
56
+ options.Title = field.Title.includes("group.") ? ZComponentHelper.getGroupEvalValue.call(this, field.Title) : field.Title;
57
+ //options.Icon = ZComponentHelper.getIcon(field.Icon.toString())||options.Icon;
58
+ }
59
+ }
60
+ ZcardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZcardComponent, deps: [{ token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component });
61
+ ZcardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ZcardComponent, selector: "app-zcard", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"margin: 10px 0 6px 0;\">\r\n <kendo-panelbar keepItemContent=\"true\" *ngIf=\"!data.DisableCollapse\">\r\n <kendo-panelbar-item [expanded]=\"!data.DefaultCollapse\" [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span *ngIf=\"data.Icon\">\r\n <fa-icon [icon]=\"data.Icon\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <span *ngIf=\"!data.Icon\">\r\n <i class=\"fas fa-folder\" style=\"color: #000000\"></i>\r\n </span>\r\n <ion-label class=\"zcard-header-title\">{{options.Title}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent>\r\n <div class=\"ion-row\" style=\"padding: 6px 12px;\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of data.Value\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n\r\n <kendo-card *ngIf=\"data.DisableCollapse\" width=\"100%\">\r\n <kendo-card-header>\r\n <div>\r\n <span *ngIf=\"data.Icon\">\r\n <fa-icon [icon]=\"data.Icon\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <span *ngIf=\"!data.Icon\">\r\n <i class=\"fas fa-folder\" style=\"color: #000000\"></i>\r\n </span>\r\n <ion-label class=\"card-header-title\">{{options.Title}}</ion-label>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <div class=\"ion-row\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of data.Value\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </kendo-card-body>\r\n </kendo-card>\r\n</div>\r\n", styles: [".zcard-header-icon{color:#fff!important;padding-right:3px;font-size:11pt}:host ::ng-deep kendo-card-header{background-color:#5596e6;color:#fff}.card-header-title{font-weight:500;font-size:10.5pt}\n"], components: [{ type: i2.PanelBarComponent, selector: "kendo-panelbar", inputs: ["expandMode", "selectable", "animate", "height", "keepItemContent", "items"], outputs: ["stateChange", "select", "expand", "collapse"], exportAs: ["kendoPanelbar"] }, { type: i2.PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["id", "icon", "iconClass", "imageUrl", "disabled", "selected", "expanded", "title", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { 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.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i5.ZformcontrolComponent, selector: "app-zformcontrol", inputs: ["field", "group", "form"] }, { type: i2.CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { type: i2.CardHeaderComponent, selector: "kendo-card-header" }, { type: i2.CardBodyComponent, selector: "kendo-card-body" }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.PanelBarItemTitleDirective, selector: "[kendoPanelBarItemTitle]" }, { type: i2.PanelBarContentDirective, selector: "[kendoPanelBarContent]" }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZcardComponent, decorators: [{
63
+ type: Component,
64
+ args: [{ selector: "app-zcard", template: "<div *ngIf=\"(!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\" style=\"margin: 10px 0 6px 0;\">\r\n <kendo-panelbar keepItemContent=\"true\" *ngIf=\"!data.DisableCollapse\">\r\n <kendo-panelbar-item [expanded]=\"!data.DefaultCollapse\" [disabled]=\"(!!componentProperties.isReadOnlyField ? group[componentProperties.isReadOnlyField] : componentProperties.isReadOnly)\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span *ngIf=\"data.Icon\">\r\n <fa-icon [icon]=\"data.Icon\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <span *ngIf=\"!data.Icon\">\r\n <i class=\"fas fa-folder\" style=\"color: #000000\"></i>\r\n </span>\r\n <ion-label class=\"zcard-header-title\">{{options.Title}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent>\r\n <div class=\"ion-row\" style=\"padding: 6px 12px;\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of data.Value\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n\r\n <kendo-card *ngIf=\"data.DisableCollapse\" width=\"100%\">\r\n <kendo-card-header>\r\n <div>\r\n <span *ngIf=\"data.Icon\">\r\n <fa-icon [icon]=\"data.Icon\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <span *ngIf=\"!data.Icon\">\r\n <i class=\"fas fa-folder\" style=\"color: #000000\"></i>\r\n </span>\r\n <ion-label class=\"card-header-title\">{{options.Title}}</ion-label>\r\n </div>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <div class=\"ion-row\">\r\n <app-zformcontrol [ngClass]=\"group[field.isVisibleField] ? field.DivClass : ((field.Visible === true) ? field.DivClass : 'flex-hide')\"\r\n *ngFor=\"let field of data.Value\"\r\n [field]=\"field\"\r\n [group]=\"group\"\r\n [form]=\"form\"\r\n id=\"{{field.Type}}-{{field.Name}}\">\r\n </app-zformcontrol>\r\n </div>\r\n </kendo-card-body>\r\n </kendo-card>\r\n</div>\r\n", styles: [".zcard-header-icon{color:#fff!important;padding-right:3px;font-size:11pt}:host ::ng-deep kendo-card-header{background-color:#5596e6;color:#fff}.card-header-title{font-weight:500;font-size:10.5pt}\n"] }]
65
+ }], ctorParameters: function () { return [{ type: i1.AuthService }]; }, propDecorators: { data: [{
66
+ type: Input
67
+ }], group: [{
68
+ type: Input
69
+ }], form: [{
70
+ type: Input
71
+ }] } });
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNhcmQvemNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFDTyxnQkFBZ0IsRUFDWixvQkFBb0IsRUFDckMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7QUFRekIsTUFBTSxPQUFPLGNBQWM7SUFTekIsWUFDVSxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUxsQyx5REFBeUQ7UUFFekQsd0JBQW1CLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1FBTWpELFlBQU8sR0FBRztZQUNSLEtBQUssRUFBRSxFQUFFO1lBQ1QsSUFBSSxFQUFDLFFBQVE7U0FDZCxDQUFBO1FBZU0sZUFBVSxHQUFHLENBQUMsTUFBZSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO1FBQzdCLENBQUMsQ0FBQTtRQWVNLFlBQU8sR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUE7UUFFRCxxQ0FBcUM7UUFDckMsc0RBQXNEO1FBQ3RELElBQUk7UUFFRyxjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDaEQsQ0FBQyxDQUFBO0lBbERHLENBQUM7SUFPTCxRQUFRO1FBQ04sZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0csSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRTVELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxLQUFhO1FBQzlCLE9BQU8sZ0JBQWdCLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBT0QsZ0JBQWdCO1FBQ2QsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hGLElBQUksT0FBTyxhQUFhLEtBQUssVUFBVSxFQUFFO1lBQ3ZDLE9BQU8sYUFBYSxFQUFFLENBQUM7U0FDeEI7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN2QixDQUFDO0lBRU8sMkJBQTJCLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDN0QsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDMUgsK0VBQStFO0lBQ2pGLENBQUM7OzJHQS9DVSxjQUFjOytGQUFkLGNBQWMseUdDcEIzQixpakZBbURBOzJGRC9CYSxjQUFjO2tCQUwxQixTQUFTOytCQUNFLFdBQVc7a0dBS1osSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBcclxuICBaQ29tcG9uZW50LCBaQ29tcG9uZW50SGVscGVyLFxyXG4gIFpGaWVsZCwgWkdyb3VwLCBaQ29tcG9uZW50UHJvcGVydGllcywgQXV0aFNlcnZpY2UsIEZvbnRBd2VTb21lU2VydmljZVxyXG59IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAtemNhcmRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL3pjYXJkLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL3pjYXJkLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWmNhcmRDb21wb25lbnQgaW1wbGVtZW50cyBaQ29tcG9uZW50LCBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgLy8gY2xhc3NTdHlsZU9ic2VydmFibGVzOiBBcnJheTxCZWhhdmlvclN1YmplY3Q8c3RyaW5nPj47XHJcblxyXG4gIGNvbXBvbmVudFByb3BlcnRpZXMgPSBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG9wdGlvbnMgPSB7XHJcbiAgICBUaXRsZTogJycsXHJcbiAgICBJY29uOidGb2xkZXInXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldEZpZWxkc0RpdkNsYXNzKHRoaXMuZ3JvdXAuX3Byb2plY3ROYW1lLCB0aGlzLmdyb3VwLmZpZWxkTmFtZSwgdGhpcy5kYXRhLCB0aGlzLmF1dGhTZXJ2aWNlKTtcclxuXHJcbiAgICB0aGlzLmdldEZpZWxkRGVjbGFyYXRpb25Gb3JTZXR1cCh0aGlzLmRhdGEsIHRoaXMub3B0aW9ucyk7XHJcblxyXG4gIH1cclxuXHJcbiAgQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkOiBaRmllbGQpOiBhbnkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0UmVhZE9ubHlWYWx1ZSgpIHtcclxuICAgIGNvbnN0IHJlYWRPbmx5VmFsdWUgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLlJlYWRPbmx5KTtcclxuICAgIGlmICh0eXBlb2YgcmVhZE9ubHlWYWx1ZSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICByZXR1cm4gcmVhZE9ubHlWYWx1ZSgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlYWRPbmx5VmFsdWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldEZpZWxkRGVjbGFyYXRpb25Gb3JTZXR1cChmaWVsZDogWkZpZWxkLCBvcHRpb25zOiBhbnkpIHtcclxuICAgIG9wdGlvbnMuVGl0bGUgPSBmaWVsZC5UaXRsZS5pbmNsdWRlcyhcImdyb3VwLlwiKSA/IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBmaWVsZC5UaXRsZSkgOiBmaWVsZC5UaXRsZTtcclxuICAgIC8vb3B0aW9ucy5JY29uID0gWkNvbXBvbmVudEhlbHBlci5nZXRJY29uKGZpZWxkLkljb24udG9TdHJpbmcoKSl8fG9wdGlvbnMuSWNvbjtcclxuICB9XHJcbiAgXHJcbiAgcHVibGljIHNldERhdGEgPSAoZ0RhdGE6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5nZXRGaWVsZERlY2xhcmF0aW9uRm9yU2V0dXAodGhpcy5kYXRhLCB0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWU6IHN0cmluZykge1xyXG4gIC8vICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuZ2V0Rm9udEF3ZXNvbWUoaWNvbk5hbWUpO1xyXG4gIC8vIH1cclxuXHJcbiAgcHVibGljIHNldEVuYWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIGNvbnN0IGZjID0gdGhpcy5ncm91cC5mb3JtLmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBzdGF0dXMgPyBmYy5lbmFibGUoKSA6IGZjLmRpc2FibGUoKTtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gIXN0YXR1cztcclxuICB9XHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIighIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiIHN0eWxlPVwibWFyZ2luOiAxMHB4IDAgNnB4IDA7XCI+XHJcbiAgPGtlbmRvLXBhbmVsYmFyIGtlZXBJdGVtQ29udGVudD1cInRydWVcIiAqbmdJZj1cIiFkYXRhLkRpc2FibGVDb2xsYXBzZVwiPlxyXG4gICAgPGtlbmRvLXBhbmVsYmFyLWl0ZW0gW2V4cGFuZGVkXT1cIiFkYXRhLkRlZmF1bHRDb2xsYXBzZVwiIFtkaXNhYmxlZF09XCIoISFjb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVhZE9ubHlGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSlcIj5cclxuICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFuZWxCYXJJdGVtVGl0bGU+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCJkYXRhLkljb25cIj5cclxuICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cImRhdGEuSWNvblwiIGNsYXNzPVwiemNhcmQtaGVhZGVyLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuICpuZ0lmPVwiIWRhdGEuSWNvblwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtZm9sZGVyXCIgc3R5bGU9XCJjb2xvcjogIzAwMDAwMFwiPjwvaT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cInpjYXJkLWhlYWRlci10aXRsZVwiPnt7b3B0aW9ucy5UaXRsZX19PC9pb24tbGFiZWw+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhbmVsQmFyQ29udGVudD5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXJvd1wiIHN0eWxlPVwicGFkZGluZzogNnB4IDEycHg7XCI+XHJcbiAgICAgICAgICA8YXBwLXpmb3JtY29udHJvbCBbbmdDbGFzc109XCJncm91cFtmaWVsZC5pc1Zpc2libGVGaWVsZF0gPyBmaWVsZC5EaXZDbGFzcyA6ICgoZmllbGQuVmlzaWJsZSA9PT0gdHJ1ZSkgPyBmaWVsZC5EaXZDbGFzcyA6ICdmbGV4LWhpZGUnKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZmllbGRdPVwiZmllbGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2dyb3VwXT1cImdyb3VwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ZpZWxkLlR5cGV9fS17e2ZpZWxkLk5hbWV9fVwiPlxyXG4gICAgICAgICAgPC9hcHAtemZvcm1jb250cm9sPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9rZW5kby1wYW5lbGJhci1pdGVtPlxyXG4gIDwva2VuZG8tcGFuZWxiYXI+XHJcblxyXG4gIDxrZW5kby1jYXJkICpuZ0lmPVwiZGF0YS5EaXNhYmxlQ29sbGFwc2VcIiB3aWR0aD1cIjEwMCVcIj5cclxuICAgIDxrZW5kby1jYXJkLWhlYWRlcj5cclxuICAgICAgPGRpdj5cclxuICAgICAgICA8c3BhbiAqbmdJZj1cImRhdGEuSWNvblwiPlxyXG4gICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiZGF0YS5JY29uXCIgY2xhc3M9XCJ6Y2FyZC1oZWFkZXItaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPHNwYW4gKm5nSWY9XCIhZGF0YS5JY29uXCI+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1mb2xkZXJcIiBzdHlsZT1cImNvbG9yOiAjMDAwMDAwXCI+PC9pPlxyXG4gICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwiY2FyZC1oZWFkZXItdGl0bGVcIj57e29wdGlvbnMuVGl0bGV9fTwvaW9uLWxhYmVsPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwva2VuZG8tY2FyZC1oZWFkZXI+XHJcbiAgICA8a2VuZG8tY2FyZC1ib2R5PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW9uLXJvd1wiPlxyXG4gICAgICAgIDxhcHAtemZvcm1jb250cm9sIFtuZ0NsYXNzXT1cImdyb3VwW2ZpZWxkLmlzVmlzaWJsZUZpZWxkXSA/IGZpZWxkLkRpdkNsYXNzIDogKChmaWVsZC5WaXNpYmxlID09PSB0cnVlKSA/IGZpZWxkLkRpdkNsYXNzIDogJ2ZsZXgtaGlkZScpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZmllbGQgb2YgZGF0YS5WYWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgW2ZpZWxkXT1cImZpZWxkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBbZ3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tmaWVsZC5UeXBlfX0te3tmaWVsZC5OYW1lfX1cIj5cclxuICAgICAgICA8L2FwcC16Zm9ybWNvbnRyb2w+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9rZW5kby1jYXJkLWJvZHk+XHJcbiAgPC9rZW5kby1jYXJkPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,201 @@
1
+ /********** Angular **********/
2
+ import { Component, Input } from "@angular/core";
3
+ import { Validators } from '@angular/forms';
4
+ /********** Ionic **********/
5
+ /********** Plugin **********/
6
+ // import { groupBy, GroupResult } from '@progress/kendo-data-query';
7
+ /********** Component & Service **********/
8
+ import { ZComponentHelper, ZComponentProperties } from 'mmhglobal-zcore';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@progress/kendo-angular-charts";
11
+ import * as i2 from "@angular/common";
12
+ export class ZchartComponent {
13
+ // fieldElement01 = [{
14
+ // Name: 'chart01',
15
+ // Type: 'zchart',
16
+ // Options: 'group.chart01Options',
17
+ // DivClass: "col-md-12 col-md-6",
18
+ // Visible: true
19
+ // }];
20
+ // fieldElement02 = [{
21
+ // Name: 'chart01',
22
+ // Type: 'zchart',
23
+ // Title: 'Chart01 Title',
24
+ // RenderAs: 'svg',
25
+ // Pannable: true,
26
+ // Zoomable: true,
27
+ // Categories: 'group.chart01Categories',
28
+ // Max: 10,
29
+ // MaxDivisions: null,
30
+ // Rotation: 'auto',
31
+ // Series: 'group.chart01Series',
32
+ // DataType: 'bar',
33
+ // DataStyle: 'smooth',
34
+ // LegendPosition: 'bottom',
35
+ // LegendOrientation: 'horizonal',
36
+ // TooltipFormat: '{0}',
37
+ // AggregateType: 'sum',
38
+ // DataField: null,
39
+ // CategoryField: null,
40
+ // DivClass: "col-md-12 col-md-6",
41
+ // Visible: true
42
+ // }];
43
+ constructor() {
44
+ this.isLoading = true;
45
+ this.componentProperties = new ZComponentProperties();
46
+ this.series = [];
47
+ // = [{
48
+ // type: '',
49
+ // style: 'smooth',
50
+ // name: 'India',
51
+ // data: [3.907, 7.943, 7.848, 9.284, 9.263, 9.801, 3.890, 8.238, 9.552, 6.855]
52
+ // }, {
53
+ // type: '',
54
+ // style: 'smooth',
55
+ // name: 'Russian Federation',
56
+ // data: [4.743, 7.295, 7.175, 6.376, 8.153, 8.535, 5.247, -7.832, 4.3, 4.3]
57
+ // }, {
58
+ // type: 'bar',
59
+ // style: 'smooth',
60
+ // name: 'Germany',
61
+ // data: [0.010, -0.375, 1.161, 0.684, 3.7, 3.269, 1.083, -5.127, 3.690, 2.995]
62
+ // }, {
63
+ // type: 'area',
64
+ // style: 'smooth',
65
+ // name: 'World',
66
+ // data: [1.988, 2.733, 3.994, 3.464, 4.001, 3.939, 1.333, -2.245, 4.339, 2.727]
67
+ // }];
68
+ this.categories = [];
69
+ // [2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011];
70
+ this.options = {
71
+ title: 'Chart Title Here',
72
+ renderAs: 'canvas',
73
+ pannable: false,
74
+ zoomable: false,
75
+ categoryAxis: {
76
+ categories: this.categories,
77
+ max: 10,
78
+ maxDivisions: null,
79
+ labels: { rotation: 'auto' }
80
+ },
81
+ labels: {
82
+ visible: false,
83
+ background: "transparent"
84
+ },
85
+ series: this.series,
86
+ dataType: 'bar',
87
+ dataStyle: 'smooth',
88
+ legendPosition: 'bottom',
89
+ legendOrientation: 'horizontal',
90
+ tooltipFormat: '{0}%',
91
+ aggregateType: 'sum',
92
+ dataField: null,
93
+ categoryField: null,
94
+ color: '#05A2FE',
95
+ };
96
+ this.setData = (gData) => {
97
+ this.getFieldDeclarationForSetup(this.data, this.options);
98
+ };
99
+ this.setEnable = (status) => {
100
+ // const fc = this.group.form.controls[this.data.Value];
101
+ // status ? fc.enable() : fc.disable();
102
+ this.componentProperties.isReadOnly = !status;
103
+ };
104
+ this.setVisible = (status) => {
105
+ this.componentProperties.isVisible = status;
106
+ this.data.Visible = status;
107
+ };
108
+ this.setRequire = (status) => {
109
+ this.componentProperties.isRequired = status;
110
+ ZComponentHelper.changeValidator(status, this.group, this.data.Value, this.componentProperties, Validators.required);
111
+ };
112
+ }
113
+ ngOnInit() {
114
+ ZComponentHelper.setComponentProperties(this);
115
+ ZComponentHelper.registerComponent(this);
116
+ if (this.data.Options) {
117
+ const optionType = typeof (this.data.Options);
118
+ if (optionType === 'object') {
119
+ Object.assign(this.options, this.data.Options);
120
+ }
121
+ else if (optionType === 'string') {
122
+ const optionValue = ZComponentHelper.getGroupEvalValue.call(this, this.data.Options);
123
+ if (typeof (optionValue) === 'object') {
124
+ Object.assign(this.options, optionValue);
125
+ }
126
+ }
127
+ }
128
+ if (this.data.Options && this.data.Options.categoryAxis && this.data.Options.categoryAxis.categories && typeof (this.data.Options.categoryAxis.categories) === 'string') {
129
+ this.options.categoryAxis.categories =
130
+ ZComponentHelper.getGroupEvalValue.call(this, this.data.Options.categoryAxis.categories);
131
+ }
132
+ if (this.data.Options && this.data.Options.series && typeof (this.data.Options.series) === 'string') {
133
+ this.options.series =
134
+ ZComponentHelper.getGroupEvalValue.call(this, this.data.Options.series);
135
+ }
136
+ this.getFieldDeclarationForSetup(this.data, this.options);
137
+ this.isLoading = false;
138
+ }
139
+ getFieldDeclarationForSetup(field, options) {
140
+ options.title = field.Title || options.title;
141
+ options.renderAs = field.RenderAs || options.renderAs;
142
+ options.pannable = field.Pannable || options.pannable;
143
+ options.zoomable = field.Zoomable || options.zoomable;
144
+ options.categoryAxis.categories = ZComponentHelper.getGroupEvalValue.call(this, field.Categories) || [];
145
+ options.categoryAxis.max = field.Max || options.categoryAxis.max;
146
+ options.categoryAxis.maxDivisions = field.MaxDivisions || options.categoryAxis.maxDivisions;
147
+ options.categoryAxis.labels.rotation = field.Rotation || options.categoryAxis.labels.rotation;
148
+ options.series = ZComponentHelper.getGroupEvalValue.call(this, field.Series) || [];
149
+ options.dataType = field.DataType || options.dataType;
150
+ options.dataStyle = field.DataStyle || options.dataStyle;
151
+ options.legendPosition = field.LegendPosition || options.legendPosition;
152
+ options.legendOrientation = field.LegendOrientation || options.legendOrientation;
153
+ options.tooltipFormat = field.TooltipFormat || options.tooltipFormat;
154
+ options.aggregateType = field.AggregateType || options.aggregateType;
155
+ options.dataField = field.DataField || options.dataField;
156
+ options.categoryField = field.CategoryField || options.categoryField;
157
+ }
158
+ onRender(e) {
159
+ // console.log('render');
160
+ }
161
+ onAxisLabelClick(e) {
162
+ // console.log('axisLabelClick', e);
163
+ }
164
+ onLegendItemClick(e) {
165
+ // console.log('legendItemClick', e);
166
+ }
167
+ onLegendItemHover(e) {
168
+ // console.log('legendItemHover', e);
169
+ }
170
+ onPlotAreaClick(e) {
171
+ // console.log('plotAreaClick', e);
172
+ }
173
+ onPlotAreaHover(e) {
174
+ // console.log('plotAreaHover', e);
175
+ }
176
+ onSeriesClick(e) {
177
+ // console.log('seriesClick', e);
178
+ const f = ZComponentHelper.getGroupEvalValue.call(this, this.data.OnItemClick);
179
+ if (typeof f === 'function') {
180
+ const callFunc = f.bind(this.group.ctrlScope);
181
+ return callFunc(e);
182
+ }
183
+ return;
184
+ }
185
+ onSeriesHover(e) {
186
+ // console.log('seriesHover', e);
187
+ }
188
+ }
189
+ ZchartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZchartComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
190
+ ZchartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.4", type: ZchartComponent, selector: "app-zchart", inputs: { data: "data", group: "group", form: "form" }, ngImport: i0, template: "<div *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <kendo-chart [renderAs]=\"options.renderAs\" [pannable]=\"options.pannable\" [zoomable]=\"options.zoomable\"\r\n [categoryAxis]=\"options.categoryAxis\"\r\n (render)=\"onRender($event)\"\r\n (axisLabelClick)=\"onAxisLabelClick($event)\"\r\n (legendItemClick)=\"onLegendItemClick($event)\"\r\n (legendItemHover)=\"onLegendItemHover($event)\"\r\n (plotAreaClick)=\"onPlotAreaClick($event)\"\r\n (plotAreaHover)=\"onPlotAreaHover($event)\"\r\n (seriesClick)=\"onSeriesClick($event)\"\r\n (seriesHover)=\"onSeriesHover($event)\">\r\n <kendo-chart-title [text]=\"options.title\"></kendo-chart-title>\r\n <kendo-chart-legend [position]=\"options.legendPosition\" [orientation]=\"options.legendOrientation\"></kendo-chart-legend>\r\n <kendo-chart-tooltip [format]=\"options.tooltipFormat\"></kendo-chart-tooltip>\r\n <kendo-chart-series>\r\n <kendo-chart-series-item *ngFor=\"let item of options.series\"\r\n [aggregate]=\"options.aggregateType\"\r\n [type]=\"item.type || options.dataType\" [style]=\"item.style || options.dataStyle\" \r\n [color]=\"item.color || options.color\"\r\n [labels]=\"item.labels || options.labels\" \r\n [field]=\"options.dataField\" [categoryField]=\"options.categoryField\"\r\n [data]=\"item.data\" [name]=\"item.name\">\r\n </kendo-chart-series-item>\r\n </kendo-chart-series>\r\n </kendo-chart>\r\n</div>", styles: [""], components: [{ type: i1.ChartComponent, selector: "kendo-chart", inputs: ["resizeRateLimit", "popupSettings"], outputs: ["legendItemClick"], exportAs: ["kendoChart"] }, { type: i1.TitleComponent, selector: "kendo-chart-title" }, { type: i1.LegendComponent, selector: "kendo-chart-legend" }, { type: i1.TooltipComponent, selector: "kendo-chart-tooltip" }, { type: i1.SeriesComponent, selector: "kendo-chart-series" }, { type: i1.SeriesItemComponent, selector: "kendo-chart-series-item" }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
191
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.4", ngImport: i0, type: ZchartComponent, decorators: [{
192
+ type: Component,
193
+ args: [{ selector: 'app-zchart', template: "<div *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\">\r\n <kendo-chart [renderAs]=\"options.renderAs\" [pannable]=\"options.pannable\" [zoomable]=\"options.zoomable\"\r\n [categoryAxis]=\"options.categoryAxis\"\r\n (render)=\"onRender($event)\"\r\n (axisLabelClick)=\"onAxisLabelClick($event)\"\r\n (legendItemClick)=\"onLegendItemClick($event)\"\r\n (legendItemHover)=\"onLegendItemHover($event)\"\r\n (plotAreaClick)=\"onPlotAreaClick($event)\"\r\n (plotAreaHover)=\"onPlotAreaHover($event)\"\r\n (seriesClick)=\"onSeriesClick($event)\"\r\n (seriesHover)=\"onSeriesHover($event)\">\r\n <kendo-chart-title [text]=\"options.title\"></kendo-chart-title>\r\n <kendo-chart-legend [position]=\"options.legendPosition\" [orientation]=\"options.legendOrientation\"></kendo-chart-legend>\r\n <kendo-chart-tooltip [format]=\"options.tooltipFormat\"></kendo-chart-tooltip>\r\n <kendo-chart-series>\r\n <kendo-chart-series-item *ngFor=\"let item of options.series\"\r\n [aggregate]=\"options.aggregateType\"\r\n [type]=\"item.type || options.dataType\" [style]=\"item.style || options.dataStyle\" \r\n [color]=\"item.color || options.color\"\r\n [labels]=\"item.labels || options.labels\" \r\n [field]=\"options.dataField\" [categoryField]=\"options.categoryField\"\r\n [data]=\"item.data\" [name]=\"item.name\">\r\n </kendo-chart-series-item>\r\n </kendo-chart-series>\r\n </kendo-chart>\r\n</div>", styles: [""] }]
194
+ }], ctorParameters: function () { return []; }, propDecorators: { data: [{
195
+ type: Input
196
+ }], group: [{
197
+ type: Input
198
+ }], form: [{
199
+ type: Input
200
+ }] } });
201
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiemNoYXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3pjaGFydC96Y2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvemNoYXJ0L3pjaGFydC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXZELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFDOUIscUVBQXFFO0FBRXJFLDJDQUEyQztBQUMzQyxPQUFPLEVBQ08sZ0JBQWdCLEVBQ1osb0JBQW9CLEVBQ3JDLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFRekIsTUFBTSxPQUFPLGVBQWU7SUE0RDFCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsb0JBQW9CO0lBQ3BCLHFDQUFxQztJQUNyQyxvQ0FBb0M7SUFDcEMsa0JBQWtCO0lBQ2xCLE1BQU07SUFFTixzQkFBc0I7SUFDdEIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQiw0QkFBNEI7SUFDNUIscUJBQXFCO0lBQ3JCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsMkNBQTJDO0lBQzNDLGFBQWE7SUFDYix3QkFBd0I7SUFDeEIsc0JBQXNCO0lBQ3RCLG1DQUFtQztJQUNuQyxxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLDhCQUE4QjtJQUM5QixvQ0FBb0M7SUFDcEMsMEJBQTBCO0lBQzFCLDBCQUEwQjtJQUMxQixxQkFBcUI7SUFDckIseUJBQXlCO0lBQ3pCLG9DQUFvQztJQUNwQyxrQkFBa0I7SUFDbEIsTUFBTTtJQUVOO1FBdkZBLGNBQVMs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QUFhLENBQUMsQ0FBQztRQUNwQixpQ0FBaUM7UUFDakMsTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9FLElBQUksT0FBTyxDQUFDLEtBQUssVUFBVSxFQUFFO1lBQzNCLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQjtRQUNELE9BQU87SUFDVCxDQUFDO0lBRU0sYUFBYSxDQUFDLENBQUM7UUFDcEIsaUNBQWlDO0lBQ25DLENBQUM7OzRHQXRMVSxlQUFlO2dHQUFmLGVBQWUsMEdDckI1QiwrcERBeUJNOzJGREpPLGVBQWU7a0JBTDNCLFNBQVM7K0JBQ0UsWUFBWTswRUFLYixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG4vLyBpbXBvcnQgeyBncm91cEJ5LCBHcm91cFJlc3VsdCB9IGZyb20gJ0Bwcm9ncmVzcy9rZW5kby1kYXRhLXF1ZXJ5JztcclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgXHJcbiAgWkNvbXBvbmVudCwgWkNvbXBvbmVudEhlbHBlcixcclxuICBaRmllbGQsIFpHcm91cCwgWkNvbXBvbmVudFByb3BlcnRpZXMgXHJcbn0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC16Y2hhcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi96Y2hhcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3pjaGFydC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgWmNoYXJ0Q29tcG9uZW50IGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgY29tcG9uZW50UHJvcGVydGllcyA9IG5ldyBaQ29tcG9uZW50UHJvcGVydGllcygpO1xyXG4gIHByaXZhdGUgc2VyaWVzOiBhbnlbXSA9IFtdO1xyXG4gIC8vICA9IFt7XHJcbiAgLy8gICB0eXBlOiAnJyxcclxuICAvLyAgIHN0eWxlOiAnc21vb3RoJyxcclxuICAvLyAgIG5hbWU6ICdJbmRpYScsXHJcbiAgLy8gICBkYXRhOiBbMy45MDcsIDcuOTQzLCA3Ljg0OCwgOS4yODQsIDkuMjYzLCA5LjgwMSwgMy44OTAsIDguMjM4LCA5LjU1MiwgNi44NTVdXHJcbiAgLy8gfSwge1xyXG4gIC8vICAgdHlwZTogJycsXHJcbiAgLy8gICBzdHlsZTogJ3Ntb290aCcsXHJcbiAgLy8gICBuYW1lOiAnUnVzc2lhbiBGZWRlcmF0aW9uJyxcclxuICAvLyAgIGRhdGE6IFs0Ljc0MywgNy4yOTUsIDcuMTc1LCA2LjM3NiwgOC4xNTMsIDguNTM1LCA1LjI0NywgLTcuODMyLCA0LjMsIDQuM11cclxuICAvLyB9LCB7XHJcbiAgLy8gICB0eXBlOiAnYmFyJyxcclxuICAvLyAgIHN0eWxlOiAnc21vb3RoJyxcclxuICAvLyAgIG5hbWU6ICdHZXJtYW55JyxcclxuICAvLyAgIGRhdGE6IFswLjAxMCwgLTAuMzc1LCAxLjE2MSwgMC42ODQsIDMuNywgMy4yNjksIDEuMDgzLCAtNS4xMjcsIDMuNjkwLCAyLjk5NV1cclxuICAvLyB9LCB7XHJcbiAgLy8gICB0eXBlOiAnYXJlYScsXHJcbiAgLy8gICBzdHlsZTogJ3Ntb290aCcsXHJcbiAgLy8gICBuYW1lOiAnV29ybGQnLFxyXG4gIC8vICAgZGF0YTogWzEuOTg4LCAyLjczMywgMy45OTQsIDMuNDY0LCA0LjAwMSwgMy45MzksIDEuMzMzLCAtMi4yNDUsIDQuMzM5LCAyLjcyN11cclxuICAvLyB9XTtcclxuXHJcbiAgcHJpdmF0ZSBjYXRlZ29yaWVzID0gW107XHJcbiAgLy8gWzIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAsIDIwMTFdO1xyXG5cclxuICBvcHRpb25zID0ge1xyXG4gICAgdGl0bGU6ICdDaGFydCBUaXRsZSBIZXJlJyxcclxuICAgIHJlbmRlckFzOiAnY2FudmFzJywgIC8vIHN2Z1xyXG4gICAgcGFubmFibGU6IGZhbHNlLFxyXG4gICAgem9vbWFibGU6IGZhbHNlLFxyXG4gICAgY2F0ZWdvcnlBeGlzOiB7XHJcbiAgICAgIGNhdGVnb3JpZXM6IHRoaXMuY2F0ZWdvcmllcyxcclxuICAgICAgbWF4OiAxMCxcclxuICAgICAgbWF4RGl2aXNpb25zOiBudWxsLFxyXG4gICAgICBsYWJlbHM6IHsgcm90YXRpb246ICdhdXRvJyB9XHJcbiAgICB9LFxyXG4gICAgbGFiZWxzOiB7XHJcbiAgICAgIHZpc2libGU6IGZhbHNlLFxyXG4gICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCJcclxuICAgIH0sXHJcbiAgICBzZXJpZXM6IHRoaXMuc2VyaWVzLFxyXG4gICAgZGF0YVR5cGU6ICdiYXInLFxyXG4gICAgZGF0YVN0eWxlOiAnc21vb3RoJyxcclxuICAgIGxlZ2VuZFBvc2l0aW9uOiAnYm90dG9tJyxcclxuICAgIGxlZ2VuZE9yaWVudGF0aW9uOiAnaG9yaXpvbnRhbCcsXHJcbiAgICB0b29sdGlwRm9ybWF0OiAnezB9JScsXHJcbiAgICBhZ2dyZWdhdGVUeXBlOiAnc3VtJyxcclxuICAgIGRhdGFGaWVsZDogbnVsbCxcclxuICAgIGNhdGVnb3J5RmllbGQ6IG51bGwsXHJcbiAgICBjb2xvcjogJyMwNUEyRkUnLFxyXG4gIH07XHJcblxyXG4gIC8vIGZpZWxkRWxlbWVudDAxID0gW3tcclxuICAvLyAgIE5hbWU6ICdjaGFydDAxJyxcclxuICAvLyAgIFR5cGU6ICd6Y2hhcnQnLFxyXG4gIC8vICAgT3B0aW9uczogJ2dyb3VwLmNoYXJ0MDFPcHRpb25zJyxcclxuICAvLyAgIERpdkNsYXNzOiBcImNvbC1tZC0xMiBjb2wtbWQtNlwiLFxyXG4gIC8vICAgVmlzaWJsZTogdHJ1ZVxyXG4gIC8vIH1dO1xyXG5cclxuICAvLyBmaWVsZEVsZW1lbnQwMiA9IFt7XHJcbiAgLy8gICBOYW1lOiAnY2hhcnQwMScsXHJcbiAgLy8gICBUeXBlOiAnemNoYXJ0JyxcclxuICAvLyAgIFRpdGxlOiAnQ2hhcnQwMSBUaXRsZScsXHJcbiAgLy8gICBSZW5kZXJBczogJ3N2ZycsXHJcbiAgLy8gICBQYW5uYWJsZTogdHJ1ZSxcclxuICAvLyAgIFpvb21hYmxlOiB0cnVlLFxyXG4gIC8vICAgQ2F0ZWdvcmllczogJ2dyb3VwLmNoYXJ0MDFDYXRlZ29yaWVzJyxcclxuICAvLyAgIE1heDogMTAsXHJcbiAgLy8gICBNYXhEaXZpc2lvbnM6IG51bGwsXHJcbiAgLy8gICBSb3RhdGlvbjogJ2F1dG8nLFxyXG4gIC8vICAgU2VyaWVzOiAnZ3JvdXAuY2hhcnQwMVNlcmllcycsXHJcbiAgLy8gICBEYXRhVHlwZTogJ2JhcicsXHJcbiAgLy8gICBEYXRhU3R5bGU6ICdzbW9vdGgnLFxyXG4gIC8vICAgTGVnZW5kUG9zaXRpb246ICdib3R0b20nLFxyXG4gIC8vICAgTGVnZW5kT3JpZW50YXRpb246ICdob3Jpem9uYWwnLFxyXG4gIC8vICAgVG9vbHRpcEZvcm1hdDogJ3swfScsXHJcbiAgLy8gICBBZ2dyZWdhdGVUeXBlOiAnc3VtJyxcclxuICAvLyAgIERhdGFGaWVsZDogbnVsbCxcclxuICAvLyAgIENhdGVnb3J5RmllbGQ6IG51bGwsXHJcbiAgLy8gICBEaXZDbGFzczogXCJjb2wtbWQtMTIgY29sLW1kLTZcIixcclxuICAvLyAgIFZpc2libGU6IHRydWVcclxuICAvLyB9XTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuT3B0aW9ucykge1xyXG4gICAgICBjb25zdCBvcHRpb25UeXBlID0gdHlwZW9mICh0aGlzLmRhdGEuT3B0aW9ucyk7XHJcbiAgICAgIGlmIChvcHRpb25UeXBlID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5vcHRpb25zLCB0aGlzLmRhdGEuT3B0aW9ucyk7XHJcbiAgICAgIH0gZWxzZSBpZiAob3B0aW9uVHlwZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICBjb25zdCBvcHRpb25WYWx1ZSA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCB0aGlzLmRhdGEuT3B0aW9ucyk7XHJcbiAgICAgICAgaWYgKHR5cGVvZihvcHRpb25WYWx1ZSkgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucywgb3B0aW9uVmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLmRhdGEuT3B0aW9ucyAmJiB0aGlzLmRhdGEuT3B0aW9ucy5jYXRlZ29yeUF4aXMgJiYgdGhpcy5kYXRhLk9wdGlvbnMuY2F0ZWdvcnlBeGlzLmNhdGVnb3JpZXMgJiYgdHlwZW9mICh0aGlzLmRhdGEuT3B0aW9ucy5jYXRlZ29yeUF4aXMuY2F0ZWdvcmllcykgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHRoaXMub3B0aW9ucy5jYXRlZ29yeUF4aXMuY2F0ZWdvcmllcyA9XHJcbiAgICAgICAgWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5PcHRpb25zLmNhdGVnb3J5QXhpcy5jYXRlZ29yaWVzKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5kYXRhLk9wdGlvbnMgJiYgdGhpcy5kYXRhLk9wdGlvbnMuc2VyaWVzICYmIHR5cGVvZiAodGhpcy5kYXRhLk9wdGlvbnMuc2VyaWVzKSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhpcy5vcHRpb25zLnNlcmllcyA9XHJcbiAgICAgICAgWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHRoaXMuZGF0YS5PcHRpb25zLnNlcmllcyk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRoaXMuZ2V0RmllbGREZWNsYXJhdGlvbkZvclNldHVwKHRoaXMuZGF0YSwgdGhpcy5vcHRpb25zKTtcclxuXHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWVsZERlY2xhcmF0aW9uRm9yU2V0dXAoZmllbGQ6IFpGaWVsZCwgb3B0aW9uczogYW55KSB7XHJcbiAgICBvcHRpb25zLnRpdGxlID0gZmllbGQuVGl0bGUgfHwgb3B0aW9ucy50aXRsZTtcclxuICAgIG9wdGlvbnMucmVuZGVyQXMgPSBmaWVsZC5SZW5kZXJBcyB8fCBvcHRpb25zLnJlbmRlckFzO1xyXG4gICAgb3B0aW9ucy5wYW5uYWJsZSA9IGZpZWxkLlBhbm5hYmxlIHx8IG9wdGlvbnMucGFubmFibGU7XHJcbiAgICBvcHRpb25zLnpvb21hYmxlID0gZmllbGQuWm9vbWFibGUgfHwgb3B0aW9ucy56b29tYWJsZTtcclxuICAgIG9wdGlvbnMuY2F0ZWdvcnlBeGlzLmNhdGVnb3JpZXMgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgZmllbGQuQ2F0ZWdvcmllcykgfHwgW107XHJcbiAgICBvcHRpb25zLmNhdGVnb3J5QXhpcy5tYXggPSBmaWVsZC5NYXggfHwgb3B0aW9ucy5jYXRlZ29yeUF4aXMubWF4O1xyXG4gICAgb3B0aW9ucy5jYXRlZ29yeUF4aXMubWF4RGl2aXNpb25zID0gZmllbGQuTWF4RGl2aXNpb25zIHx8IG9wdGlvbnMuY2F0ZWdvcnlBeGlzLm1heERpdmlzaW9ucztcclxuICAgIG9wdGlvbnMuY2F0ZWdvcnlBeGlzLmxhYmVscy5yb3RhdGlvbiA9IGZpZWxkLlJvdGF0aW9uIHx8IG9wdGlvbnMuY2F0ZWdvcnlBeGlzLmxhYmVscy5yb3RhdGlvbjtcclxuICAgIG9wdGlvbnMuc2VyaWVzID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGZpZWxkLlNlcmllcykgfHwgW107XHJcbiAgICBvcHRpb25zLmRhdGFUeXBlID0gZmllbGQuRGF0YVR5cGUgfHwgb3B0aW9ucy5kYXRhVHlwZTtcclxuICAgIG9wdGlvbnMuZGF0YVN0eWxlID0gZmllbGQuRGF0YVN0eWxlIHx8IG9wdGlvbnMuZGF0YVN0eWxlO1xyXG4gICAgb3B0aW9ucy5sZWdlbmRQb3NpdGlvbiA9IGZpZWxkLkxlZ2VuZFBvc2l0aW9uIHx8IG9wdGlvbnMubGVnZW5kUG9zaXRpb247XHJcbiAgICBvcHRpb25zLmxlZ2VuZE9yaWVudGF0aW9uID0gZmllbGQuTGVnZW5kT3JpZW50YXRpb24gfHwgb3B0aW9ucy5sZWdlbmRPcmllbnRhdGlvbjtcclxuICAgIG9wdGlvbnMudG9vbHRpcEZvcm1hdCA9IGZpZWxkLlRvb2x0aXBGb3JtYXQgfHwgb3B0aW9ucy50b29sdGlwRm9ybWF0O1xyXG4gICAgb3B0aW9ucy5hZ2dyZWdhdGVUeXBlID0gZmllbGQuQWdncmVnYXRlVHlwZSB8fCBvcHRpb25zLmFnZ3JlZ2F0ZVR5cGU7XHJcbiAgICBvcHRpb25zLmRhdGFGaWVsZCA9IGZpZWxkLkRhdGFGaWVsZCB8fCBvcHRpb25zLmRhdGFGaWVsZDtcclxuICAgIG9wdGlvbnMuY2F0ZWdvcnlGaWVsZCA9IGZpZWxkLkNhdGVnb3J5RmllbGQgfHwgb3B0aW9ucy5jYXRlZ29yeUZpZWxkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uUmVuZGVyKGUpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdyZW5kZXInKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkF4aXNMYWJlbENsaWNrKGUpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdheGlzTGFiZWxDbGljaycsIGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTGVnZW5kSXRlbUNsaWNrKGUpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdsZWdlbmRJdGVtQ2xpY2snLCBlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkxlZ2VuZEl0ZW1Ib3ZlcihlKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnbGVnZW5kSXRlbUhvdmVyJywgZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25QbG90QXJlYUNsaWNrKGUpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdwbG90QXJlYUNsaWNrJywgZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25QbG90QXJlYUhvdmVyKGUpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdwbG90QXJlYUhvdmVyJywgZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TZXJpZXNDbGljayhlKTogdm9pZCB7XHJcbiAgICAvLyBjb25zb2xlLmxvZygnc2VyaWVzQ2xpY2snLCBlKTtcclxuICAgIGNvbnN0IGYgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgdGhpcy5kYXRhLk9uSXRlbUNsaWNrKTtcclxuICAgIGlmICh0eXBlb2YgZiA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBjb25zdCBjYWxsRnVuYyA9IGYuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgIHJldHVybiBjYWxsRnVuYyhlKTtcclxuICAgIH1cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNlcmllc0hvdmVyKGUpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdzZXJpZXNIb3ZlcicsIGUpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldERhdGEgPSAoZ0RhdGE6IGFueSkgPT4ge1xyXG4gICAgdGhpcy5nZXRGaWVsZERlY2xhcmF0aW9uRm9yU2V0dXAodGhpcy5kYXRhLCB0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEVuYWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIC8vIGNvbnN0IGZjID0gdGhpcy5ncm91cC5mb3JtLmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICAvLyBzdGF0dXMgPyBmYy5lbmFibGUoKSA6IGZjLmRpc2FibGUoKTtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1JlYWRPbmx5ID0gIXN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRWaXNpYmxlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZSA9IHN0YXR1cztcclxuICAgIHRoaXMuZGF0YS5WaXNpYmxlID0gc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFJlcXVpcmUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZXF1aXJlZCA9IHN0YXR1cztcclxuICAgIFpDb21wb25lbnRIZWxwZXIuY2hhbmdlVmFsaWRhdG9yKHN0YXR1cywgdGhpcy5ncm91cCwgdGhpcy5kYXRhLlZhbHVlLCB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiAqbmdJZj1cIiFpc0xvYWRpbmcgJiYgKCEhY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGVGaWVsZCA/IGdyb3VwW2NvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGRdIDogY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUpXCI+XHJcbiAgPGtlbmRvLWNoYXJ0IFtyZW5kZXJBc109XCJvcHRpb25zLnJlbmRlckFzXCIgW3Bhbm5hYmxlXT1cIm9wdGlvbnMucGFubmFibGVcIiBbem9vbWFibGVdPVwib3B0aW9ucy56b29tYWJsZVwiXHJcbiAgICAgICAgW2NhdGVnb3J5QXhpc109XCJvcHRpb25zLmNhdGVnb3J5QXhpc1wiXHJcbiAgICAgICAgKHJlbmRlcik9XCJvblJlbmRlcigkZXZlbnQpXCJcclxuICAgICAgICAoYXhpc0xhYmVsQ2xpY2spPVwib25BeGlzTGFiZWxDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAobGVnZW5kSXRlbUNsaWNrKT1cIm9uTGVnZW5kSXRlbUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChsZWdlbmRJdGVtSG92ZXIpPVwib25MZWdlbmRJdGVtSG92ZXIoJGV2ZW50KVwiXHJcbiAgICAgICAgKHBsb3RBcmVhQ2xpY2spPVwib25QbG90QXJlYUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgIChwbG90QXJlYUhvdmVyKT1cIm9uUGxvdEFyZWFIb3ZlcigkZXZlbnQpXCJcclxuICAgICAgICAoc2VyaWVzQ2xpY2spPVwib25TZXJpZXNDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAoc2VyaWVzSG92ZXIpPVwib25TZXJpZXNIb3ZlcigkZXZlbnQpXCI+XHJcbiAgICAgICAgPGtlbmRvLWNoYXJ0LXRpdGxlIFt0ZXh0XT1cIm9wdGlvbnMudGl0bGVcIj48L2tlbmRvLWNoYXJ0LXRpdGxlPlxyXG4gICAgICAgIDxrZW5kby1jaGFydC1sZWdlbmQgW3Bvc2l0aW9uXT1cIm9wdGlvbnMubGVnZW5kUG9zaXRpb25cIiBbb3JpZW50YXRpb25dPVwib3B0aW9ucy5sZWdlbmRPcmllbnRhdGlvblwiPjwva2VuZG8tY2hhcnQtbGVnZW5kPlxyXG4gICAgICAgIDxrZW5kby1jaGFydC10b29sdGlwIFtmb3JtYXRdPVwib3B0aW9ucy50b29sdGlwRm9ybWF0XCI+PC9rZW5kby1jaGFydC10b29sdGlwPlxyXG4gICAgICAgIDxrZW5kby1jaGFydC1zZXJpZXM+XHJcbiAgICAgICAgICAgIDxrZW5kby1jaGFydC1zZXJpZXMtaXRlbSAqbmdGb3I9XCJsZXQgaXRlbSBvZiBvcHRpb25zLnNlcmllc1wiXHJcbiAgICAgICAgICAgICAgICBbYWdncmVnYXRlXT1cIm9wdGlvbnMuYWdncmVnYXRlVHlwZVwiXHJcbiAgICAgICAgICAgICAgICBbdHlwZV09XCJpdGVtLnR5cGUgfHwgb3B0aW9ucy5kYXRhVHlwZVwiIFtzdHlsZV09XCJpdGVtLnN0eWxlIHx8IG9wdGlvbnMuZGF0YVN0eWxlXCIgXHJcbiAgICAgICAgICAgICAgICBbY29sb3JdPVwiaXRlbS5jb2xvciB8fCBvcHRpb25zLmNvbG9yXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbHNdPVwiaXRlbS5sYWJlbHMgfHwgb3B0aW9ucy5sYWJlbHNcIiBcclxuICAgICAgICAgICAgICAgIFtmaWVsZF09XCJvcHRpb25zLmRhdGFGaWVsZFwiIFtjYXRlZ29yeUZpZWxkXT1cIm9wdGlvbnMuY2F0ZWdvcnlGaWVsZFwiXHJcbiAgICAgICAgICAgICAgICBbZGF0YV09XCJpdGVtLmRhdGFcIiBbbmFtZV09XCJpdGVtLm5hbWVcIj5cclxuICAgICAgICAgICAgPC9rZW5kby1jaGFydC1zZXJpZXMtaXRlbT5cclxuICAgICAgICA8L2tlbmRvLWNoYXJ0LXNlcmllcz5cclxuICAgIDwva2VuZG8tY2hhcnQ+XHJcbjwvZGl2PiJdfQ==