mmhglobal-dynamicform 2.0.0-beta.6 → 2.0.0-beta.61

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 (117) hide show
  1. package/README.md +226 -0
  2. package/esm2020/lib/components/buttonfieldbase.component.mjs +9 -11
  3. package/esm2020/lib/components/containerfieldbase.component.mjs +2 -2
  4. package/esm2020/lib/components/datalistingfieldbase.component.mjs +25 -11
  5. package/esm2020/lib/components/fieldbase.component.mjs +5 -2
  6. package/esm2020/lib/components/inputfieldbase.component.mjs +28 -12
  7. package/esm2020/lib/constants/constant.mjs +4 -0
  8. package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +33 -14
  9. package/esm2020/lib/embed-components/page-loader/page-loader.component.mjs +14 -0
  10. package/esm2020/lib/embed-components/processing-record-loader/processing-record-loader.component.mjs +14 -0
  11. package/esm2020/lib/input-error-message/input-error-message.component.mjs +19 -8
  12. package/esm2020/lib/kcard/kcard.component.mjs +3 -3
  13. package/esm2020/lib/mmhglobal-dynamicform.module.mjs +61 -8
  14. package/esm2020/lib/services/component-error-handler.service.mjs +66 -29
  15. package/esm2020/lib/services/main.service.mjs +294 -146
  16. package/esm2020/lib/services/signalr.service.mjs +126 -0
  17. package/esm2020/lib/services/zcomponent.service.mjs +69 -17
  18. package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +11 -4
  19. package/esm2020/lib/uibulletin/uibulletin.component.mjs +91 -0
  20. package/esm2020/lib/uicontainer/uicontainer.component.mjs +8 -7
  21. package/esm2020/lib/uicontent/uicontent.component.mjs +22 -13
  22. package/esm2020/lib/uiheader/uiheader.component.mjs +12 -9
  23. package/esm2020/lib/uimenubutton/uimenubutton.component.mjs +2 -2
  24. package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +1 -1
  25. package/esm2020/lib/uipage/uipage.component.mjs +33 -38
  26. package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +1 -1
  27. package/esm2020/lib/zbuttons/zbuttons.component.mjs +17 -24
  28. package/esm2020/lib/zcard/zcard.component.mjs +10 -3
  29. package/esm2020/lib/zchart/zchart.component.mjs +1 -1
  30. package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +3 -3
  31. package/esm2020/lib/zchip/zchip.component.mjs +1 -1
  32. package/esm2020/lib/zdaterange/zdaterange.component.mjs +1 -1
  33. package/esm2020/lib/zdatetime/dateIonicFormatParser.pipe.mjs +40 -0
  34. package/esm2020/lib/zdatetime/dateIonicMinMaxDate.pipe.mjs +22 -0
  35. package/esm2020/lib/zdatetime/dateKendoFormatParser.pipe.mjs +40 -0
  36. package/esm2020/lib/zdatetime/dateParser.pipe.mjs +14 -8
  37. package/esm2020/lib/zdatetime/zdatetime.component.mjs +49 -183
  38. package/esm2020/lib/zdiv/zdiv.component.mjs +2 -5
  39. package/esm2020/lib/zform/zform.component.mjs +39 -37
  40. package/esm2020/lib/zgauge/zgauge.component.mjs +11 -5
  41. package/esm2020/lib/zgrid/container/zgrid-container.component.mjs +99 -0
  42. package/esm2020/lib/zgrid/date-range-cell-filter.component.mjs +20 -9
  43. package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +41 -17
  44. package/esm2020/lib/zgrid/zgrid.component.mjs +382 -307
  45. package/esm2020/lib/zinput-container/zinput-container.component.mjs +37 -22
  46. package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +20 -9
  47. package/esm2020/lib/zkcard/zkcard.component.mjs +1 -1
  48. package/esm2020/lib/zlabel/zlabel.component.mjs +3 -3
  49. package/esm2020/lib/zmfb/zmfb.component.mjs +2 -6
  50. package/esm2020/lib/znumeric/znumeric.component.mjs +19 -20
  51. package/esm2020/lib/znumeric/znumeric.component.pipe.mjs +19 -0
  52. package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +1 -1
  53. package/esm2020/lib/zprogressbar/zprogressbar.component.mjs +1 -1
  54. package/esm2020/lib/zquerybuilder/zquerybuilder.component.mjs +9 -3
  55. package/esm2020/lib/zscheduler/zscheduler.component.mjs +1 -1
  56. package/esm2020/lib/zscheduler/zscheduler.toolbar.component.mjs +1 -1
  57. package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +32 -27
  58. package/esm2020/lib/zselectmultiple/zselectmultiple.pipe.mjs +29 -0
  59. package/esm2020/lib/ztab/ztab.component.mjs +56 -14
  60. package/esm2020/lib/ztext/ztext.component.mjs +1 -1
  61. package/esm2020/lib/ztextarea/ztextarea.component.mjs +1 -1
  62. package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +34 -41
  63. package/esm2020/lib/ztree/ztree.component.mjs +83 -25
  64. package/esm2020/lib/ztreelist/ztreelist.component.mjs +10 -12
  65. package/esm2020/lib/zudf/zudf.component.mjs +192 -111
  66. package/esm2020/lib/zupload/zupload.component.mjs +1 -1
  67. package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +27 -10
  68. package/esm2020/public-api.mjs +10 -1
  69. package/fesm2015/mmhglobal-dynamicform.mjs +2281 -1292
  70. package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
  71. package/fesm2020/mmhglobal-dynamicform.mjs +2279 -1292
  72. package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
  73. package/lib/components/datalistingfieldbase.component.d.ts +5 -1
  74. package/lib/components/fieldbase.component.d.ts +1 -0
  75. package/lib/components/inputfieldbase.component.d.ts +4 -2
  76. package/lib/constants/constant.d.ts +3 -0
  77. package/lib/embed-components/input-field-addons/input-field-addons.component.d.ts +6 -4
  78. package/lib/embed-components/page-loader/page-loader.component.d.ts +8 -0
  79. package/lib/embed-components/processing-record-loader/processing-record-loader.component.d.ts +8 -0
  80. package/lib/input-error-message/input-error-message.component.d.ts +3 -2
  81. package/lib/mmhglobal-dynamicform.module.d.ts +93 -82
  82. package/lib/services/component-error-handler.service.d.ts +8 -3
  83. package/lib/services/main.service.d.ts +12 -4
  84. package/lib/services/signalr.service.d.ts +40 -0
  85. package/lib/services/zcomponent.service.d.ts +5 -1
  86. package/lib/uibulletin/uibulletin.component.d.ts +37 -0
  87. package/lib/uicontent/uicontent.component.d.ts +3 -2
  88. package/lib/uiheader/uiheader.component.d.ts +1 -0
  89. package/lib/uipage/uipage.component.d.ts +1 -0
  90. package/lib/zbuttons/zbuttons.component.d.ts +2 -2
  91. package/lib/zcard/zcard.component.d.ts +1 -0
  92. package/lib/zdatetime/dateIonicFormatParser.pipe.d.ts +10 -0
  93. package/lib/zdatetime/dateIonicMinMaxDate.pipe.d.ts +7 -0
  94. package/lib/zdatetime/dateKendoFormatParser.pipe.d.ts +10 -0
  95. package/lib/zdatetime/dateParser.pipe.d.ts +5 -1
  96. package/lib/zdatetime/zdatetime.component.d.ts +10 -16
  97. package/lib/zform/zform.component.d.ts +3 -2
  98. package/lib/zgrid/container/zgrid-container.component.d.ts +28 -0
  99. package/lib/zgrid/date-range-cell-filter.component.d.ts +5 -1
  100. package/lib/zgrid/zgrid.binding.directive.d.ts +2 -0
  101. package/lib/zgrid/zgrid.component.d.ts +42 -23
  102. package/lib/zinput-container/zinput-container.component.d.ts +13 -7
  103. package/lib/zinput-container/zinput-container.pipe.d.ts +5 -1
  104. package/lib/zmfb/zmfb.component.d.ts +0 -1
  105. package/lib/znumeric/znumeric.component.d.ts +5 -1
  106. package/lib/znumeric/znumeric.component.pipe.d.ts +10 -0
  107. package/lib/zquerybuilder/zquerybuilder.component.d.ts +1 -0
  108. package/lib/zselectmultiple/zselectmultiple.component.d.ts +2 -4
  109. package/lib/zselectmultiple/zselectmultiple.pipe.d.ts +11 -0
  110. package/lib/ztab/ztab.component.d.ts +7 -2
  111. package/lib/ztexteditor/ztexteditor.component.d.ts +13 -22
  112. package/lib/ztree/ztree.component.d.ts +14 -4
  113. package/lib/ztreelist/ztreelist.component.d.ts +1 -1
  114. package/lib/zudf/zudf.component.d.ts +30 -11
  115. package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +3 -1
  116. package/package.json +1 -1
  117. package/public-api.d.ts +9 -0
package/README.md CHANGED
@@ -3,7 +3,233 @@
3
3
  This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.13.
4
4
 
5
5
  ## Changelog
6
+ `2.61beta`<br/>
7
+ [zudf] - enhancement for zudf to support function setModelValue.<br/>
8
+
9
+ `2.60beta`<br/>
10
+ [zudf] - enhancement for zudf.<br/>
11
+
12
+ `2.59beta`<br/>
13
+ [zudf] - restructure whole component to cater for container type.<br/>
14
+
15
+ `2.58beta`<br/>
16
+ [ztree] - Fix ztree filter and add/remove not working bug.<br/>
17
+
18
+ `2.57beta`<br/>
19
+ [zdatetime] - changed datetime popup style to classic.<br/>
20
+ [ztab] - save selected tab to session and restore back when restoreselectedtab.
21
+
22
+ `2.56beta`<br/>
23
+ [ztexteditor] add custom image upload function. (ToolBarUploadImageMethod: 'default' | 'explorer')<br/>
24
+ [ztree] Enhancement for node selection. Refer to #1977 for detail.<br/>
25
+ [zselect] Fix bug on lazy loading functions not triggered upon searching<br/>
26
+
27
+ `2.55beta`<br/>
28
+ [zudf] - enhancement for zudf, now will have basic validation; zudf group scope zmodel auto update.<br/>
29
+
30
+ `2.54beta`<br/>
31
+ [zdatetime] - fix datetime convert wrongly in different region/locale issue.<br/>
32
+
33
+ `2.53beta`<br/>
34
+ [ztexteditor] - fix copy/paste and duplicate newline bug.<br/>
35
+
36
+ `2.52beta`<br/>
37
+ [zudf] - component enhancement.<br/>
38
+ [main service] - fix if deletemodel fail, not to navigate back.<br/>
39
+
40
+ `2.51beta`<br/>
41
+ [zudf] - enhancement to allow set zmodel to zudf.<br/>
42
+
43
+ `2.50beta`<br/>
44
+ [zgrid] - Fix bug for inline edit where form data not includes usable-but-not-visible column.<br/>
45
+
46
+ `2.49beta`<br/>
47
+ [zuicontainer] - Fix bottom y-scrollbar got cut off issue.<br/>
48
+
49
+ `2.48beta`<br/>
50
+ [zdate] - Added feature to get/set datetime by ignoring user's browser timezone (IsIgnoreTimeZone).<br/>
51
+
52
+ `2.47beta`<br/>
53
+ [zguage] - rollback some code used in v1 for crm.<br/>
54
+ [zcard] - added setData used in v1.<br/>
55
+ [zgrid] - added handling SkipLoadResourceURLData. if true, will not load resourceURL data when grid loaded.
56
+
57
+ `2.46beta`<br/>
58
+ re-publish
59
+
60
+ `2.45beta`<br/>
61
+ [zdate] - fix date picker time not updated if switch to another time zone.<br/>
62
+ [zgrid] - fix popover not showing bug.<br/>
63
+ [zworkflowbutton] - update for customheader.
64
+
65
+ `2.44beta`<br/>
66
+ [zinput] - fix style alignemnt bug on non-edit-mode.<br/>
67
+
68
+ `2.43beta`<br/>
69
+ [zinput] - fix zinput container pipe bug.<br/>
70
+
71
+ `2.42beta`<br/>
72
+ [ztree] - update handleFilter.<br/>
73
+ [ztree] - added clearFilter.<br/>
74
+ [mainservice] - fix page keep loading if formHeader not set by the project.<br/>
75
+ [uipage] - set page action default as new if currentparam did not indicate is new or edit.
76
+ [zgrid] - fix grid inline issue: not working on setColumns function.<br/>
77
+ [zinput-container] - build function to set AddOns.<br/>
78
+ [ztexteditor] - Added texteditor to zinput container<br/>
79
+ [buttons] - Added DisableTrigger property to enable/disable record processing spinner<br/>
80
+ [zselectmultiple] - Default turn off combobox virtualization to fix bug on fixed drop-down-item's height<br/>
81
+ [addon] - Fix icon onclick event, enhance button list style<br/>
82
+ [ztree] - Added Class property for custom class styling<br/>
83
+
84
+ `2.41beta`<br/>
85
+ [zgrid] - added event AfterDataBinded.<br/>
86
+ [zgrid] - added attribute handling for FilterWithoutBracket. by default valuexpression column, will have round bracket prefix for the value filtering.<br/>
87
+
88
+ `2.40beta`<br/>
89
+ [zdatetime] - fix bug: Unable to delete datetime value.<br/>
90
+ [ztree] - enhance to allow pre-set original value setting in the group.orignalvalue.<br/>
91
+
92
+ `2.39beta`<br/>
93
+ [zgrid] - fix bug on inline edit where initial data is empty, and later on set data using local data source.<br/>
94
+
95
+ `2.38beta`<br/>
96
+ [ztexteditor] - fix toolbar format error.<br/>
97
+
98
+ `2.37beta`<br/>
99
+ [zcard] - enhance styling and animation.<br/>
100
+ enhance component style to support latest kendo component version (update on k-state class).<br/>
101
+ [zlabel] - fix bug: Visible group binding value not working if initial value is false.<br/>
102
+ [button] - enhance styling and allow icon-only.<br/>
103
+ [div] Support setting input component layout at container level.<br/>
104
+
105
+ `2.36beta`<br/>
106
+ [buttons] - minor styling.<br/>
107
+ [mainservice] - handle skipUpdateUsingFormValue, skipCreateUsingFormValue if true when Create/Update Model, skip using form value and use zmodel instead.<br/>
108
+
109
+ `2.35beta`<br/>
110
+ [mainservice] - handle disableSuccessUpdateMsg, disableSuccessCreateMsg, disableSuccessDeleteMsg if true when Create/Update/Delete Model.<br/>
111
+ [znumeric] - will mark control as touched for validation if setMinValue or setMaxValue.<br/>
112
+
113
+ `2.34beta`<br/>
114
+ [mainservice] - mark form as dirty upon clone new.<br/>
115
+ [datetime] - added min and max date range feature.<br/>
116
+ [datetime] - fix bug: Cancel button fail to reset value.<br/>
117
+ [input-field-addons] - Allow binding value to group.<br/>
118
+ [zdate] - Added step value feature.<br/>
119
+ [znumeric] - Added setMinValue and setMaxValue method.<br/>
120
+
121
+ `2.33beta`<br/>
122
+ [input-field-addons] - Translate tooltip and addons for input components.<br/>
123
+ [mainservice] - default isCloneNew to false when create/update model.<br/>
124
+
125
+ `2.32beta`<br/>
126
+ [mainservice] - newmodel for formfield to reset form and clear zmodel.<br/>
127
+ [uicontent] - remove currentRouteParam when clicked.
128
+
129
+ `2.31beta`<br/>
130
+ [mainservice] - show alert when update model for form which is not dirty.<br/>
131
+ [zgrid] - Fix tooltip contains irrelevant characters.<br/>
132
+ Added spinner when processing record after clicking button.<br/>
133
+ [zform] - fix afterFormInit not triggered.
134
+
135
+ `2.30beta`<br/>
136
+ [zinput-container] - Enhance alignment for input field.<br/>
137
+ [ztab] - Fix disabled tab not hidden bug (after upgraded kendo lib).<br/>
138
+ [mainservice] - fix clonenew scope issue.
139
+
140
+ `2.29beta`<br/>
141
+ [zinput-container] - Enable input field's label to bind to group's value<br/>
142
+ [kcard] - Fix Edit Mode not working on 2nd visit.<br/>
143
+ [zselectmultiple] - fix selectmultipletree to use Value instead of items for child property name.<br/>
144
+ [workflowbutton] - changed load buttont o public. on button click, pass button info over to the function.<br/>
145
+ [mainservice] - clonenew to reload workflow button if pressed. Added afterCloneNewModel event.
146
+
147
+ `2.28beta`<br/>
148
+ [mainservice] - updatemodel to set not dirty after update success.
149
+
150
+ `2.27beta`<br/>
151
+ [mainservice] - minor fix on routing.<br/>
152
+ [zdate] - fix onchange event not updating form's value for inline grid edit.<br/>
153
+ [zgrid] - Enhanced grid loading when setData for inline edit fields.<br/>
154
+ [ztab] - Added translation for Tab Items.<br/>
155
+
156
+ `2.26beta`<br/>
157
+ [zgrid] - fixed inline edit with record Id = 0.<br/>
158
+
159
+ `2.25beta`<br/>
160
+ [workflowbutton] - enable button translation.<br/>
161
+ [mainservice] - fix backnavigation minor bug.<br/>
162
+ [zudf] - fix zudf for formbuilder.<br/>
163
+ [module] - include notificationservice.
164
+
165
+
166
+ `2.24beta`<br/>
167
+ [datetime picker] - bug fix, default 12hr format.<br/>
168
+ [zudf] - minor update on appendformcontrol.
169
+
170
+ `2.23beta`<br/>
171
+ [mainservice] - clear clonenewmodel cache when backnavigation.<br/>
172
+ [mainservice] - clonenew to set form value first before pass to model.<br/>
173
+ [zgrid] - minor fix for zgrid refresh when navigated.<br/>
174
+
175
+ `2.22beta`<br/>
176
+ [mainservice] - added handling isCloseAfterUpdate and handling isCloseAfterCreate feature.<br/>
177
+
178
+ `2.21beta`<br/>
179
+ [zdatetime] - Enhanced datetime formatting.<br/>
180
+ Updated library target build to ES2021.<br/>
181
+ [zgrid] - Fix export button for zgrid.<br/>
182
+
183
+ `2.20beta`<br/>
184
+ [zgrid] - Clear inline form data upon grid data refresh.<br/>
185
+ [zgrid] - Fix setData not working on datetime input field.<br/>
186
+ [zgrid] - Added auto refresh when backNavigation is triggered.<br/>
187
+ [mainservice] - Fix CloneNew logic.<br/>
188
+ [mainservice] - Added isCloseAfterSuccess handling.
189
+
190
+ `2.19beta`<br/>
191
+ re-compile lib for release. fix grid not showing data.<br/>
192
+ update routeParam value passed from home and menu page.
193
+
194
+ `2.18beta`<br/>
195
+ [zgrid] - Enhanced zgrid component styling with drawer. (ComponentStyleType: style1 = normal, style2 = Drawer, style3 = DEC)<br/>
196
+ [zgrid] - minor fix on date filtering column if using local data source<br/>
197
+ [ztreelist] - Fix bug where treelist is not shown if no records.<br/>
198
+ [zinput-container] - include component type = ztime<br/>
199
+ [znumeric] - to handle max decimal place.<br/>
200
+ [znumbeic] - fix wrong error message.
201
+
202
+ `2.17beta`<br/>
203
+ [querybuilder] - enhance for filtering the value option.
204
+
205
+ `2.16beta`<br/>
206
+ [backnavigation] - fix close button for previousRouteParam.
207
+
208
+ `2.15beta`<br/>
209
+ [zgrid] - Added condition check for setData.<br/>
210
+ [backnavigation] - Added null checking for previousRouteParam.
211
+
212
+ `2.14beta`<br/>
213
+ [zgrid] - Enhanced zGrid cell wrap styling. Default is nowrap.<br/>
214
+ [zgrid] - Fix isUseLocalData to base on DataSource instead of ResourceUrl.
6
215
 
216
+ `2.13beta`<br/>
217
+ [zgrid] - Fixed zGrid filtering, pagination and sorting issue, if the grid is bind to local data. <br/>
218
+ [zgrid] - Updated local data binding appraoch to use kendo grid directive. <br/>
219
+ [backnavigation] - enhance and fix back navigation route param.
220
+
221
+ `1.3.16`<br/>
222
+ [zbulletin] - enhance uibulletin to trigger first time base on setting from environment bulletinUrl.<br/>
223
+
224
+ `1.3.15`<br/>
225
+ [zbulletin] - added uibulletin for header notification.<br/>
226
+ [signalr] - added service for signalR.<br/>
227
+ [form] - added afterFormInit event to be called after component loaded.<br/>
228
+ [main service] - added backnavigate to replaceurl true.<br/>
229
+
230
+ `1.3.14`<br/>
231
+ [ztexteditor] - full text editor type will now have more tools. existing texteditor should default to basic type.
232
+
7
233
  `1.3.13`<br/>
8
234
  [telerik report] - change search report default as false.
9
235
  [telerik report] - comment out viewer auto resize. seem causing error in angular 13.
@@ -24,21 +24,19 @@ export class ButtonFieldBase extends FieldBase {
24
24
  return v;
25
25
  }
26
26
  getButtonLabel(button) {
27
+ let labelResult = button.Label || '';
28
+ let labelExpr = labelResult.match(/^{{.*}}$/gi);
29
+ if (labelExpr) {
30
+ labelExpr = labelExpr[0].slice(2, -2);
31
+ labelResult = ZComponentHelper.getGroupValue(labelExpr, this.group);
32
+ }
27
33
  if (button.Attributes) {
28
34
  const attributes = JSON.parse(button.Attributes);
29
35
  if (attributes.Label) {
30
- return attributes.Label;
36
+ labelResult = attributes.Label;
31
37
  }
32
38
  }
33
- let labelExpr = (button.Label || button.Name).match(/^{{.*}}$/gi);
34
- if (labelExpr) {
35
- labelExpr = labelExpr[0].slice(2, -2);
36
- const label = ZComponentHelper.getGroupValue(labelExpr, this.group);
37
- return label;
38
- }
39
- else {
40
- return button.Label;
41
- }
39
+ return labelResult;
42
40
  }
43
41
  buttonClick(button) {
44
42
  this.group.subject.next({
@@ -59,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
59
57
  template: ``,
60
58
  }]
61
59
  }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQXlCLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFRbEQsd0NBQXdDO0FBQ3hDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFNBQVM7SUFNNUMsWUFBWSxXQUE4QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFOckIsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUMxQixjQUFTLEdBQWUsRUFBRSxDQUFDO1FBQzNCLFVBQUssR0FBZSxFQUFFLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUlsQixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQVM7UUFDM0IsSUFBSSxTQUFTLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxNQUFXO1FBQy9CLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRTtZQUNyQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNqRCxJQUFJLFVBQVUsQ0FBQyxLQUFLLEVBQUU7Z0JBQ3BCLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQzthQUN6QjtTQUNGO1FBRUQsSUFBSSxTQUFTLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEUsSUFBSSxTQUFTLEVBQUU7WUFDYixTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxNQUFNLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRSxPQUFPLEtBQUssQ0FBQztTQUNkO2FBQU07WUFDTCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRU0sV0FBVyxDQUFDLE1BQVc7UUFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3RCLElBQUksRUFBRSxhQUFhO1lBQ25CLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVTtZQUN6QixJQUFJLEVBQUUsSUFBSTtTQUNjLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRU0scUJBQXFCLENBQUMsS0FBaUI7UUFDNUMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7NkdBbERVLGVBQWU7aUdBQWYsZUFBZSwyRUFKaEIsRUFBRTs0RkFJRCxlQUFlO2tCQUwzQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50SGVscGVyLCBaQ29tcG9uZW50T3V0cHV0RXZlbnQgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBgLFxyXG59KVxyXG5cclxuLy8gRm9yOiB6YnV0dG9ucywgem1mYiwgendvcmtmbG93YnV0dG9uc1xyXG5leHBvcnQgY2xhc3MgQnV0dG9uRmllbGRCYXNlIGV4dGVuZHMgRmllbGRCYXNlIHtcclxuICBsZWZ0QnRuczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIHJpZ2h0QnRuczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIGl0ZW1zOiBBcnJheTxhbnk+ID0gW107XHJcbiAgRmlyc3RaYnRuID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSkge1xyXG4gICAgc3VwZXIoY29tcFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluaXRDb21wb25lbnQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBzdXBlci5pbml0Q29tcG9uZW50KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNCdG5WaXNpYmxlKGZpZWxkRXhwcikge1xyXG4gICAgaWYgKGZpZWxkRXhwciAhPT0gZmFsc2UgJiYgIWZpZWxkRXhwcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmdldEdyb3VwRXZhbFZhbHVlLmNhbGwodGhpcywgZmllbGRFeHByKTtcclxuICAgIHJldHVybiB2O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEJ1dHRvbkxhYmVsKGJ1dHRvbjogYW55KSB7XHJcbiAgICBpZiAoYnV0dG9uLkF0dHJpYnV0ZXMpIHtcclxuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IEpTT04ucGFyc2UoYnV0dG9uLkF0dHJpYnV0ZXMpO1xyXG4gICAgICBpZiAoYXR0cmlidXRlcy5MYWJlbCkge1xyXG4gICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLkxhYmVsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGxhYmVsRXhwciA9IChidXR0b24uTGFiZWwgfHwgYnV0dG9uLk5hbWUpLm1hdGNoKC9ee3suKn19JC9naSk7XHJcbiAgICBpZiAobGFiZWxFeHByKSB7XHJcbiAgICAgIGxhYmVsRXhwciA9IGxhYmVsRXhwclswXS5zbGljZSgyLCAtMik7XHJcbiAgICAgIGNvbnN0IGxhYmVsID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGxhYmVsRXhwciwgdGhpcy5ncm91cCk7XHJcbiAgICAgIHJldHVybiBsYWJlbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBidXR0b24uTGFiZWw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYnV0dG9uQ2xpY2soYnV0dG9uOiBhbnkpIHtcclxuICAgIHRoaXMuZ3JvdXAuc3ViamVjdC5uZXh0KHtcclxuICAgICAgdHlwZTogXCJidXR0b25DbGlja1wiLFxyXG4gICAgICB0YXJnZXQ6IGJ1dHRvbi5DbGlja0V2ZW50LFxyXG4gICAgICBkYXRhOiBudWxsXHJcbiAgICB9IGFzIFpDb21wb25lbnRPdXRwdXRFdmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNsYXRlQnV0dG9uc0xhYmVsKGl0ZW1zOiBBcnJheTxhbnk+KTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZUJ1dHRvbkNvbXBvbmVudChpdGVtcywgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9uZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQXlCLE1BQU0saUJBQWlCLENBQUM7QUFDMUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFRbEQsd0NBQXdDO0FBQ3hDLE1BQU0sT0FBTyxlQUFnQixTQUFRLFNBQVM7SUFNNUMsWUFBWSxXQUE4QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFOckIsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUMxQixjQUFTLEdBQWUsRUFBRSxDQUFDO1FBQzNCLFVBQUssR0FBZSxFQUFFLENBQUM7UUFDdkIsY0FBUyxHQUFHLEtBQUssQ0FBQztJQUlsQixDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sWUFBWSxDQUFDLFNBQVM7UUFDM0IsSUFBSSxTQUFTLEtBQUssS0FBSyxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3JDLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFDRCxNQUFNLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ25FLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxNQUFXO1FBQy9CLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBRXJDLElBQUksU0FBUyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDaEQsSUFBSSxTQUFTLEVBQUU7WUFDYixTQUFTLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0QyxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckU7UUFFRCxJQUFJLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDckIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDakQsSUFBSSxVQUFVLENBQUMsS0FBSyxFQUFFO2dCQUNwQixXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQzthQUNoQztTQUNGO1FBRUQsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUVNLFdBQVcsQ0FBQyxNQUFXO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLEVBQUUsYUFBYTtZQUNuQixNQUFNLEVBQUUsTUFBTSxDQUFDLFVBQVU7WUFDekIsSUFBSSxFQUFFLElBQUk7U0FDYyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWlCO1FBQzVDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RFLENBQUM7OzZHQW5EVSxlQUFlO2lHQUFmLGVBQWUsMkVBSmhCLEVBQUU7NEZBSUQsZUFBZTtrQkFMM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudE91dHB1dEV2ZW50IH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBGaWVsZEJhc2UgfSBmcm9tIFwiLi9maWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuXHJcbi8vIEZvcjogemJ1dHRvbnMsIHptZmIsIHp3b3JrZmxvd2J1dHRvbnNcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgbGVmdEJ0bnM6IEFycmF5PGFueT4gPSBbXTtcclxuICByaWdodEJ0bnM6IEFycmF5PGFueT4gPSBbXTtcclxuICBpdGVtczogQXJyYXk8YW55PiA9IFtdO1xyXG4gIEZpcnN0WmJ0biA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gc3VwZXIuaW5pdENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzQnRuVmlzaWJsZShmaWVsZEV4cHIpIHtcclxuICAgIGlmIChmaWVsZEV4cHIgIT09IGZhbHNlICYmICFmaWVsZEV4cHIpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBjb25zdCB2ID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIGZpZWxkRXhwcik7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRCdXR0b25MYWJlbChidXR0b246IGFueSkge1xyXG4gICAgbGV0IGxhYmVsUmVzdWx0ID0gYnV0dG9uLkxhYmVsIHx8ICcnO1xyXG5cclxuICAgIGxldCBsYWJlbEV4cHIgPSBsYWJlbFJlc3VsdC5tYXRjaCgvXnt7Lip9fSQvZ2kpO1xyXG4gICAgaWYgKGxhYmVsRXhwcikge1xyXG4gICAgICBsYWJlbEV4cHIgPSBsYWJlbEV4cHJbMF0uc2xpY2UoMiwgLTIpO1xyXG4gICAgICBsYWJlbFJlc3VsdCA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBWYWx1ZShsYWJlbEV4cHIsIHRoaXMuZ3JvdXApO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChidXR0b24uQXR0cmlidXRlcykge1xyXG4gICAgICBjb25zdCBhdHRyaWJ1dGVzID0gSlNPTi5wYXJzZShidXR0b24uQXR0cmlidXRlcyk7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzLkxhYmVsKSB7XHJcbiAgICAgICAgbGFiZWxSZXN1bHQgPSBhdHRyaWJ1dGVzLkxhYmVsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGxhYmVsUmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1dHRvbkNsaWNrKGJ1dHRvbjogYW55KSB7XHJcbiAgICB0aGlzLmdyb3VwLnN1YmplY3QubmV4dCh7XHJcbiAgICAgIHR5cGU6IFwiYnV0dG9uQ2xpY2tcIixcclxuICAgICAgdGFyZ2V0OiBidXR0b24uQ2xpY2tFdmVudCxcclxuICAgICAgZGF0YTogbnVsbFxyXG4gICAgfSBhcyBaQ29tcG9uZW50T3V0cHV0RXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zbGF0ZUJ1dHRvbnNMYWJlbChpdGVtczogQXJyYXk8YW55Pik6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wU2VydmljZS50cmFuc2xhdGVCdXR0b25Db21wb25lbnQoaXRlbXMsIHRoaXMuZ3JvdXApO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -22,7 +22,7 @@ export class ContainerFieldBase extends FieldBase {
22
22
  return super.initComponent();
23
23
  }
24
24
  translateToolBarItems() {
25
- return this.compService.translateToolBarItems(this.toolbarItemList);
25
+ return this.compService.translateToolBarItems(this.toolbarItemList, this.group);
26
26
  }
27
27
  getToolBarItemLabelName(name) {
28
28
  return this.toolbarItemList.find(t => t.name === name)?.text || name;
@@ -39,4 +39,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
39
39
  template: ``,
40
40
  }]
41
41
  }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQVUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVFsRCxnQ0FBZ0M7QUFDaEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFPL0MsWUFBWSxXQUE4QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFQZCxvQkFBZSxHQUFHO1lBQ3ZCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzlCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1NBQ25DLENBQUM7SUFJRixDQUFDO0lBRUQsNkJBQTZCO0lBQ3RCLGtCQUFrQixDQUFDLEtBQWE7UUFDckMsT0FBTyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRU0sdUJBQXVCLENBQUMsSUFBWTtRQUN6QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDO0lBQ3ZFLENBQUM7SUFFTSxRQUFRLENBQUMsSUFBUyxFQUFFLElBQVk7UUFDckMsT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFDLENBQUM7O2dIQTlCVSxrQkFBa0I7b0dBQWxCLGtCQUFrQiwyRUFKbkIsRUFBRTs0RkFJRCxrQkFBa0I7a0JBTDlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFpGaWVsZCwgWkNvbXBvbmVudEhlbHBlciB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgRmllbGRCYXNlIH0gZnJvbSBcIi4vZmllbGRiYXNlLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpjYXJkLCB6ZGl2LCB6dGFiLCBrY2FyZFxyXG5leHBvcnQgY2xhc3MgQ29udGFpbmVyRmllbGRCYXNlIGV4dGVuZHMgRmllbGRCYXNlIHtcclxuICBwdWJsaWMgdG9vbGJhckl0ZW1MaXN0ID0gW1xyXG4gICAgeyBuYW1lOiBcIkVkaXRcIiwgdGV4dDogXCJFZGl0XCIgfSxcclxuICAgIHsgbmFtZTogXCJTYXZlXCIsIHRleHQ6IFwiU2F2ZVwiIH0sXHJcbiAgICB7IG5hbWU6IFwiQ2FuY2VsXCIsIHRleHQ6IFwiQ2FuY2VsXCIgfSxcclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb21wU2VydmljZTogWkNvbXBvbmVudFNlcnZpY2UpIHtcclxuICAgIHN1cGVyKGNvbXBTZXJ2aWNlKTtcclxuICB9XHJcblxyXG4gIC8vIGdldCBmcm9tIHp0YWIsIHpjYXJkLCB6ZGl2XHJcbiAgcHVibGljIENvbXBvbmVudElzVmlzaWJsZShmaWVsZDogWkZpZWxkKTogYW55IHtcclxuICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLkNvbXBvbmVudElzVmlzaWJsZShmaWVsZCwgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdENvbXBvbmVudCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHN1cGVyLmluaXRDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGVUb29sQmFySXRlbXMoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZVRvb2xCYXJJdGVtcyh0aGlzLnRvb2xiYXJJdGVtTGlzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0VG9vbEJhckl0ZW1MYWJlbE5hbWUobmFtZTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFySXRlbUxpc3QuZmluZCh0ID0+IHQubmFtZSA9PT0gbmFtZSk/LnRleHQgfHwgbmFtZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDbGFzcyhmb3JtOiBhbnksIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIGAke2RhdGEuRGl2Q2xhc3N9ICR7ZGF0YS5DbGFzc31gO1xyXG4gIH1cclxufVxyXG4iXX0=
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvY29udGFpbmVyZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQVUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7OztBQVFsRCxnQ0FBZ0M7QUFDaEMsTUFBTSxPQUFPLGtCQUFtQixTQUFRLFNBQVM7SUFPL0MsWUFBWSxXQUE4QjtRQUN4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFQZCxvQkFBZSxHQUFHO1lBQ3ZCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzlCLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQzlCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1NBQ25DLENBQUM7SUFJRixDQUFDO0lBRUQsNkJBQTZCO0lBQ3RCLGtCQUFrQixDQUFDLEtBQWE7UUFDckMsT0FBTyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sS0FBSyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTSxxQkFBcUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxJQUFZO1FBQ3pDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFDdkUsQ0FBQztJQUVNLFFBQVEsQ0FBQyxJQUFTLEVBQUUsSUFBWTtRQUNyQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7Z0hBOUJVLGtCQUFrQjtvR0FBbEIsa0JBQWtCLDJFQUpuQixFQUFFOzRGQUlELGtCQUFrQjtrQkFMOUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsRUFBRTtpQkFDYiIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgWkZpZWxkLCBaQ29tcG9uZW50SGVscGVyIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBGaWVsZEJhc2UgfSBmcm9tIFwiLi9maWVsZGJhc2UuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuXHJcbi8vIEZvcjogemNhcmQsIHpkaXYsIHp0YWIsIGtjYXJkXHJcbmV4cG9ydCBjbGFzcyBDb250YWluZXJGaWVsZEJhc2UgZXh0ZW5kcyBGaWVsZEJhc2Uge1xyXG4gIHB1YmxpYyB0b29sYmFySXRlbUxpc3QgPSBbXHJcbiAgICB7IG5hbWU6IFwiRWRpdFwiLCB0ZXh0OiBcIkVkaXRcIiB9LFxyXG4gICAgeyBuYW1lOiBcIlNhdmVcIiwgdGV4dDogXCJTYXZlXCIgfSxcclxuICAgIHsgbmFtZTogXCJDYW5jZWxcIiwgdGV4dDogXCJDYW5jZWxcIiB9LFxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSkge1xyXG4gICAgc3VwZXIoY29tcFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgLy8gZ2V0IGZyb20genRhYiwgemNhcmQsIHpkaXZcclxuICBwdWJsaWMgQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkOiBaRmllbGQpOiBhbnkge1xyXG4gICAgcmV0dXJuIFpDb21wb25lbnRIZWxwZXIuQ29tcG9uZW50SXNWaXNpYmxlKGZpZWxkLCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gc3VwZXIuaW5pdENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zbGF0ZVRvb2xCYXJJdGVtcygpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlVG9vbEJhckl0ZW1zKHRoaXMudG9vbGJhckl0ZW1MaXN0LCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUb29sQmFySXRlbUxhYmVsTmFtZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnRvb2xiYXJJdGVtTGlzdC5maW5kKHQgPT4gdC5uYW1lID09PSBuYW1lKT8udGV4dCB8fCBuYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldENsYXNzKGZvcm06IGFueSwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gYCR7ZGF0YS5EaXZDbGFzc30gJHtkYXRhLkNsYXNzfWA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,13 +1,15 @@
1
1
  /********** Angular **********/
2
- import { Component, ViewChild } from "@angular/core";
2
+ import { Component, EventEmitter, Output, ViewChild } from "@angular/core";
3
3
  import { FieldBase } from "./fieldbase.component";
4
4
  import { ZComponentHelper } from "mmhglobal-zcore";
5
+ import { isObservable, map, of } from "rxjs";
5
6
  import * as i0 from "@angular/core";
6
7
  import * as i1 from "../services/zcomponent.service";
7
8
  // For: zgrid, ztree, ztreelist
8
9
  export class DataListingFieldBase extends FieldBase {
9
10
  constructor(compService) {
10
11
  super(compService);
12
+ this.showFormPage = new EventEmitter();
11
13
  this.popoverData = [];
12
14
  this.toolbarItemList = [
13
15
  { name: "Search", text: "Search" },
@@ -21,13 +23,13 @@ export class DataListingFieldBase extends FieldBase {
21
23
  return super.initComponent();
22
24
  }
23
25
  getGridColumnStyle() {
24
- return this.componentProperties.style.style3 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style3) : { 'white-space': 'initial' };
26
+ return this.componentProperties.style.style3 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style3) : {};
25
27
  }
26
28
  getGridHeaderStyle() {
27
- return this.componentProperties.style.style4 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style4) : { 'white-space': 'initial' };
29
+ return this.componentProperties.style.style4 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style4) : {};
28
30
  }
29
31
  getGridFooterStyle() {
30
- return this.componentProperties.style.style9 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style9) : { 'white-space': 'initial' };
32
+ return this.componentProperties.style.style9 ? this.compService.convertStyleStringToObject(this.componentProperties.style.style9) : {};
31
33
  }
32
34
  getCellStyle(columnField, dataItem) {
33
35
  const style = columnField[`Style10`];
@@ -42,7 +44,7 @@ export class DataListingFieldBase extends FieldBase {
42
44
  return style;
43
45
  }
44
46
  translateToolBarItems() {
45
- return this.compService.translateToolBarItems(this.toolbarItemList);
47
+ return this.compService.translateToolBarItems(this.toolbarItemList, this.group);
46
48
  }
47
49
  getToolBarItemLabelName(name) {
48
50
  return this.toolbarItemList.find(t => t.name === name)?.text || name;
@@ -91,9 +93,11 @@ export class DataListingFieldBase extends FieldBase {
91
93
  getPopOverContentByCol(columns, data) {
92
94
  const popOverContent = [];
93
95
  for (const col of columns) {
94
- popOverContent.push({
95
- columnName: col.field,
96
- content: this.getPopOverContent(col, data)
96
+ this.getPopOverContent(col, data).subscribe(content => {
97
+ popOverContent.push({
98
+ columnName: col.field,
99
+ content: content
100
+ });
97
101
  });
98
102
  }
99
103
  return popOverContent;
@@ -113,7 +117,15 @@ export class DataListingFieldBase extends FieldBase {
113
117
  if (typeof func === 'function') {
114
118
  const callFunc = func.bind(this.group.ctrlScope);
115
119
  result = callFunc(columnField, dataItem);
120
+ if (isObservable(result)) {
121
+ return result.pipe(map(data => this.parsePopoverObject(data)));
122
+ }
123
+ else {
124
+ return of(this.parsePopoverObject(result));
125
+ }
116
126
  }
127
+ }
128
+ parsePopoverObject(result) {
117
129
  if (typeof result === "object") {
118
130
  return JSON.stringify(result);
119
131
  }
@@ -125,14 +137,16 @@ export class DataListingFieldBase extends FieldBase {
125
137
  }
126
138
  }
127
139
  DataListingFieldBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DataListingFieldBase, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
128
- DataListingFieldBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DataListingFieldBase, selector: "ng-component", viewQueries: [{ propertyName: "popovercontainer", first: true, predicate: ["popovercontainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
140
+ DataListingFieldBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: DataListingFieldBase, selector: "ng-component", outputs: { showFormPage: "showFormPage" }, viewQueries: [{ propertyName: "popovercontainer", first: true, predicate: ["popovercontainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
129
141
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: DataListingFieldBase, decorators: [{
130
142
  type: Component,
131
143
  args: [{
132
144
  template: ``,
133
145
  }]
134
- }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { popovercontainer: [{
146
+ }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; }, propDecorators: { showFormPage: [{
147
+ type: Output
148
+ }], popovercontainer: [{
135
149
  type: ViewChild,
136
150
  args: ["popovercontainer", { static: false }]
137
151
  }] } });
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3RpbmdmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9kYXRhbGlzdGluZ2ZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUTNELCtCQUErQjtBQUMvQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsU0FBUztJQVdqRCxZQUFZLFdBQThCO1FBQ3hDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQVZYLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLG9CQUFlLEdBQUc7WUFDdkIsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDbEMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUU7WUFDaEQsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFO1lBQ3RELEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFO1lBQ3BDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtTQUNyRCxDQUFDO0lBSUYsQ0FBQztJQUVNLGFBQWE7UUFDbEIsT0FBTyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVNLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxD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QUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksT0FBTyxJQUFJLEtBQUssVUFBVSxFQUFFO1lBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNqRCxNQUFNLEdBQUcsUUFBUSxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztTQUMxQztRQUVELElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMvQjthQUNJO1lBQ0gsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUNuQjtnQkFDRSxJQUFJLEVBQUUsTUFBTSxJQUFJLEVBQUU7YUFDbkIsQ0FDRixDQUFDO1NBQ0g7SUFDSCxDQUFDOztrSEE5SVUsb0JBQW9CO3NHQUFwQixvQkFBb0IsaU1BSnJCLEVBQUU7NEZBSUQsb0JBQW9CO2tCQUxoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiO3dHQUkyRCxnQkFBZ0I7c0JBQXpFLFNBQVM7dUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sdGlwXCI7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBgLFxyXG59KVxyXG5cclxuLy8gRm9yOiB6Z3JpZCwgenRyZWUsIHp0cmVlbGlzdFxyXG5leHBvcnQgY2xhc3MgRGF0YUxpc3RpbmdGaWVsZEJhc2UgZXh0ZW5kcyBGaWVsZEJhc2Uge1xyXG4gIEBWaWV3Q2hpbGQoXCJwb3BvdmVyY29udGFpbmVyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIHBvcG92ZXJjb250YWluZXI6IFBvcG92ZXJDb250YWluZXJEaXJlY3RpdmU7XHJcbiAgcHJvdGVjdGVkIHBvcG92ZXJEYXRhID0gW107XHJcbiAgcHVibGljIHRvb2xiYXJJdGVtTGlzdCA9IFtcclxuICAgIHsgbmFtZTogXCJTZWFyY2hcIiwgdGV4dDogXCJTZWFyY2hcIiB9LFxyXG4gICAgeyBuYW1lOiBcIlNhdmUgU2V0dGluZ3NcIiwgdGV4dDogXCJTYXZlIFNldHRpbmdzXCIgfSxcclxuICAgIHsgbmFtZTogXCJSZXN0b3JlIFNldHRpbmdzXCIsIHRleHQ6IFwiUmVzdG9yZSBTZXR0aW5nc1wiIH0sXHJcbiAgICB7IG5hbWU6IFwiQWRkIE5ld1wiLCB0ZXh0OiBcIkFkZCBOZXdcIiB9LFxyXG4gICAgeyBuYW1lOiBcIkFkdmFuY2VkIFNlYXJjaFwiLCB0ZXh0OiBcIkFkdmFuY2VkIFNlYXJjaFwiIH0sXHJcbiAgXTtcclxuXHJcbiAgY29uc3RydWN0b3IoY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlKSB7XHJcbiAgICBzdXBlcihjb21wU2VydmljZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW5pdENvbXBvbmVudCgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHN1cGVyLmluaXRDb21wb25lbnQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHcmlkQ29sdW1uU3R5bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMyA/IHRoaXMuY29tcFNlcnZpY2UuY29udmVydFN0eWxlU3RyaW5nVG9PYmplY3QodGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlMykgOiB7ICd3aGl0ZS1zcGFjZSc6ICdpbml0aWFsJyB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0R3JpZEhlYWRlclN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTQgPyB0aGlzLmNvbXBTZXJ2aWNlLmNvbnZlcnRTdHlsZVN0cmluZ1RvT2JqZWN0KHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTQpIDogeyAnd2hpdGUtc3BhY2UnOiAnaW5pdGlhbCcgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdyaWRGb290ZXJTdHlsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU5ID8gdGhpcy5jb21wU2VydmljZS5jb252ZXJ0U3R5bGVTdHJpbmdUb09iamVjdCh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU5KSA6IHsgJ3doaXRlLXNwYWNlJzogJ2luaXRpYWwnIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDZWxsU3R5bGUoY29sdW1uRmllbGQ6IFpGaWVsZCwgZGF0YUl0ZW06IGFueSk6IGFueSB7XHJcbiAgICBjb25zdCBzdHlsZSA9IGNvbHVtbkZpZWxkW2BTdHlsZTEwYF07XHJcbiAgICBjb25zdCBmdW5jID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cEV2YWxWYWx1ZS5jYWxsKHRoaXMsIHN0eWxlKTtcclxuICAgIGlmICh0eXBlb2YgZnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBjb25zdCBjYWxsRnVuYyA9IGZ1bmMuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgIHJldHVybiBjYWxsRnVuYyhkYXRhSXRlbSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0eXBlb2YgZnVuYyA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgcmV0dXJuIGZ1bmM7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNsYXRlVG9vbEJhckl0ZW1zKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wU2VydmljZS50cmFuc2xhdGVUb29sQmFySXRlbXModGhpcy50b29sYmFySXRlbUxpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFRvb2xCYXJJdGVtTGFiZWxOYW1lKG5hbWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMudG9vbGJhckl0ZW1MaXN0LmZpbmQodCA9PiB0Lm5hbWUgPT09IG5hbWUpPy50ZXh0IHx8IG5hbWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdHJhbnNsYXRlQ29sdW1uSGVhZGVyKGNvbHVtbnM6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZUdyaWRDb2x1bW5IZWFkZXIoY29sdW1ucywgdGhpcy5ncm91cCk7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gUG9wb3ZlclxyXG4gIHB1YmxpYyBzZXR1cFBvcG92ZXJGZWF0dXJlKGNvbHVtbnM6IEFycmF5PGFueT4sIGdyaWREYXRhOiBBcnJheTxhbnk+KSB7XHJcbiAgICBjb25zdCBwb3BvdmVyQ29scyA9IGNvbHVtbnMuZmlsdGVyKGMgPT4gYy5Qb3BPdmVyQ29udGVudCk7XHJcbiAgICBpZiAocG9wb3ZlckNvbHMubGVuZ3RoID4gMCAmJiBncmlkRGF0YS5sZW5ndGggPiAwKSB7XHJcblxyXG4gICAgICBmb3IgKGNvbnN0IGRhdGEgb2YgZ3JpZERhdGEpIHtcclxuICAgICAgICB0aGlzLnBvcG92ZXJEYXRhLnB1c2goXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGlkOiBkYXRhLklkLFxyXG4gICAgICAgICAgICBwb3BvdmVyQ29udGVudDogdGhpcy5nZXRQb3BPdmVyQ29udGVudEJ5Q29sKHBvcG92ZXJDb2xzLCBkYXRhKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzaG93UG9wT3Zlcihjb2x1bW5GaWVsZDogWkZpZWxkLCBldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIWNvbHVtbkZpZWxkLlBvcE92ZXJDb250ZW50IHx8ICF0aGlzLnBvcG92ZXJjb250YWluZXIpIHtcclxuICAgICAgdGhpcy5wb3BvdmVyY29udGFpbmVyLmhpZGUoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuaGlkZSgpO1xyXG4gICAgaWYgKGVsZW1lbnQubm9kZU5hbWUgPT09ICdESVYnIHx8IGVsZW1lbnQubm9kZU5hbWUgPT09ICdTUEFOJykge1xyXG4gICAgICB0aGlzLnBvcG92ZXJjb250YWluZXIuc2hvdyhlbGVtZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVBvcE92ZXIoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50ICYmIGV2ZW50LnRvRWxlbWVudCAmJiBldmVudC50b0VsZW1lbnQubm9kZU5hbWUgPT0gXCJESVZcIiAmJiAoZXZlbnQudG9FbGVtZW50LnBhcmVudEVsZW1lbnQubm9kZU5hbWUgPT0gXCJURFwiIHx8IChldmVudC50b0VsZW1lbnQucGFyZW50RWxlbWVudC5ub2RlTmFtZSA9PSBcIkRJVlwiICYmIGV2ZW50LnRvRWxlbWVudC5wYXJlbnRFbGVtZW50LmNsYXNzTmFtZS5pbmNsdWRlcyhcImstcG9wb3Zlci1ib2R5XCIpKSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5wb3BvdmVyY29udGFpbmVyLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDb250ZXh0RGF0YShhbmNob3I6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBpZiAoYW5jaG9yLmF0dHJpYnV0ZXNbXCJkYXRhLWlkXCJdICYmIGFuY2hvci5hdHRyaWJ1dGVzW1wiZGF0YS1pZFwiXS52YWx1ZSAmJiBhbmNob3IuYXR0cmlidXRlc1tcImNvbHVtbi1uYW1lXCJdICYmIGFuY2hvci5hdHRyaWJ1dGVzW1wiY29sdW1uLW5hbWVcIl0udmFsdWUpIHtcclxuICAgICAgY29uc3QgcmVjb3JkSWQgPSBhbmNob3IuYXR0cmlidXRlc1tcImRhdGEtaWRcIl0udmFsdWU7XHJcbiAgICAgIGNvbnN0IGNvbHVtbk5hbWUgPSBhbmNob3IuYXR0cmlidXRlc1tcImNvbHVtbi1uYW1lXCJdLnZhbHVlO1xyXG4gICAgICBjb25zdCBwb3BvdmVyQWxsQ29sRGF0YSA9IHRoaXMucG9wb3ZlckRhdGEuZmluZChkID0+IGQuaWQgPT0gcmVjb3JkSWQpO1xyXG4gICAgICBjb25zdCBwb3BvdmVyQ29sRGF0YSA9IHBvcG92ZXJBbGxDb2xEYXRhLnBvcG92ZXJDb250ZW50LmZpbmQoZCA9PiBkLmNvbHVtbk5hbWUgPT0gY29sdW1uTmFtZSk7XHJcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKHBvcG92ZXJDb2xEYXRhLmNvbnRlbnQpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBvcE92ZXJDb250ZW50QnlDb2woY29sdW1uczogQXJyYXk8YW55PiwgZGF0YTogYW55KTogQXJyYXk8YW55PiB7XHJcbiAgICBjb25zdCBwb3BPdmVyQ29udGVudCA9IFtdO1xyXG4gICAgZm9yIChjb25zdCBjb2wgb2YgY29sdW1ucykge1xyXG4gICAgICBwb3BPdmVyQ29udGVudC5wdXNoKHtcclxuICAgICAgICBjb2x1bW5OYW1lOiBjb2wuZmllbGQsXHJcbiAgICAgICAgY29udGVudDogdGhpcy5nZXRQb3BPdmVyQ29udGVudChjb2wsIGRhdGEpXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBwb3BPdmVyQ29udGVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0UG9wT3ZlckNvbnRlbnQoY29sdW1uRmllbGQ6IFpGaWVsZCwgZGF0YUl0ZW06IGFueSkge1xyXG4gICAgY29uc3QgY29udGVudCA9IGNvbHVtbkZpZWxkLlBvcE92ZXJDb250ZW50O1xyXG4gICAgaWYgKCFjb250ZW50KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gcmV0dXJuIHtcclxuICAgIC8vICAgQm9keTogYDxiPjI8L2I+IG1vcmUgZ29hbHMgYW5kIDxiPjU8L2I+IG1vcmUgY29tcGV0ZW5jaWVzIHRvIGdyYWRlLiA8YnIvPlxyXG4gICAgLy8gICBHb2FsIDE6IDxiIHN0eWxlPSdjb2xvcjp2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7Jz4xPC9iPiA8YnIvPmAsXHJcbiAgICAvLyAgIEJvZHlDbGFzczonYXBwcmFpc2FsLXBvcG92ZXInXHJcbiAgICAvLyB9O1xyXG4gICAgY29uc3QgZnVuYyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBjb250ZW50KTtcclxuXHJcbiAgICBsZXQgcmVzdWx0ID0gZnVuYztcclxuICAgIGlmICh0eXBlb2YgZnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBjb25zdCBjYWxsRnVuYyA9IGZ1bmMuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgIHJlc3VsdCA9IGNhbGxGdW5jKGNvbHVtbkZpZWxkLCBkYXRhSXRlbSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHR5cGVvZiByZXN1bHQgPT09IFwib2JqZWN0XCIpIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIEJvZHk6IHJlc3VsdCB8fCAnJyxcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG59XHJcbiJdfQ==
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWxpc3RpbmdmaWVsZGJhc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvY29tcG9uZW50cy9kYXRhbGlzdGluZ2ZpZWxkYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRWxELE9BQU8sRUFBRSxnQkFBZ0IsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTNELE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBTXpELCtCQUErQjtBQUMvQixNQUFNLE9BQU8sb0JBQXFCLFNBQVEsU0FBUztJQVlqRCxZQUFZLFdBQThCO1FBQ3hDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQVpYLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUUzQyxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNwQixvQkFBZSxHQUFHO1lBQ3ZCLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ2xDLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFO1lBQ2hELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxrQkFBa0IsRUFBRTtZQUN0RCxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRTtZQUNwQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUU7U0FDckQsQ0FBQztJQUlGLENBQUM7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LGdCQUFnQjtzQkFBekUsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZpZWxkQmFzZSB9IGZyb20gXCIuL2ZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpGaWVsZCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgUG9wb3ZlckNvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gXCJAcHJvZ3Jlc3Mva2VuZG8tYW5ndWxhci10b29sdGlwXCI7XHJcbmltcG9ydCB7IGlzT2JzZXJ2YWJsZSwgbWFwLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZTogYGAsXHJcbn0pXHJcblxyXG4vLyBGb3I6IHpncmlkLCB6dHJlZSwgenRyZWVsaXN0XHJcbmV4cG9ydCBjbGFzcyBEYXRhTGlzdGluZ0ZpZWxkQmFzZSBleHRlbmRzIEZpZWxkQmFzZSB7XHJcbiAgQE91dHB1dCgpIHNob3dGb3JtUGFnZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBAVmlld0NoaWxkKFwicG9wb3ZlcmNvbnRhaW5lclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJpdmF0ZSBwb3BvdmVyY29udGFpbmVyOiBQb3BvdmVyQ29udGFpbmVyRGlyZWN0aXZlO1xyXG4gIHByb3RlY3RlZCBwb3BvdmVyRGF0YSA9IFtdO1xyXG4gIHB1YmxpYyB0b29sYmFySXRlbUxpc3QgPSBbXHJcbiAgICB7IG5hbWU6IFwiU2VhcmNoXCIsIHRleHQ6IFwiU2VhcmNoXCIgfSxcclxuICAgIHsgbmFtZTogXCJTYXZlIFNldHRpbmdzXCIsIHRleHQ6IFwiU2F2ZSBTZXR0aW5nc1wiIH0sXHJcbiAgICB7IG5hbWU6IFwiUmVzdG9yZSBTZXR0aW5nc1wiLCB0ZXh0OiBcIlJlc3RvcmUgU2V0dGluZ3NcIiB9LFxyXG4gICAgeyBuYW1lOiBcIkFkZCBOZXdcIiwgdGV4dDogXCJBZGQgTmV3XCIgfSxcclxuICAgIHsgbmFtZTogXCJBZHZhbmNlZCBTZWFyY2hcIiwgdGV4dDogXCJBZHZhbmNlZCBTZWFyY2hcIiB9LFxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSkge1xyXG4gICAgc3VwZXIoY29tcFNlcnZpY2UpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGluaXRDb21wb25lbnQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiBzdXBlci5pbml0Q29tcG9uZW50KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0R3JpZENvbHVtblN0eWxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTMgPyB0aGlzLmNvbXBTZXJ2aWNlLmNvbnZlcnRTdHlsZVN0cmluZ1RvT2JqZWN0KHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5zdHlsZS5zdHlsZTMpIDoge31cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRHcmlkSGVhZGVyU3R5bGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNCA/IHRoaXMuY29tcFNlcnZpY2UuY29udmVydFN0eWxlU3RyaW5nVG9PYmplY3QodGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLnN0eWxlLnN0eWxlNCkgOiB7fVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEdyaWRGb290ZXJTdHlsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU5ID8gdGhpcy5jb21wU2VydmljZS5jb252ZXJ0U3R5bGVTdHJpbmdUb09iamVjdCh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuc3R5bGUuc3R5bGU5KSA6IHt9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q2VsbFN0eWxlKGNvbHVtbkZpZWxkOiBaRmllbGQsIGRhdGFJdGVtOiBhbnkpOiBhbnkge1xyXG4gICAgY29uc3Qgc3R5bGUgPSBjb2x1bW5GaWVsZFtgU3R5bGUxMGBdO1xyXG4gICAgY29uc3QgZnVuYyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBzdHlsZSk7XHJcbiAgICBpZiAodHlwZW9mIGZ1bmMgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgY29uc3QgY2FsbEZ1bmMgPSBmdW5jLmJpbmQodGhpcy5ncm91cC5jdHJsU2NvcGUpO1xyXG4gICAgICByZXR1cm4gY2FsbEZ1bmMoZGF0YUl0ZW0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodHlwZW9mIGZ1bmMgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBmdW5jO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zbGF0ZVRvb2xCYXJJdGVtcygpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlVG9vbEJhckl0ZW1zKHRoaXMudG9vbGJhckl0ZW1MaXN0LCB0aGlzLmdyb3VwKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRUb29sQmFySXRlbUxhYmVsTmFtZShuYW1lOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLnRvb2xiYXJJdGVtTGlzdC5maW5kKHQgPT4gdC5uYW1lID09PSBuYW1lKT8udGV4dCB8fCBuYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRyYW5zbGF0ZUNvbHVtbkhlYWRlcihjb2x1bW5zOiBhbnlbXSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wU2VydmljZS50cmFuc2xhdGVHcmlkQ29sdW1uSGVhZGVyKGNvbHVtbnMsIHRoaXMuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgLy8jcmVnaW9uIFBvcG92ZXJcclxuICBwdWJsaWMgc2V0dXBQb3BvdmVyRmVhdHVyZShjb2x1bW5zOiBBcnJheTxhbnk+LCBncmlkRGF0YTogQXJyYXk8YW55Pikge1xyXG4gICAgY29uc3QgcG9wb3ZlckNvbHMgPSBjb2x1bW5zLmZpbHRlcihjID0+IGMuUG9wT3ZlckNvbnRlbnQpO1xyXG4gICAgaWYgKHBvcG92ZXJDb2xzLmxlbmd0aCA+IDAgJiYgZ3JpZERhdGEubGVuZ3RoID4gMCkge1xyXG5cclxuICAgICAgZm9yIChjb25zdCBkYXRhIG9mIGdyaWREYXRhKSB7XHJcbiAgICAgICAgdGhpcy5wb3BvdmVyRGF0YS5wdXNoKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBpZDogZGF0YS5JZCxcclxuICAgICAgICAgICAgcG9wb3ZlckNvbnRlbnQ6IHRoaXMuZ2V0UG9wT3ZlckNvbnRlbnRCeUNvbChwb3BvdmVyQ29scywgZGF0YSlcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd1BvcE92ZXIoY29sdW1uRmllbGQ6IFpGaWVsZCwgZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCFjb2x1bW5GaWVsZC5Qb3BPdmVyQ29udGVudCB8fCAhdGhpcy5wb3BvdmVyY29udGFpbmVyKSB7XHJcbiAgICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5oaWRlKCk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBlbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgdGhpcy5wb3BvdmVyY29udGFpbmVyLmhpZGUoKTtcclxuICAgIGlmIChlbGVtZW50Lm5vZGVOYW1lID09PSAnRElWJyB8fCBlbGVtZW50Lm5vZGVOYW1lID09PSAnU1BBTicpIHtcclxuICAgICAgdGhpcy5wb3BvdmVyY29udGFpbmVyLnNob3coZWxlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3BPdmVyKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChldmVudCAmJiBldmVudC50b0VsZW1lbnQgJiYgZXZlbnQudG9FbGVtZW50Lm5vZGVOYW1lID09IFwiRElWXCIgJiYgKGV2ZW50LnRvRWxlbWVudC5wYXJlbnRFbGVtZW50Lm5vZGVOYW1lID09IFwiVERcIiB8fCAoZXZlbnQudG9FbGVtZW50LnBhcmVudEVsZW1lbnQubm9kZU5hbWUgPT0gXCJESVZcIiAmJiBldmVudC50b0VsZW1lbnQucGFyZW50RWxlbWVudC5jbGFzc05hbWUuaW5jbHVkZXMoXCJrLXBvcG92ZXItYm9keVwiKSkpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMucG9wb3ZlcmNvbnRhaW5lci5oaWRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0Q29udGV4dERhdGEoYW5jaG9yOiBIVE1MRWxlbWVudCkge1xyXG4gICAgaWYgKGFuY2hvci5hdHRyaWJ1dGVzW1wiZGF0YS1pZFwiXSAmJiBhbmNob3IuYXR0cmlidXRlc1tcImRhdGEtaWRcIl0udmFsdWUgJiYgYW5jaG9yLmF0dHJpYnV0ZXNbXCJjb2x1bW4tbmFtZVwiXSAmJiBhbmNob3IuYXR0cmlidXRlc1tcImNvbHVtbi1uYW1lXCJdLnZhbHVlKSB7XHJcbiAgICAgIGNvbnN0IHJlY29yZElkID0gYW5jaG9yLmF0dHJpYnV0ZXNbXCJkYXRhLWlkXCJdLnZhbHVlO1xyXG4gICAgICBjb25zdCBjb2x1bW5OYW1lID0gYW5jaG9yLmF0dHJpYnV0ZXNbXCJjb2x1bW4tbmFtZVwiXS52YWx1ZTtcclxuICAgICAgY29uc3QgcG9wb3ZlckFsbENvbERhdGEgPSB0aGlzLnBvcG92ZXJEYXRhLmZpbmQoZCA9PiBkLmlkID09IHJlY29yZElkKTtcclxuICAgICAgY29uc3QgcG9wb3ZlckNvbERhdGEgPSBwb3BvdmVyQWxsQ29sRGF0YS5wb3BvdmVyQ29udGVudC5maW5kKGQgPT4gZC5jb2x1bW5OYW1lID09IGNvbHVtbk5hbWUpO1xyXG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShwb3BvdmVyQ29sRGF0YS5jb250ZW50KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRQb3BPdmVyQ29udGVudEJ5Q29sKGNvbHVtbnM6IEFycmF5PGFueT4sIGRhdGE6IGFueSk6IEFycmF5PGFueT4ge1xyXG4gICAgY29uc3QgcG9wT3ZlckNvbnRlbnQgPSBbXTtcclxuICAgIGZvciAoY29uc3QgY29sIG9mIGNvbHVtbnMpIHtcclxuICAgICAgdGhpcy5nZXRQb3BPdmVyQ29udGVudChjb2wsIGRhdGEpLnN1YnNjcmliZShjb250ZW50ID0+IHtcclxuICAgICAgICBwb3BPdmVyQ29udGVudC5wdXNoKHtcclxuICAgICAgICAgIGNvbHVtbk5hbWU6IGNvbC5maWVsZCxcclxuICAgICAgICAgIGNvbnRlbnQ6IGNvbnRlbnRcclxuICAgICAgICB9KTtcclxuICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcG9wT3ZlckNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFBvcE92ZXJDb250ZW50KGNvbHVtbkZpZWxkOiBaRmllbGQsIGRhdGFJdGVtOiBhbnkpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xyXG4gICAgY29uc3QgY29udGVudCA9IGNvbHVtbkZpZWxkLlBvcE92ZXJDb250ZW50O1xyXG4gICAgaWYgKCFjb250ZW50KSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgLy8gcmV0dXJuIHtcclxuICAgIC8vICAgQm9keTogYDxiPjI8L2I+IG1vcmUgZ29hbHMgYW5kIDxiPjU8L2I+IG1vcmUgY29tcGV0ZW5jaWVzIHRvIGdyYWRlLiA8YnIvPlxyXG4gICAgLy8gICBHb2FsIDE6IDxiIHN0eWxlPSdjb2xvcjp2YXIoLS1pb24tY29sb3ItcHJpbWFyeSk7Jz4xPC9iPiA8YnIvPmAsXHJcbiAgICAvLyAgIEJvZHlDbGFzczonYXBwcmFpc2FsLXBvcG92ZXInXHJcbiAgICAvLyB9O1xyXG4gICAgY29uc3QgZnVuYyA9IFpDb21wb25lbnRIZWxwZXIuZ2V0R3JvdXBFdmFsVmFsdWUuY2FsbCh0aGlzLCBjb250ZW50KTtcclxuXHJcbiAgICBsZXQgcmVzdWx0ID0gZnVuYztcclxuICAgIGlmICh0eXBlb2YgZnVuYyA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBjb25zdCBjYWxsRnVuYyA9IGZ1bmMuYmluZCh0aGlzLmdyb3VwLmN0cmxTY29wZSk7XHJcbiAgICAgIHJlc3VsdCA9IGNhbGxGdW5jKGNvbHVtbkZpZWxkLCBkYXRhSXRlbSk7XHJcblxyXG4gICAgICBpZiAoaXNPYnNlcnZhYmxlKHJlc3VsdCkpIHtcclxuICAgICAgICByZXR1cm4gcmVzdWx0LnBpcGUobWFwKGRhdGEgPT4gdGhpcy5wYXJzZVBvcG92ZXJPYmplY3QoZGF0YSkpKTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICByZXR1cm4gb2YodGhpcy5wYXJzZVBvcG92ZXJPYmplY3QocmVzdWx0KSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFyc2VQb3BvdmVyT2JqZWN0KHJlc3VsdCk6IHN0cmluZyB7XHJcbiAgICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gXCJvYmplY3RcIikge1xyXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkocmVzdWx0KTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgQm9keTogcmVzdWx0IHx8ICcnLFxyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8jZW5kcmVnaW9uXHJcbn1cclxuIl19
@@ -36,6 +36,9 @@ export class FieldBase {
36
36
  this.data.ComponentStyleType = this.data.ComponentStyleType || "style1";
37
37
  return forkJoin([this.compService.translateComponentField(this.data, this.group), this.compService.translateComponentProperties(this.componentProperties, this.group)]);
38
38
  }
39
+ setupInnerField() {
40
+ ZComponentHelper.registerComponent(this);
41
+ }
39
42
  isMobileScreen() {
40
43
  const v = ZComponentHelper.isMobileScreen();
41
44
  return v;
@@ -66,7 +69,7 @@ export class FieldBase {
66
69
  return iconName;
67
70
  }
68
71
  toggleEditMode() {
69
- this.data.EditMode.value = !this.data.EditMode.value;
72
+ this.data[`_EditMode`].value = !this.data[`_EditMode`].value;
70
73
  }
71
74
  }
72
75
  FieldBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FieldBase, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
@@ -87,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
87
90
  }], componentProperties: [{
88
91
  type: Input
89
92
  }] } });
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFPNUMsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBTyxTQUFTO0lBUXBCLFlBQW1CLFdBQThCO1FBQTlCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUQxQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBMkNqQixjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1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QUFDLENBQUM7U0FDdkQ7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDdkQsQ0FBQzs7dUdBOUVVLFNBQVM7MkZBQVQsU0FBUywwTEFKVixFQUFFOzRGQUlELFNBQVM7a0JBTHJCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLEVBQUU7aUJBQ2I7d0dBSVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudEhlbHBlciwgWkNvbXBvbmVudFByb3BlcnRpZXMsIFpGaWVsZCwgWkdyb3VwIH0gZnJvbSBcIm1taGdsb2JhbC16Y29yZVwiO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRTZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2VzL3pjb21wb25lbnQuc2VydmljZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGU6IGBgLFxyXG59KVxyXG5cclxuLy8gRm9yOiBhcHAtZXJyb3IsIHpnYXVnZSwgenByb2dyZXNzYmFyLCB6cmVwb3J0XHJcbmV4cG9ydCBjbGFzcyBGaWVsZEJhc2Uge1xyXG4gIEBJbnB1dCgpIGRhdGE6IFpGaWVsZDtcclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBjb250YWluZXJGaWVsZDogWkZpZWxkO1xyXG4gIEBJbnB1dCgpIGNvbXBvbmVudFByb3BlcnRpZXM6IFpDb21wb25lbnRQcm9wZXJ0aWVzO1xyXG5cclxuICBwdWJsaWMgaXNMb2FkaW5nID0gdHJ1ZTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlKSB7IH1cclxuXHJcbiAgcHVibGljIGluaXRDb21wb25lbnQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcyA9IHRoaXMuY29tcG9uZW50UHJvcGVydGllcyB8fCBuZXcgWkNvbXBvbmVudFByb3BlcnRpZXMoKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIuc2V0Q29tcG9uZW50UHJvcGVydGllcyh0aGlzKTtcclxuICAgIFpDb21wb25lbnRIZWxwZXIucmVnaXN0ZXJDb21wb25lbnQodGhpcyk7XHJcbiAgICB0aGlzLmNvbXBTZXJ2aWNlLnNldENvbXBvbmVudEFkZGl0aW9uYWxQcm9wZXJ0aWVzKHRoaXMpO1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRDb21wU3R5bGVzQnlJbmRleCh0aGlzKTtcclxuICAgIHRoaXMuZGF0YS5Db21wb25lbnRTdHlsZVR5cGUgPSB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlIHx8IFwic3R5bGUxXCI7XHJcbiAgICByZXR1cm4gZm9ya0pvaW4oW3RoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50RmllbGQodGhpcy5kYXRhLCB0aGlzLmdyb3VwKSwgdGhpcy5jb21wU2VydmljZS50cmFuc2xhdGVDb21wb25lbnRQcm9wZXJ0aWVzKHRoaXMuY29tcG9uZW50UHJvcGVydGllcywgdGhpcy5ncm91cCldKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIGAke1pDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKX0gJHtkYXRhLkRpdkNsYXNzfSAke2RhdGEuQ2xhc3N9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJb25fSW52YWxpZENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFN0eWxlKHN0eWxlOiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pY29uID0gaWNvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbFRleHQobGFiZWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsID0gbGFiZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29udGFpbmVyU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICB0aGlzLmNvbXBTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIHN0eWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICBjb25zdCBmYyA9IHRoaXMuZ3JvdXA/LmZvcm0/LmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBpZiAoZmMpIHtcclxuICAgICAgc3RhdHVzID8gZmMuZW5hYmxlKCkgOiBmYy5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGb250QXdlc29tZShpY29uTmFtZTogYW55KSB7XHJcbiAgICBjb25zdCBpY29uTmFtZVZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGljb25OYW1lLCB0aGlzLmdyb3VwKTtcclxuICAgIGlmIChpY29uTmFtZVZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldEZvbnRBd2Vzb21lKGljb25OYW1lVmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGljb25OYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCkge1xyXG4gICAgdGhpcy5kYXRhLkVkaXRNb2RlLnZhbHVlID0gIXRoaXMuZGF0YS5FZGl0TW9kZS52YWx1ZTtcclxuICB9XHJcbn1cclxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGRiYXNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2NvbXBvbmVudHMvZmllbGRiYXNlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFhLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBa0IsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsUUFBUSxFQUFjLE1BQU0sTUFBTSxDQUFDOzs7QUFPNUMsZ0RBQWdEO0FBQ2hELE1BQU0sT0FBTyxTQUFTO0lBUXBCLFlBQW1CLFdBQThCO1FBQTlCLGdCQUFXLEdBQVgsV0FBVyxDQUFtQjtRQUQxQyxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBK0NqQixjQUFTLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUNyQyxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2RCxJQUFJLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsR0FBRyxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDLENBQUE7UUFFTSxlQUFVLEdBQUcsQ0FBQyxNQUFlLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztZQUM1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LENBQUM7UUFDM0UsSUFBSSxhQUFhLEVBQUU7WUFDakIsT0FBTyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdkQ7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU0sY0FBYztRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQy9ELENBQUM7O3VHQWxGVSxTQUFTOzJGQUFULFNBQVMsMExBSlYsRUFBRTs0RkFJRCxTQUFTO2tCQUxyQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiO3dHQUlVLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnRIZWxwZXIsIFpDb21wb25lbnRQcm9wZXJ0aWVzLCBaRmllbGQsIFpHcm91cCB9IGZyb20gXCJtbWhnbG9iYWwtemNvcmVcIjtcclxuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBaQ29tcG9uZW50U2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlcy96Y29tcG9uZW50LnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHRlbXBsYXRlOiBgYCxcclxufSlcclxuXHJcbi8vIEZvcjogYXBwLWVycm9yLCB6Z2F1Z2UsIHpwcm9ncmVzc2JhciwgenJlcG9ydFxyXG5leHBvcnQgY2xhc3MgRmllbGRCYXNlIHtcclxuICBASW5wdXQoKSBkYXRhOiBaRmllbGQ7XHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgY29udGFpbmVyRmllbGQ6IFpGaWVsZDtcclxuICBASW5wdXQoKSBjb21wb25lbnRQcm9wZXJ0aWVzOiBaQ29tcG9uZW50UHJvcGVydGllcztcclxuXHJcbiAgcHVibGljIGlzTG9hZGluZyA9IHRydWU7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGNvbXBTZXJ2aWNlOiBaQ29tcG9uZW50U2VydmljZSkgeyB9XHJcblxyXG4gIHB1YmxpYyBpbml0Q29tcG9uZW50KCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMgPSB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMgfHwgbmV3IFpDb21wb25lbnRQcm9wZXJ0aWVzKCk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnNldENvbXBvbmVudFByb3BlcnRpZXModGhpcyk7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLnJlZ2lzdGVyQ29tcG9uZW50KHRoaXMpO1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRDb21wb25lbnRBZGRpdGlvbmFsUHJvcGVydGllcyh0aGlzKTtcclxuICAgIHRoaXMuY29tcFNlcnZpY2Uuc2V0Q29tcFN0eWxlc0J5SW5kZXgodGhpcyk7XHJcbiAgICB0aGlzLmRhdGEuQ29tcG9uZW50U3R5bGVUeXBlID0gdGhpcy5kYXRhLkNvbXBvbmVudFN0eWxlVHlwZSB8fCBcInN0eWxlMVwiO1xyXG4gICAgcmV0dXJuIGZvcmtKb2luKFt0aGlzLmNvbXBTZXJ2aWNlLnRyYW5zbGF0ZUNvbXBvbmVudEZpZWxkKHRoaXMuZGF0YSwgdGhpcy5ncm91cCksIHRoaXMuY29tcFNlcnZpY2UudHJhbnNsYXRlQ29tcG9uZW50UHJvcGVydGllcyh0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMsIHRoaXMuZ3JvdXApXSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0dXBJbm5lckZpZWxkKCkge1xyXG4gICAgWkNvbXBvbmVudEhlbHBlci5yZWdpc3RlckNvbXBvbmVudCh0aGlzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRDbGFzcyhmb3JtOiBGb3JtR3JvdXAsIGRhdGE6IFpGaWVsZCkge1xyXG4gICAgcmV0dXJuIGAke1pDb21wb25lbnRIZWxwZXIuZ2V0SW9uX0ludmFsaWRDbGFzcyhmb3JtLCBkYXRhKX0gJHtkYXRhLkRpdkNsYXNzfSAke2RhdGEuQ2xhc3N9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJb25fSW52YWxpZENsYXNzKGZvcm06IEZvcm1Hcm91cCwgZGF0YTogWkZpZWxkKSB7XHJcbiAgICByZXR1cm4gWkNvbXBvbmVudEhlbHBlci5nZXRJb25fSW52YWxpZENsYXNzKGZvcm0sIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFN0eWxlKHN0eWxlOiBzdHJpbmcsIGluZDogc3RyaW5nID0gXCJcIikge1xyXG4gICAgdGhpcy5jb21wU2VydmljZS5zZXRTdHlsZUJ5SW5kZXgodGhpcywgaW5kLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SWNvbihpY29uOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pY29uID0gaWNvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRMYWJlbFRleHQobGFiZWw6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmxhYmVsID0gbGFiZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0Q29udGFpbmVyU3R5bGUoc3R5bGU6IHN0cmluZywgaW5kOiBzdHJpbmcgPSBcIlwiKSB7XHJcbiAgICB0aGlzLmNvbXBTZXJ2aWNlLnNldENvbnRhaW5lclN0eWxlQnlJbmRleCh0aGlzLCBpbmQsIHN0eWxlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRFbmFibGUgPSAoc3RhdHVzOiBib29sZWFuKSA9PiB7XHJcbiAgICBjb25zdCBmYyA9IHRoaXMuZ3JvdXA/LmZvcm0/LmNvbnRyb2xzW3RoaXMuZGF0YS5WYWx1ZV07XHJcbiAgICBpZiAoZmMpIHtcclxuICAgICAgc3RhdHVzID8gZmMuZW5hYmxlKCkgOiBmYy5kaXNhYmxlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNvbXBvbmVudFByb3BlcnRpZXMuaXNSZWFkT25seSA9ICFzdGF0dXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0VmlzaWJsZSA9IChzdGF0dXM6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMuY29tcG9uZW50UHJvcGVydGllcy5pc1Zpc2libGUgPSBzdGF0dXM7XHJcbiAgICB0aGlzLmRhdGEuVmlzaWJsZSA9IHN0YXR1cztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRSZXF1aXJlID0gKHN0YXR1czogYm9vbGVhbikgPT4ge1xyXG4gICAgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLmlzUmVxdWlyZWQgPSBzdGF0dXM7XHJcbiAgICBaQ29tcG9uZW50SGVscGVyLmNoYW5nZVZhbGlkYXRvcihzdGF0dXMsIHRoaXMuZ3JvdXAsIHRoaXMuZGF0YS5WYWx1ZSwgdGhpcy5jb21wb25lbnRQcm9wZXJ0aWVzLCBWYWxpZGF0b3JzLnJlcXVpcmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRGb250QXdlc29tZShpY29uTmFtZTogYW55KSB7XHJcbiAgICBjb25zdCBpY29uTmFtZVZhbHVlID0gWkNvbXBvbmVudEhlbHBlci5nZXRHcm91cFZhbHVlKGljb25OYW1lLCB0aGlzLmdyb3VwKTtcclxuICAgIGlmIChpY29uTmFtZVZhbHVlKSB7XHJcbiAgICAgIHJldHVybiBaQ29tcG9uZW50SGVscGVyLmdldEZvbnRBd2Vzb21lKGljb25OYW1lVmFsdWUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGljb25OYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZUVkaXRNb2RlKCkge1xyXG4gICAgdGhpcy5kYXRhW2BfRWRpdE1vZGVgXS52YWx1ZSA9ICF0aGlzLmRhdGFbYF9FZGl0TW9kZWBdLnZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=