mmhglobal-dynamicform 2.12.2 → 2.12.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,523 +2,8 @@
2
2
 
3
3
  This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 11.2.13.
4
4
 
5
- ## Changelog
6
- `2.12.2`<br/>
7
- [grid] - Enhanced row condition style handling. #2468<br/>
8
- [treelist] - Applied row condition style handling. #2468<br/>
9
- [grid] - Standardize zgrid selected row color with user profile. #2442 (Need to merge variables.scss into your project)<br/>
10
- [treelist] - Standardized grid and treelist styling. Centralized common CSS in zgrid.component.scss. #2646 <br/>
11
- [treelist] - Fix not pageAble bug. #2662 <br/>
12
-
13
- `2.12.1`<br/>
14
- [spinner] - Add in new UI Component. Type: spinner<br/>
15
- [virtual_scroll] - Add in new UI Component. Type: virtual_scroll<br/>
16
- [ksplitter] - Allow control MinWidth, MaxWidth and style for each panel.<br/>
17
- [fieldbase] - Added more component methods to set, append, remove css style.<br/>
18
- [zloop] - Fix bug on zloop: Visible property not working. Fix Styling Bug.<br/>
19
- [zcard,ztab] - set data.Class into ngClass<br/>
20
- [ztexteditor] - Allow additional settings: iframe<br/>
21
- [zupload] - Fix bug on selectEventHandler to handle undefined.<br/>
22
- [input-error-message] - Hide error message if the input field is disabled. #2500<br/>
23
- [fieldbase] - Still register zinput-container component even if visible=false, so that we can access to zinput-container's method.<br/>
24
- [main.service] - Revamp showzModal() function. From using Promise to Observable.<br/>
25
- [grid] - Added row condition style handling.
26
-
27
- `2.12.0`<br/>
28
- [main.service] - redirect to startup page if route param is empty.<br/>
29
- [zkcard] - removed zkcard which used by PSAP.<br/>
30
- [sfquerybuilder] - added more component type for data type filtering.
31
-
32
- `2.11.3`<br/>
33
- [sfquerybuilder] - renamed dropdown display text by adding prefix if kcard involve.<br/>
34
- [sfquerybuilder] - code clean up.
35
-
36
- `2.11.2`<br/>
37
- [sfquerybuilder] - increase filter weight & decrease operator weight.<br/>
38
- [sfquerybuilder] - exclude zlabel in filter list.
39
-
40
- `2.11.1`<br/>
41
- [workflowbutton] - added deleteGotoButton function .<br/>
42
- [main.service] - enhanced to dismiss toast alert when navigate page.
43
-
44
- `2.11.0`<br/>
45
- [main.service] - added joinProjectSignalR, handleSignalRModificationAlert and alertFormModified function .<br/>
46
- [zcomponent.debug.service] - added if signalr enabled, to trigger signalr event if update field element.<br/>
47
- [uibulletin] - updated bulletin to use new signalr function.<br/>
48
- [uipage] - added feature for form modified alert if signalr enabled.
49
-
50
- `2.10.5`<br/>
51
- [zcomponent.service] - Fix unhandled error where component Label that contains "group." (e.g. abc@icofgroup.com) but not actually for "group.xxx".<br/>
52
- [uiheader] - enhance to allow add in new menu in the top right menu by declaring the property profileMenu: [] in the environment.ts..<br/>
53
- [zcomponent.service] - Added extra handling for Label that is array of string when setting component properties.<br/>
54
- [zupload] - add sharepoint service integration.<br/>
55
- [sfquerybuilder] - 1st field sort by alphabetically.<br/>
56
- [sfquerybuilder] - Increase the column size. <br/>
57
- [sfquerybuilder] - Version update to @21.2.4 to resolved screen freeze issue. <br/>
58
- [ztexteditor] - added allow to enable resize by setting field element attribute Resizable as true. <br/>
59
-
60
- `2.10.4`<br/>
61
- [zTreelist] - enable setFieldElementOptions for public use.<br/>
62
- [zTreelist] - added beforeLoadColumn event to be triggered when load the column if set to group.<br/>
63
- [zTreelist] - field element attribute DisplayName to be pirority if undefined, will use Name.
64
-
65
- `2.10.3`<br/>
66
- [zloop] - Fix child components in zloop get duplicated after page navigation.<br/>
67
- [ztreelist] - Fix zlabel not supported in ztreelist bug.<br/>
68
-
69
- `2.10.2`<br/>
70
- [zselectmultiple] - Use InternalComponentType to control which kendo dropdown to use.<br/>
71
- [zselectmultiple] - Fix filtering issue in 2.10.1.
72
-
73
- `2.10.1`<br/>
74
- Added new component: ksplitter. (Require middleware 2.1.2).<br/>
75
- [zdiv] - Added onclick event.<br/>
76
- [zselectmultiple] - Added kendo-dropdownlist (data.Multiple == false && data.Filterable == false).<br/>
77
- [zselectmultiple] - Added configurable property: enableFiltering and ClearButton.<br/>
78
- [ztree] - Allow binding dynamic icon list per data items.<br/>
79
- [mainservice] - shifted removeTextEditorValueFromFormPatching function to zcore.
80
-
81
- `2.10.0`<br/>
82
- Added new component: zloop. That clone it's child components to simulate ngFor behaviour. (Require middleware 2.1.1)<br/>
5
+ ## Changelog
83
6
 
84
- `2.9.4`<br/>
85
- [ztree] - enhance selected item background-color.<br/>
86
-
87
- `2.9.3`<br/>
88
- [uiheader] - enhance to allow add in new menu in the top right menu by declaring the property profileMenu: [] in the environment.ts. (adhoc) <br/>
89
-
90
- `2.9.2`<br/>
91
- [sfquerybuilder] - The default search is set to 'contains' instead of 'startswith'.<br/>
92
- [sfquerybuilder] - Added allowFiltering to enable search function in dropdown.<br/>
93
-
94
- `2.9.1`<br/>
95
- [sfquerybuilder] - added flag HideShowResultPanel to hide/show result panel.<br/>
96
-
97
- `2.9.0`<br/>
98
- removed component-error-handler-service.<br/>
99
- [input-error-message, mainservice, component.debug, zmodal, zudf, zworkflow] changed to import ComponentErrorHandlerService from zcore and also renamed variable to componentErrorHandlerService.
100
-
101
- `2.8.0`<br/>
102
- [znumeric] - Auto disable Min and Max value validator if component is not visible.<br/>
103
- [field-base] - Avoid registering component for parent class: zinput-container.<br/>
104
-
105
- `2.7.3`<br/>
106
- [inputfieldbase] - Add missing setMinValue, setMaxValue event triggering catered for znumeric component.
107
-
108
- `2.7.2`<br/>
109
- [ztree] - Added TreeListInitiallyExpandedDataIds to set default nodes to expand.<br/>
110
- [texteditor] - Implemented Field Element property (Options) to control pasteCleanupSettings.<br/>
111
- [zgrid,ztreelist] - Fix tooltip not displaying bug.<br/>
112
- [ztree] - remove !important from selected node styling, so that we can override the default css.<br/>
113
-
114
- `2.7.1`<br/>
115
- [zudf] - fix memory leak issue for _loaded event.<br/>
116
- [zform] - added to check containerIsVisible, if false, to skip the child count increment.<br/>
117
- [mainservice] - remove extra parameter not in use for existing version yet.
118
-
119
- `2.7.0`<br/>
120
- [mainservice] - code tidy and enable getStartupPage for project use; added resetRouteParam and navigateFromMenu method.
121
-
122
- `2.6.5`<br/>
123
- [zudf] - added argument for getValidatedFormZModel.
124
-
125
- `2.6.4`<br/>
126
- [sfquerybuilder] - added boolean operator.<br/>
127
- [sfquerybuilder] - handle zudf grouping field display.<br/>
128
- [sfquerybuilder] - added zudf_dropdown to handle common master dropdown.<br/>
129
- [zudf] - added to call "field element name"_loaded after zudf_loaded.
130
-
131
- `2.6.3`<br/>
132
- [zudf] - fix multi-value group not displaying saved data.
133
-
134
- `2.6.2`<br/>
135
- [zgrid] - added flag DisableAutoAppendGridDateFilterCol to allow turning off the auto append gridFilter column for date type used by Datasource.<br/>
136
- [zudf] - added DisableAutoAppendGridDateFilterCol to turn off for multi-value group.<br/>
137
- [zudf] - added when Update grid values for any arrays in the model data base on kcard component in setFormFieldzModel.
138
-
139
- `2.6.1`<br/>
140
- [zudf] - updated zudf property sequence for project usage.
141
-
142
- `2.6.0`<br/>
143
- [sfquerybuilder] - customized operator for different type of component.<br/>
144
- Majority of components will now initiate a function in the component service upon the ngAfterViewInit event to handle the event of component loading.<br/>
145
- Renamed compService to componentService to more meaningful and descriptive name.<br/>
146
- Minor code tidy.
147
-
148
- `2.5.2`<br/>
149
- [mainservice] - rephrased no changes made message to base on zmodel default message.<br/>
150
- [zgrid] - log console if generatecolumn is undefined.
151
-
152
- `2.5.1`<br/>
153
- [zudf] - added check for formcontrol when looping for cascading.
154
-
155
- `2.5.0`<br/>
156
- [zgrid] - Handle GridCellReplaceValue.
157
- [zudf] - change fieldsequence index to 1.1 instead of 1_1.
158
-
159
- `2.4.0`<br/>
160
- [components] - Fixed components to use correct icon.
161
-
162
- `2.3.2`<br/>
163
- [zudf] - fix minor bug.
164
-
165
- `2.3.1`<br/>
166
- [zudf] - fix minor bug.
167
-
168
- `2.3.0`<br/>
169
- [sfquerybuilder] - added query builder by syncfusion.<br/>
170
- [zudf, component service] - fix componentloaded event issue.
171
-
172
- `2.2.0`<br/>
173
- [zudf, component service] - implement and trial test run triggering event after zuiselectmultiple component loaded.
174
-
175
- `2.1.2`<br/>
176
- [zudf] - Fix form loading previous form when 2nd time component used.
177
-
178
- `2.1.1`<br/>
179
- [InputErrorMessageComponent] - Fix handling for zudf.<br/>
180
- [zudf] - Added loadedFieldSequence in zudf scope.<br/>
181
-
182
- `2.1.0`<br/>
183
- [zdiv] - Fix DivClass not cater for few sizes (1,7,11)<br/>
184
- [zudf] - Allow binding of Field Element to zudf component by defined FieldElementCode in Field Element, besides calling renderFieldElement()<br/>
185
- [zudf] - Inherit methods, html and styles from common parent class.<br/>
186
- [service] - Removed signalR service.<br/>
187
- [error handler] - Changed formfield to data.value for zudf related.<br/>
188
- [zudf] - Fix zudf setMultiValueGroupButtonsEnabled error.<br/>
189
- [uibulletin] - Changed to use signalR service from zcore.
190
-
191
- `2.0.6`<br/>
192
- [zudf] - fix zudf width issue if grid has too many columns<br/>
193
-
194
- `2.0.5`<br/>
195
- [zpostselectinput] - fix bug: CC OnChange bind CCValue to Value.<br/>
196
- [zpostselectinput] - fix UI styling.<br/>
197
- [zpostselectinput] - Added OnChange event for Value Field.<br/>
198
-
199
- `2.0.4`<br/>
200
- [zudf] - add more condition for validation.
201
-
202
- `2.0.3`<br/>
203
- [zudf] - bug fix for validation grouping type.
204
-
205
- `2.0.2`<br/>
206
- [mainservice] - mark form and controls as touched upon updateModel and failed validation.<br/>
207
- [textarea] - Enhance character count to skip count on empty space, line break and continuous space.<br/>
208
- Enhance setRequire() to use custom Required Validator that ignore continuous white spaces.
209
-
210
- `2.0.1`<br/>
211
- [zudf] - fix validation issue.<br/>
212
- [mainservice] - minor fix for error when navigate.
213
-
214
- `2.0.0`<br/>
215
- Release library version 2.
216
- [ztree] - Enhanced component to hide all add/remove buttons before UI rendered.<br/>
217
- [ztree] - Fix UI bug if dynamically hide/display node buttons.<br/>
218
- [ztree] - Allow control TreeviewExpandAll via group property.<br/>
219
- [ztree] - Deprecating doubleheight. Implemented css to overcome styling issue.<br/>
220
-
221
- `2.81beta`<br/>
222
- [ztree] - Enhanced component property to get value from group.<br/>
223
- [zudf] - added hide button for multivalue group. <br/>
224
-
225
- `2.80beta`<br/>
226
- [texteditor] - Fix JS errors due to kendo lib. #2083<br/>
227
- [inputfields] - Implement focus() methods on input fields<br/>
228
- [mainservice] - minor bug fix on patchUpdatedzModel() after create/update model<br/>
229
-
230
- `2.79beta`<br/>
231
- [ztexteditor] - Fix bug where image upload not working if there are multiple editor on the same page.<br/>
232
- [mainservice] - enhance and fix route issue.<br/>
233
- [zudf] - minor enhancement and bug fix.
234
-
235
- `2.78beta`<br/>
236
- [zchart] - Enhanced component with extra events handling.<br/>
237
-
238
- `2.77beta`<br/>
239
- [debugger] - handle extra watch list item.<br/>
240
- [zudf] - add zudf zmodel to the console watch list dropdown.<br/>
241
- [zudf] - added clearZModel function and also trigger clearZModel when render field element.<br/>
242
- [zudf] - reset validator for component after added data to grid for multivaluegroup.<br/>
243
- [inputfieldbase] - zudf field handle nested cascading dropdown and also auto select for required field.
244
-
245
- `2.76beta`<br/>
246
- [zudf] - remove underscore for zudf scope prefix.
247
-
248
- `2.75beta`<br/>
249
- [zudf] - minor enhancement and fixes.
250
-
251
- `2.74beta`<br/>
252
- [zudf] - minor fix.
253
-
254
- `2.73beta`<br/>
255
- [zgrid] - fix removeHandler not updating grid.<br/>
256
- [zudf] - enhancement + cleanup the code.<br/>
257
- [zworkflowbutton] - added form checking for GOTO button. require to add in attribute in field element to active. attribute to add: SkipCheckFormDirty, UseDefaultValidate.
258
-
259
- `2.72beta`<br/>
260
- [zudf] - component enhancement for userlist dropdown feature.<br/>
261
- [inputfieldbase] - tidy the code for handlign zudf.
262
-
263
- `2.71beta`<br/>
264
- [ztreelist] - Allow set default expand/collapse programtically.<br/>
265
- [zudf] - enhancement for component.<br/>
266
- [zselectmultiple] - added setSelectOption function.<br/>
267
- [inputfieldbase] - enhanced handling for zudf field on change.
268
-
269
- `2.70beta`<br/>
270
- [ztreelist] - Minor enhancement on styling, fix typo.
271
-
272
- `2.69beta`<br/>
273
- [ztreelist] - Allow selected nodes expand/collapse by default.<br/>
274
- [ztreelist] - Support html format in cell content.
275
-
276
- `2.68beta`<br/>
277
- [zudf] - enhancement for component.
278
-
279
- `2.67beta`<br/>
280
- [zudf] - enhancement for component.
281
-
282
- `2.66beta`<br/>
283
- [zudf] - enhance setFormFieldzModel method to include handling of container fields. <br/>
284
-
285
- `2.65beta`<br/>
286
- [zudf error handler] - fix error handling. <br/>
287
- [inputfieldbase] - rename variable.<br/>
288
- [zudf] - added getValidatedFormZModel function.
289
-
290
- `2.64beta`<br/>
291
- [zgrid] - change gridCustomResetCommand icon. <br/>
292
- [zudf] - enhance ui display.<br/>
293
- [zudf] - fix field not removed from preview create new form.<br/>
294
- [inputfieldbase zudf] - add more param for triggerValidation when trigger to pass back.
295
-
296
- `2.63beta`<br/>
297
- [zudf] - enhancement for ChildFields feature which will be auto populate value related base on configuration. <br/>
298
- [inputfieldbase zudf] - enhancement to support event triggering by async when onchange.
299
-
300
- `2.62beta`<br/>
301
- [zbuttons] - Allow binding group.xxx to button label and use setLabelText() to update at runtime.<br/>
302
- [zbuttons] - Fix buttons click-event in mobile mode.<br/>
303
- [uiactionbutton] - Revamp component to use component base class. <br/>
304
- [zudf] - enhancement for grouping feature. <br/>
305
- [zgrid] - support EnableCustomAddCommand and EnableCustomResetCommand EnableCustomRemoveCommand button and standard event.
306
-
307
- `2.61beta`<br/>
308
- [zudf] - enhancement for zudf to support function setModelValue.<br/>
309
-
310
- `2.60beta`<br/>
311
- [zudf] - enhancement for zudf.<br/>
312
-
313
- `2.59beta`<br/>
314
- [zudf] - restructure whole component to cater for container type.
315
-
316
- `2.58beta`<br/>
317
- [ztree] - Fix ztree filter and add/remove not working bug.
318
-
319
- `2.57beta`<br/>
320
- [zdatetime] - changed datetime popup style to classic.<br/>
321
- [ztab] - save selected tab to session and restore back when restoreselectedtab.
322
-
323
- `2.56beta`<br/>
324
- [ztexteditor] add custom image upload function. (ToolBarUploadImageMethod: 'default' | 'explorer')<br/>
325
- [ztree] Enhancement for node selection. Refer to #1977 for detail.<br/>
326
- [zselect] Fix bug on lazy loading functions not triggered upon searching.
327
-
328
- `2.55beta`<br/>
329
- [zudf] - enhancement for zudf, now will have basic validation; zudf group scope zmodel auto update.
330
-
331
- `2.54beta`<br/>
332
- [zdatetime] - fix datetime convert wrongly in different region/locale issue.
333
-
334
- `2.53beta`<br/>
335
- [ztexteditor] - fix copy/paste and duplicate newline bug.<br/>
336
-
337
- `2.52beta`<br/>
338
- [zudf] - component enhancement.<br/>
339
- [main service] - fix if deletemodel fail, not to navigate back.<br/>
340
-
341
- `2.51beta`<br/>
342
- [zudf] - enhancement to allow set zmodel to zudf.<br/>
343
-
344
- `2.50beta`<br/>
345
- [zgrid] - Fix bug for inline edit where form data not includes usable-but-not-visible column.<br/>
346
-
347
- `2.49beta`<br/>
348
- [zuicontainer] - Fix bottom y-scrollbar got cut off issue.<br/>
349
-
350
- `2.48beta`<br/>
351
- [zdate] - Added feature to get/set datetime by ignoring user's browser timezone (IsIgnoreTimeZone).<br/>
352
-
353
- `2.47beta`<br/>
354
- [zguage] - rollback some code used in v1 for crm.<br/>
355
- [zcard] - added setData used in v1.<br/>
356
- [zgrid] - added handling SkipLoadResourceURLData. if true, will not load resourceURL data when grid loaded.
357
-
358
- `2.46beta`<br/>
359
- re-publish
360
-
361
- `2.45beta`<br/>
362
- [zdate] - fix date picker time not updated if switch to another time zone.<br/>
363
- [zgrid] - fix popover not showing bug.<br/>
364
- [zworkflowbutton] - update for customheader.
365
-
366
- `2.44beta`<br/>
367
- [zinput] - fix style alignemnt bug on non-edit-mode.<br/>
368
-
369
- `2.43beta`<br/>
370
- [zinput] - fix zinput container pipe bug.<br/>
371
-
372
- `2.42beta`<br/>
373
- [ztree] - update handleFilter.<br/>
374
- [ztree] - added clearFilter.<br/>
375
- [mainservice] - fix page keep loading if formHeader not set by the project.<br/>
376
- [uipage] - set page action default as new if currentparam did not indicate is new or edit.
377
- [zgrid] - fix grid inline issue: not working on setColumns function.<br/>
378
- [zinput-container] - build function to set AddOns.<br/>
379
- [ztexteditor] - Added texteditor to zinput container<br/>
380
- [buttons] - Added DisableTrigger property to enable/disable record processing spinner<br/>
381
- [zselectmultiple] - Default turn off combobox virtualization to fix bug on fixed drop-down-item's height<br/>
382
- [addon] - Fix icon onclick event, enhance button list style<br/>
383
- [ztree] - Added Class property for custom class styling<br/>
384
-
385
- `2.41beta`<br/>
386
- [zgrid] - added event AfterDataBinded.<br/>
387
- [zgrid] - added attribute handling for FilterWithoutBracket. by default valuexpression column, will have round bracket prefix for the value filtering.<br/>
388
-
389
- `2.40beta`<br/>
390
- [zdatetime] - fix bug: Unable to delete datetime value.<br/>
391
- [ztree] - enhance to allow pre-set original value setting in the group.orignalvalue.<br/>
392
-
393
- `2.39beta`<br/>
394
- [zgrid] - fix bug on inline edit where initial data is empty, and later on set data using local data source.<br/>
395
-
396
- `2.38beta`<br/>
397
- [ztexteditor] - fix toolbar format error.<br/>
398
-
399
- `2.37beta`<br/>
400
- [zcard] - enhance styling and animation.<br/>
401
- enhance component style to support latest kendo component version (update on k-state class).<br/>
402
- [zlabel] - fix bug: Visible group binding value not working if initial value is false.<br/>
403
- [button] - enhance styling and allow icon-only.<br/>
404
- [div] Support setting input component layout at container level.<br/>
405
-
406
- `2.36beta`<br/>
407
- [buttons] - minor styling.<br/>
408
- [mainservice] - handle skipUpdateUsingFormValue, skipCreateUsingFormValue if true when Create/Update Model, skip using form value and use zmodel instead.<br/>
409
-
410
- `2.35beta`<br/>
411
- [mainservice] - handle disableSuccessUpdateMsg, disableSuccessCreateMsg, disableSuccessDeleteMsg if true when Create/Update/Delete Model.<br/>
412
- [znumeric] - will mark control as touched for validation if setMinValue or setMaxValue.<br/>
413
-
414
- `2.34beta`<br/>
415
- [mainservice] - mark form as dirty upon clone new.<br/>
416
- [datetime] - added min and max date range feature.<br/>
417
- [datetime] - fix bug: Cancel button fail to reset value.<br/>
418
- [input-field-addons] - Allow binding value to group.<br/>
419
- [zdate] - Added step value feature.<br/>
420
- [znumeric] - Added setMinValue and setMaxValue method.<br/>
421
-
422
- `2.33beta`<br/>
423
- [input-field-addons] - Translate tooltip and addons for input components.<br/>
424
- [mainservice] - default isCloneNew to false when create/update model.<br/>
425
-
426
- `2.32beta`<br/>
427
- [mainservice] - newmodel for formfield to reset form and clear zmodel.<br/>
428
- [uicontent] - remove currentRouteParam when clicked.
429
-
430
- `2.31beta`<br/>
431
- [mainservice] - show alert when update model for form which is not dirty.<br/>
432
- [zgrid] - Fix tooltip contains irrelevant characters.<br/>
433
- Added spinner when processing record after clicking button.<br/>
434
- [zform] - fix afterFormInit not triggered.
435
-
436
- `2.30beta`<br/>
437
- [zinput-container] - Enhance alignment for input field.<br/>
438
- [ztab] - Fix disabled tab not hidden bug (after upgraded kendo lib).<br/>
439
- [mainservice] - fix clonenew scope issue.
440
-
441
- `2.29beta`<br/>
442
- [zinput-container] - Enable input field's label to bind to group's value<br/>
443
- [kcard] - Fix Edit Mode not working on 2nd visit.<br/>
444
- [zselectmultiple] - fix selectmultipletree to use Value instead of items for child property name.<br/>
445
- [workflowbutton] - changed load buttont o public. on button click, pass button info over to the function.<br/>
446
- [mainservice] - clonenew to reload workflow button if pressed. Added afterCloneNewModel event.
447
-
448
- `2.28beta`<br/>
449
- [mainservice] - updatemodel to set not dirty after update success.
450
-
451
- `2.27beta`<br/>
452
- [mainservice] - minor fix on routing.<br/>
453
- [zdate] - fix onchange event not updating form's value for inline grid edit.<br/>
454
- [zgrid] - Enhanced grid loading when setData for inline edit fields.<br/>
455
- [ztab] - Added translation for Tab Items.<br/>
456
-
457
- `2.26beta`<br/>
458
- [zgrid] - fixed inline edit with record Id = 0.<br/>
459
-
460
- `2.25beta`<br/>
461
- [workflowbutton] - enable button translation.<br/>
462
- [mainservice] - fix backnavigation minor bug.<br/>
463
- [zudf] - fix zudf for formbuilder.<br/>
464
- [module] - include notificationservice.
465
-
466
-
467
- `2.24beta`<br/>
468
- [datetime picker] - bug fix, default 12hr format.<br/>
469
- [zudf] - minor update on appendformcontrol.
470
-
471
- `2.23beta`<br/>
472
- [mainservice] - clear clonenewmodel cache when backnavigation.<br/>
473
- [mainservice] - clonenew to set form value first before pass to model.<br/>
474
- [zgrid] - minor fix for zgrid refresh when navigated.<br/>
475
-
476
- `2.22beta`<br/>
477
- [mainservice] - added handling isCloseAfterUpdate and handling isCloseAfterCreate feature.<br/>
478
-
479
- `2.21beta`<br/>
480
- [zdatetime] - Enhanced datetime formatting.<br/>
481
- Updated library target build to ES2021.<br/>
482
- [zgrid] - Fix export button for zgrid.<br/>
483
-
484
- `2.20beta`<br/>
485
- [zgrid] - Clear inline form data upon grid data refresh.<br/>
486
- [zgrid] - Fix setData not working on datetime input field.<br/>
487
- [zgrid] - Added auto refresh when backNavigation is triggered.<br/>
488
- [mainservice] - Fix CloneNew logic.<br/>
489
- [mainservice] - Added isCloseAfterSuccess handling.
490
-
491
- `2.19beta`<br/>
492
- re-compile lib for release. fix grid not showing data.<br/>
493
- update routeParam value passed from home and menu page.
494
-
495
- `2.18beta`<br/>
496
- [zgrid] - Enhanced zgrid component styling with drawer. (ComponentStyleType: style1 = normal, style2 = Drawer, style3 = DEC)<br/>
497
- [zgrid] - minor fix on date filtering column if using local data source<br/>
498
- [ztreelist] - Fix bug where treelist is not shown if no records.<br/>
499
- [zinput-container] - include component type = ztime<br/>
500
- [znumeric] - to handle max decimal place.<br/>
501
- [znumbeic] - fix wrong error message.
502
-
503
- `2.17beta`<br/>
504
- [querybuilder] - enhance for filtering the value option.
505
-
506
- `2.16beta`<br/>
507
- [backnavigation] - fix close button for previousRouteParam.
508
-
509
- `2.15beta`<br/>
510
- [zgrid] - Added condition check for setData.<br/>
511
- [backnavigation] - Added null checking for previousRouteParam.
512
-
513
- `2.14beta`<br/>
514
- [zgrid] - Enhanced zGrid cell wrap styling. Default is nowrap.<br/>
515
- [zgrid] - Fix isUseLocalData to base on DataSource instead of ResourceUrl.
516
-
517
- `2.13beta`<br/>
518
- [zgrid] - Fixed zGrid filtering, pagination and sorting issue, if the grid is bind to local data. <br/>
519
- [zgrid] - Updated local data binding appraoch to use kendo grid directive. <br/>
520
- [backnavigation] - enhance and fix back navigation route param.
521
-
522
7
  `1.3.16`<br/>
523
8
  [zbulletin] - enhance uibulletin to trigger first time base on setting from environment bulletinUrl.<br/>
524
9
 
@@ -17,9 +17,9 @@ export class KsplitterComponent extends ContainerFieldBase {
17
17
  }
18
18
  }
19
19
  KsplitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: KsplitterComponent, deps: [{ token: i1.ZComponentService }], target: i0.ɵɵFactoryTarget.Component });
20
- KsplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: KsplitterComponent, selector: "app-ksplitter", usesInheritance: true, ngImport: i0, template: "<div class=\"ksplitter-container e1tag-container-style\"\r\n *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"data.Class\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-splitter [orientation]=\"data.Orientation || 'horizontal'\" class=\"e1tag-container-style1\"\r\n [style]=\"componentProperties.containerStyle.style1\">\r\n <kendo-splitter-pane *ngFor=\"let item of data.TabItems; let i = index\"\r\n [resizable]=\"item.Resizable != undefined ? item.Resizable : true\"\r\n [collapsible]=\"item.AllowCollapse != undefined ? item.AllowCollapse : true\" [size]=\"item.Size\"\r\n class=\"e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2 + item.Style\"\r\n [min]=\"item.MinWidth\" [max]=\"item.MaxWidth\">\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\"\r\n [data]=\"data | tabfilter: i + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </kendo-splitter-pane>\r\n </kendo-splitter>\r\n</div>\r\n", styles: [""], components: [{ type: i2.SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "resizeStep"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { type: i2.SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "separatorLabel", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { type: i3.ZdivComponent, selector: "app-zdiv" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "tabfilter": i6.TabFilter } });
20
+ KsplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: KsplitterComponent, selector: "app-ksplitter", usesInheritance: true, ngImport: i0, template: "<div class=\"ksplitter-container e1tag-container-style\"\r\n *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"data.Class\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-splitter [orientation]=\"data.Orientation || 'horizontal'\" class=\"e1tag-container-style1\"\r\n [style]=\"componentProperties.containerStyle.style1\">\r\n <kendo-splitter-pane *ngFor=\"let item of data.PanelItems; let i = index\"\r\n [resizable]=\"item.Resizable != undefined ? item.Resizable : true\"\r\n [collapsible]=\"item.AllowCollapse != undefined ? item.AllowCollapse : true\" [size]=\"item.Size\"\r\n class=\"e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2 + item.Style\"\r\n [min]=\"item.MinWidth\" [max]=\"item.MaxWidth\">\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\"\r\n [data]=\"data | tabfilter: i + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </kendo-splitter-pane>\r\n </kendo-splitter>\r\n</div>\r\n", styles: [""], components: [{ type: i2.SplitterComponent, selector: "kendo-splitter", inputs: ["orientation", "resizeStep"], outputs: ["layoutChange"], exportAs: ["kendoSplitter"] }, { type: i2.SplitterPaneComponent, selector: "kendo-splitter-pane", inputs: ["order", "size", "separatorLabel", "min", "max", "resizable", "collapsible", "scrollable", "collapsed", "orientation", "containsSplitter", "overlayContent"], outputs: ["sizeChange", "collapsedChange"], exportAs: ["kendoSplitterPane"] }, { type: i3.ZdivComponent, selector: "app-zdiv" }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "tabfilter": i6.TabFilter } });
21
21
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: KsplitterComponent, decorators: [{
22
22
  type: Component,
23
- args: [{ selector: "app-ksplitter", template: "<div class=\"ksplitter-container e1tag-container-style\"\r\n *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"data.Class\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-splitter [orientation]=\"data.Orientation || 'horizontal'\" class=\"e1tag-container-style1\"\r\n [style]=\"componentProperties.containerStyle.style1\">\r\n <kendo-splitter-pane *ngFor=\"let item of data.TabItems; let i = index\"\r\n [resizable]=\"item.Resizable != undefined ? item.Resizable : true\"\r\n [collapsible]=\"item.AllowCollapse != undefined ? item.AllowCollapse : true\" [size]=\"item.Size\"\r\n class=\"e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2 + item.Style\"\r\n [min]=\"item.MinWidth\" [max]=\"item.MaxWidth\">\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\"\r\n [data]=\"data | tabfilter: i + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </kendo-splitter-pane>\r\n </kendo-splitter>\r\n</div>\r\n", styles: [""] }]
23
+ args: [{ selector: "app-ksplitter", template: "<div class=\"ksplitter-container e1tag-container-style\"\r\n *ngIf=\"!isLoading && (!!componentProperties.isVisibleField ? group[componentProperties.isVisibleField] : componentProperties.isVisible)\"\r\n [ngClass]=\"data.Class\" [style]=\"componentProperties.containerStyle.style\" [class]=\"data.ComponentStyleType\">\r\n <kendo-splitter [orientation]=\"data.Orientation || 'horizontal'\" class=\"e1tag-container-style1\"\r\n [style]=\"componentProperties.containerStyle.style1\">\r\n <kendo-splitter-pane *ngFor=\"let item of data.PanelItems; let i = index\"\r\n [resizable]=\"item.Resizable != undefined ? item.Resizable : true\"\r\n [collapsible]=\"item.AllowCollapse != undefined ? item.AllowCollapse : true\" [size]=\"item.Size\"\r\n class=\"e1tag-container-style2\" [style]=\"componentProperties.containerStyle.style2 + item.Style\"\r\n [min]=\"item.MinWidth\" [max]=\"item.MaxWidth\">\r\n <app-zdiv [style]=\"componentProperties.containerStyle.style3\" class=\"e1tag-container-style3\"\r\n [data]=\"data | tabfilter: i + ''\" [form]=\"form\" [group]=\"group\" [containerField]=\"containerField\">\r\n </app-zdiv>\r\n </kendo-splitter-pane>\r\n </kendo-splitter>\r\n</div>\r\n", styles: [""] }]
24
24
  }], ctorParameters: function () { return [{ type: i1.ZComponentService }]; } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3NwbGl0dGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2tzcGxpdHRlci9rc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIva3NwbGl0dGVyL2tzcGxpdHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBTzNCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFFeEQsWUFBWSxXQUE4QjtRQUV4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUUsQ0FBQzs7K0dBVFUsa0JBQWtCO21HQUFsQixrQkFBa0IsNEVDWC9CLGl0Q0FnQkE7MkZETGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnQgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IENvbnRhaW5lckZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NvbnRhaW5lcmZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAta3NwbGl0dGVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9rc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4va3NwbGl0dGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3NwbGl0dGVyQ29tcG9uZW50IGV4dGVuZHMgQ29udGFpbmVyRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcFNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5waXBlKHRhcCgoKSA9PiB0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJrc3BsaXR0ZXItY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiXHJcbiAgKm5nSWY9XCIhaXNMb2FkaW5nICYmICghIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgW25nQ2xhc3NdPVwiZGF0YS5DbGFzc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlXCIgW2NsYXNzXT1cImRhdGEuQ29tcG9uZW50U3R5bGVUeXBlXCI+XHJcbiAgPGtlbmRvLXNwbGl0dGVyIFtvcmllbnRhdGlvbl09XCJkYXRhLk9yaWVudGF0aW9uIHx8ICdob3Jpem9udGFsJ1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMVwiXHJcbiAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIj5cclxuICAgIDxrZW5kby1zcGxpdHRlci1wYW5lICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEuVGFiSXRlbXM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICBbcmVzaXphYmxlXT1cIml0ZW0uUmVzaXphYmxlICE9IHVuZGVmaW5lZCA/IGl0ZW0uUmVzaXphYmxlIDogdHJ1ZVwiXHJcbiAgICAgIFtjb2xsYXBzaWJsZV09XCJpdGVtLkFsbG93Q29sbGFwc2UgIT0gdW5kZWZpbmVkID8gaXRlbS5BbGxvd0NvbGxhcHNlIDogdHJ1ZVwiIFtzaXplXT1cIml0ZW0uU2l6ZVwiXHJcbiAgICAgIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMlwiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlMiArIGl0ZW0uU3R5bGVcIlxyXG4gICAgICBbbWluXT1cIml0ZW0uTWluV2lkdGhcIiBbbWF4XT1cIml0ZW0uTWF4V2lkdGhcIj5cclxuICAgICAgPGFwcC16ZGl2IFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlM1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlM1wiXHJcbiAgICAgICAgW2RhdGFdPVwiZGF0YSB8IHRhYmZpbHRlcjogaSArICcnXCIgW2Zvcm1dPVwiZm9ybVwiIFtncm91cF09XCJncm91cFwiIFtjb250YWluZXJGaWVsZF09XCJjb250YWluZXJGaWVsZFwiPlxyXG4gICAgICA8L2FwcC16ZGl2PlxyXG4gICAgPC9rZW5kby1zcGxpdHRlci1wYW5lPlxyXG4gIDwva2VuZG8tc3BsaXR0ZXI+XHJcbjwvZGl2PlxyXG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3NwbGl0dGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL2tzcGxpdHRlci9rc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIva3NwbGl0dGVyL2tzcGxpdHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBRWhGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7O0FBTzNCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxrQkFBa0I7SUFFeEQsWUFBWSxXQUE4QjtRQUV4QyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDcEIsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDNUUsQ0FBQzs7K0dBVFUsa0JBQWtCO21HQUFsQixrQkFBa0IsNEVDWC9CLG10Q0FnQkE7MkZETGEsa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFpDb21wb25lbnQgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcbmltcG9ydCB7IENvbnRhaW5lckZpZWxkQmFzZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL2NvbnRhaW5lcmZpZWxkYmFzZS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgWkNvbXBvbmVudFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZXMvemNvbXBvbmVudC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gXCJyeGpzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJhcHAta3NwbGl0dGVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9rc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4va3NwbGl0dGVyLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgS3NwbGl0dGVyQ29tcG9uZW50IGV4dGVuZHMgQ29udGFpbmVyRmllbGRCYXNlIGltcGxlbWVudHMgWkNvbXBvbmVudCwgT25Jbml0IHtcclxuXHJcbiAgY29uc3RydWN0b3IoY29tcFNlcnZpY2U6IFpDb21wb25lbnRTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY29tcFNlcnZpY2UpXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLmluaXRDb21wb25lbnQoKS5waXBlKHRhcCgoKSA9PiB0aGlzLmlzTG9hZGluZyA9IGZhbHNlKSkuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJrc3BsaXR0ZXItY29udGFpbmVyIGUxdGFnLWNvbnRhaW5lci1zdHlsZVwiXHJcbiAgKm5nSWY9XCIhaXNMb2FkaW5nICYmICghIWNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlRmllbGQgPyBncm91cFtjb21wb25lbnRQcm9wZXJ0aWVzLmlzVmlzaWJsZUZpZWxkXSA6IGNvbXBvbmVudFByb3BlcnRpZXMuaXNWaXNpYmxlKVwiXHJcbiAgW25nQ2xhc3NdPVwiZGF0YS5DbGFzc1wiIFtzdHlsZV09XCJjb21wb25lbnRQcm9wZXJ0aWVzLmNvbnRhaW5lclN0eWxlLnN0eWxlXCIgW2NsYXNzXT1cImRhdGEuQ29tcG9uZW50U3R5bGVUeXBlXCI+XHJcbiAgPGtlbmRvLXNwbGl0dGVyIFtvcmllbnRhdGlvbl09XCJkYXRhLk9yaWVudGF0aW9uIHx8ICdob3Jpem9udGFsJ1wiIGNsYXNzPVwiZTF0YWctY29udGFpbmVyLXN0eWxlMVwiXHJcbiAgICBbc3R5bGVdPVwiY29tcG9uZW50UHJvcGVydGllcy5jb250YWluZXJTdHlsZS5zdHlsZTFcIj5cclxuICAgIDxrZW5kby1zcGxpdHRlci1wYW5lICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRhdGEuUGFuZWxJdGVtczsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgIFtyZXNpemFibGVdPVwiaXRlbS5SZXNpemFibGUgIT0gdW5kZWZpbmVkID8gaXRlbS5SZXNpemFibGUgOiB0cnVlXCJcclxuICAgICAgW2NvbGxhcHNpYmxlXT1cIml0ZW0uQWxsb3dDb2xsYXBzZSAhPSB1bmRlZmluZWQgPyBpdGVtLkFsbG93Q29sbGFwc2UgOiB0cnVlXCIgW3NpemVdPVwiaXRlbS5TaXplXCJcclxuICAgICAgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUyXCIgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUyICsgaXRlbS5TdHlsZVwiXHJcbiAgICAgIFttaW5dPVwiaXRlbS5NaW5XaWR0aFwiIFttYXhdPVwiaXRlbS5NYXhXaWR0aFwiPlxyXG4gICAgICA8YXBwLXpkaXYgW3N0eWxlXT1cImNvbXBvbmVudFByb3BlcnRpZXMuY29udGFpbmVyU3R5bGUuc3R5bGUzXCIgY2xhc3M9XCJlMXRhZy1jb250YWluZXItc3R5bGUzXCJcclxuICAgICAgICBbZGF0YV09XCJkYXRhIHwgdGFiZmlsdGVyOiBpICsgJydcIiBbZm9ybV09XCJmb3JtXCIgW2dyb3VwXT1cImdyb3VwXCIgW2NvbnRhaW5lckZpZWxkXT1cImNvbnRhaW5lckZpZWxkXCI+XHJcbiAgICAgIDwvYXBwLXpkaXY+XHJcbiAgICA8L2tlbmRvLXNwbGl0dGVyLXBhbmU+XHJcbiAgPC9rZW5kby1zcGxpdHRlcj5cclxuPC9kaXY+XHJcbiJdfQ==