mmhglobal-dynamicform 1.3.13 → 2.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/esm2020/lib/animations/component-animations.mjs +12 -0
  2. package/esm2020/lib/components/buttonfieldbase.component.mjs +62 -0
  3. package/esm2020/lib/components/containerfieldbase.component.mjs +42 -0
  4. package/esm2020/lib/components/datalistingfieldbase.component.mjs +138 -0
  5. package/esm2020/lib/components/fieldbase.component.mjs +90 -0
  6. package/esm2020/lib/components/inputfieldbase.component.mjs +78 -0
  7. package/esm2020/lib/directives/scrollbar.theme.directive.mjs +13 -11
  8. package/esm2020/lib/embed-components/input-field-addons/input-field-addons.component.mjs +69 -0
  9. package/esm2020/lib/input-error-message/input-error-message.component.mjs +33 -0
  10. package/esm2020/lib/kcard/kcard.component.mjs +84 -0
  11. package/esm2020/lib/mmhglobal-dynamicform.module.mjs +53 -12
  12. package/esm2020/lib/pipe/htmlSanitize.pipe.mjs +18 -0
  13. package/esm2020/lib/services/component-error-handler.service.mjs +84 -0
  14. package/esm2020/lib/services/main.service.mjs +173 -73
  15. package/esm2020/lib/services/zcomponent.debug.service.mjs +17 -8
  16. package/esm2020/lib/services/zcomponent.service.mjs +133 -9
  17. package/esm2020/lib/uiappmenucontent/uiappmenucontent.component.mjs +15 -23
  18. package/esm2020/lib/uicontainer/uicontainer.component.mjs +2 -2
  19. package/esm2020/lib/uicontent/uicontent.component.mjs +21 -9
  20. package/esm2020/lib/uiheader/uiheader.component.mjs +61 -28
  21. package/esm2020/lib/uimenucontent/uimenucontent.component.mjs +3 -3
  22. package/esm2020/lib/uipage/uipage.component.mjs +41 -26
  23. package/esm2020/lib/uivalidationmessage/uivalidationmessage.component.mjs +2 -2
  24. package/esm2020/lib/zbullet/zbullet.component.mjs +3 -2
  25. package/esm2020/lib/zbuttons/zbuttons.component.mjs +45 -91
  26. package/esm2020/lib/zcard/zcard.component.mjs +13 -60
  27. package/esm2020/lib/zcheckbox/zcheckbox.component.mjs +14 -159
  28. package/esm2020/lib/zchip/zchip.component.mjs +34 -64
  29. package/esm2020/lib/zcodeeditor/zcodeeditor.component.mjs +4 -3
  30. package/esm2020/lib/zdaterange/zdaterange.component.mjs +3 -3
  31. package/esm2020/lib/zdatetime/zdatetime.component.mjs +22 -74
  32. package/esm2020/lib/zdiv/zdiv.component.mjs +63 -40
  33. package/esm2020/lib/zdiv/zdiv.pipe.mjs +2 -2
  34. package/esm2020/lib/zform/zform.component.mjs +9 -7
  35. package/esm2020/lib/zformcontrol/zformcontrol.component.mjs +5 -3
  36. package/esm2020/lib/zgauge/zgauge.component.mjs +34 -70
  37. package/esm2020/lib/zgrid/zgrid.binding.directive.mjs +32 -30
  38. package/esm2020/lib/zgrid/zgrid.component.mjs +246 -135
  39. package/esm2020/lib/zimg/zimg.component.mjs +44 -108
  40. package/esm2020/lib/zinput-container/zinput-container.component.mjs +63 -0
  41. package/esm2020/lib/zinput-container/zinput-container.pipe.mjs +120 -0
  42. package/esm2020/lib/zkcard/zkcard.component.mjs +2 -2
  43. package/esm2020/lib/zlabel/zlabel.component.mjs +18 -94
  44. package/esm2020/lib/zmfb/zmfb.component.mjs +70 -91
  45. package/esm2020/lib/zmodal/zmodal-mobile.component.mjs +15 -11
  46. package/esm2020/lib/zmodal/zmodal.component.mjs +14 -10
  47. package/esm2020/lib/znumeric/znumeric.component.mjs +18 -94
  48. package/esm2020/lib/zpostselectinput/zpostselectinput.component.mjs +35 -87
  49. package/esm2020/lib/zprogressbar/zprogressbar.component.mjs +59 -0
  50. package/esm2020/lib/zreport/zreport.component.mjs +25 -27
  51. package/esm2020/lib/zselectmultiple/zselectmultiple.component.mjs +39 -194
  52. package/esm2020/lib/ztab/ztab.component.mjs +17 -45
  53. package/esm2020/lib/ztab/ztab.pipe.mjs +6 -4
  54. package/esm2020/lib/ztext/ztext.component.mjs +20 -180
  55. package/esm2020/lib/ztextarea/ztextarea.component.mjs +23 -101
  56. package/esm2020/lib/ztexteditor/ztexteditor.component.mjs +3 -2
  57. package/esm2020/lib/ztree/ztree.component.mjs +25 -41
  58. package/esm2020/lib/ztreelist/ztreelist.component.mjs +104 -143
  59. package/esm2020/lib/zudf/zudf.component.mjs +12 -8
  60. package/esm2020/lib/zupload/zupload.component.mjs +18 -39
  61. package/esm2020/lib/zworkflowbuttons/zworkflowbuttons.component.mjs +45 -77
  62. package/esm2020/public-api.mjs +15 -2
  63. package/fesm2015/mmhglobal-dynamicform.mjs +4529 -4392
  64. package/fesm2015/mmhglobal-dynamicform.mjs.map +1 -1
  65. package/fesm2020/mmhglobal-dynamicform.mjs +4496 -4367
  66. package/fesm2020/mmhglobal-dynamicform.mjs.map +1 -1
  67. package/lib/animations/component-animations.d.ts +1 -0
  68. package/lib/components/buttonfieldbase.component.d.ts +18 -0
  69. package/lib/components/containerfieldbase.component.d.ts +19 -0
  70. package/lib/components/datalistingfieldbase.component.d.ts +30 -0
  71. package/lib/components/fieldbase.component.d.ts +30 -0
  72. package/lib/components/inputfieldbase.component.d.ts +19 -0
  73. package/lib/embed-components/input-field-addons/input-field-addons.component.d.ts +16 -0
  74. package/lib/input-error-message/input-error-message.component.d.ts +15 -0
  75. package/lib/kcard/kcard.component.d.ts +21 -0
  76. package/lib/mmhglobal-dynamicform.module.d.ts +40 -32
  77. package/lib/pipe/htmlSanitize.pipe.d.ts +10 -0
  78. package/lib/services/component-error-handler.service.d.ts +14 -0
  79. package/lib/services/main.service.d.ts +23 -5
  80. package/lib/services/zcomponent.debug.service.d.ts +4 -1
  81. package/lib/services/zcomponent.service.d.ts +20 -4
  82. package/lib/uiappmenucontent/uiappmenucontent.component.d.ts +4 -3
  83. package/lib/uicontent/uicontent.component.d.ts +6 -2
  84. package/lib/uiheader/uiheader.component.d.ts +13 -9
  85. package/lib/zbuttons/zbuttons.component.d.ts +11 -20
  86. package/lib/zcard/zcard.component.d.ts +6 -20
  87. package/lib/zcheckbox/zcheckbox.component.d.ts +6 -36
  88. package/lib/zchip/zchip.component.d.ts +7 -16
  89. package/lib/zdatetime/zdatetime.component.d.ts +6 -14
  90. package/lib/zdiv/zdiv.component.d.ts +11 -18
  91. package/lib/zformcontrol/zformcontrol.component.d.ts +2 -1
  92. package/lib/zgauge/zgauge.component.d.ts +11 -14
  93. package/lib/zgrid/zgrid.binding.directive.d.ts +4 -2
  94. package/lib/zgrid/zgrid.component.d.ts +26 -27
  95. package/lib/zimg/zimg.component.d.ts +12 -31
  96. package/lib/zinput-container/zinput-container.component.d.ts +26 -0
  97. package/lib/zinput-container/zinput-container.pipe.d.ts +20 -0
  98. package/lib/zlabel/zlabel.component.d.ts +6 -25
  99. package/lib/zmfb/zmfb.component.d.ts +12 -20
  100. package/lib/zmodal/zmodal-mobile.component.d.ts +4 -1
  101. package/lib/zmodal/zmodal.component.d.ts +4 -1
  102. package/lib/znumeric/znumeric.component.d.ts +7 -29
  103. package/lib/zpostselectinput/zpostselectinput.component.d.ts +9 -19
  104. package/lib/zprogressbar/zprogressbar.component.d.ts +28 -0
  105. package/lib/zreport/zreport.component.d.ts +8 -11
  106. package/lib/zselectmultiple/zselectmultiple.component.d.ts +10 -35
  107. package/lib/ztab/ztab.component.d.ts +6 -19
  108. package/lib/ztext/ztext.component.d.ts +7 -35
  109. package/lib/ztextarea/ztextarea.component.d.ts +9 -27
  110. package/lib/ztree/ztree.component.d.ts +6 -12
  111. package/lib/ztreelist/ztreelist.component.d.ts +17 -27
  112. package/lib/zupload/zupload.component.d.ts +6 -13
  113. package/lib/zworkflowbuttons/zworkflowbuttons.component.d.ts +6 -20
  114. package/package.json +1 -1
  115. package/public-api.d.ts +14 -1
@@ -7,33 +7,24 @@ import { ZComponentHelper } from 'mmhglobal-zcore';
7
7
  import * as i0 from "@angular/core";
8
8
  import * as i1 from "@angular/router";
9
9
  import * as i2 from "mmhglobal-zcore";
10
- import * as i3 from "@ionic/angular";
11
- import * as i4 from "@fortawesome/angular-fontawesome";
12
- import * as i5 from "@progress/kendo-angular-layout";
13
- import * as i6 from "@angular/common";
10
+ import * as i3 from "../services/main.service";
11
+ import * as i4 from "@ionic/angular";
12
+ import * as i5 from "@fortawesome/angular-fontawesome";
13
+ import * as i6 from "@progress/kendo-angular-layout";
14
+ import * as i7 from "@angular/common";
15
+ import * as i8 from "@angular/flex-layout/extended";
14
16
  export class UiappmenucontentComponent {
15
- constructor(router, menuService, authService, zcoreService) {
17
+ constructor(router, menuService, authService, zcoreService, mainService) {
16
18
  this.router = router;
17
19
  this.menuService = menuService;
18
20
  this.authService = authService;
19
21
  this.zcoreService = zcoreService;
20
- this.colorArray = [
21
- { stroke: '#F59600', color: '#F59600' },
22
- { stroke: '#F5C800', color: '#F5C800' },
23
- { stroke: '#F5EF00', color: '#F5EF00' },
24
- { stroke: '#8FE300', color: '#8FE300' },
25
- { stroke: '#00B33D', color: '#00B33D' },
26
- { stroke: '#095D9D', color: '#095D9D' },
27
- { stroke: '#2116AA', color: '#2116AA' },
28
- { stroke: '#6509A4', color: '#6509A4' },
29
- { stroke: '#C4006F', color: '#C4006F' },
30
- { stroke: '#F52B00', color: '#F52B00' }
31
- ];
22
+ this.mainService = mainService;
32
23
  }
33
24
  ngOnInit() {
34
25
  }
35
26
  getDivClass(item) {
36
- return item.Type === 'dropdown-submenu' ? 'flex-show' : 'col-xs-4 col-sm-4 col-md-3 col-xl-2';
27
+ return (item.Type === 'dropdown-submenu' ? 'flex-show' : 'col-xs-4 col-sm-4 col-md-3 col-xl-2') + " menu-col";
37
28
  }
38
29
  getMenuList(item) {
39
30
  return item.Type === 'dropdown-submenu' ? this.menuService.getMenuFolder(item.URL) : null;
@@ -45,6 +36,7 @@ export class UiappmenucontentComponent {
45
36
  return false;
46
37
  }
47
38
  else {
39
+ this.mainService.setNavigationParams([pathName, pathName]);
48
40
  this.router.navigate([pathName]);
49
41
  }
50
42
  }
@@ -56,12 +48,12 @@ export class UiappmenucontentComponent {
56
48
  return mapInput;
57
49
  }
58
50
  }
59
- UiappmenucontentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UiappmenucontentComponent, deps: [{ token: i1.Router }, { token: i2.MenuService }, { token: i2.AuthService }, { token: i2.ZCoreService }], target: i0.ɵɵFactoryTarget.Component });
60
- UiappmenucontentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UiappmenucontentComponent, selector: "app-uiappmenucontent", inputs: { items: "items" }, ngImport: i0, template: "<ion-grid>\r\n <ion-row>\r\n <ion-col [ngClass]=\"getDivClass(item)\" *ngFor=\"let item of items; index as i\">\r\n <div *ngIf=\"item.Type !== 'dropdown-submenu'\" class=\"menu-btn ion-activatable ripple-parent\" (click)=\"menuOnClick(item.URL, item.AppClientPath)\">\r\n <ion-label class=\"menu-btn-label menu-btn-icon\">\r\n <!-- <fa-icon [icon]=\"item.Icon\"></fa-icon> -->\r\n <fa-stack size=\"1x\">\r\n <fa-icon [icon]=\"['fas', 'square']\" stackItemSize=\"2x\"\r\n [styles]=\"colorArray[i%10]\"></fa-icon>\r\n <fa-icon [icon]=\"['fas', item.Icon ]\" [inverse]=\"true\" stackItemSize=\"1x\"\r\n transform=\"grow-2\"></fa-icon>\r\n </fa-stack>\r\n <ion-badge color=\"danger\" class=\"pending-counter\"\r\n *ngIf=\"item['PendingCounter'] && item['PendingCounter'] > 0\">\r\n {{item['PendingCounter']}}\r\n </ion-badge>\r\n </ion-label>\r\n <ion-label class=\"menu-btn-label\">{{ item.Label }}</ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n <kendo-panelbar *ngIf=\"item.Type === 'dropdown-submenu'\" keepItemContent=\"true\">\r\n <kendo-panelbar-item [title]=\"item.Label\" [expanded]=\"true\" icon=\"folder\">\r\n <ng-template kendoPanelBarContent>\r\n <app-uiappmenucontent [items]=\"getMenuList(item)\"></app-uiappmenucontent>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n </ion-col>\r\n </ion-row>\r\n</ion-grid>\r\n", styles: [".menu-btn{display:flex;flex-flow:column;justify-content:center;align-items:stretch;background-color:#fff;padding:10px 5px;border:1px solid #ccc;border-radius:5px;min-height:100px;cursor:pointer}.menu-btn:hover{color:#fff;background-color:#0006}.ripple-parent{position:relative;overflow:hidden}.menu-btn-label{flex:1;text-align:center;font-size:12px}.menu-btn-icon{zoom:2}.pending-counter{background-color:#ff243a;border-radius:1em;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:2px;text-overflow:ellipsis;top:2px;transform:scale(.25);transform-origin:top right;display:inline-block;position:absolute;text-align:center;font-size:2.2em}\n"], components: [{ type: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i3.IonRow, selector: "ion-row" }, { type: i3.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i4.FaStackComponent, selector: "fa-stack", inputs: ["size"] }, { type: i4.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i3.IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { type: i3.IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }, { type: i5.PanelBarComponent, selector: "kendo-panelbar", inputs: ["expandMode", "selectable", "animate", "height", "keepItemContent", "items"], outputs: ["stateChange", "select", "expand", "collapse"], exportAs: ["kendoPanelbar"] }, { type: i5.PanelBarItemComponent, selector: "kendo-panelbar-item", inputs: ["id", "icon", "iconClass", "imageUrl", "disabled", "selected", "expanded", "title", "content", "items", "template"], exportAs: ["kendoPanelbarItem"] }, { type: UiappmenucontentComponent, selector: "app-uiappmenucontent", inputs: ["items"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.FaStackItemSizeDirective, selector: "fa-icon[stackItemSize],fa-duotone-icon[stackItemSize]", inputs: ["stackItemSize", "size"] }, { type: i5.PanelBarContentDirective, selector: "[kendoPanelBarContent]" }] });
51
+ UiappmenucontentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UiappmenucontentComponent, deps: [{ token: i1.Router }, { token: i2.MenuService }, { token: i2.AuthService }, { token: i2.ZCoreService }, { token: i3.MainService }], target: i0.ɵɵFactoryTarget.Component });
52
+ UiappmenucontentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UiappmenucontentComponent, selector: "app-uiappmenucontent", inputs: { items: "items" }, ngImport: i0, template: "<ion-grid>\r\n <ion-row>\r\n <ion-col [ngClass]=\"getDivClass(item)\" *ngFor=\"let item of items; index as i\">\r\n <div *ngIf=\"item.Type !== 'dropdown-submenu'\" class=\"menu-btn ion-activatable ripple-parent\"\r\n (click)=\"menuOnClick(item.URL, item.AppClientPath)\">\r\n <ion-label class=\"menu-btn-label menu-btn-icon\">\r\n <fa-icon class=\"menu-icon\" [icon]=\"['fas', item.Icon ]\" [inverse]=\"true\"></fa-icon>\r\n <ion-badge color=\"danger\" class=\"pending-counter\"\r\n *ngIf=\"item['PendingCounter'] && item['PendingCounter'] > 0\">\r\n {{item['PendingCounter']}}\r\n </ion-badge>\r\n </ion-label>\r\n <ion-label class=\"menu-btn-label-text\">{{ item.Label }}</ion-label>\r\n <ion-label *ngIf=\"item.Description\" class=\"menu-btn-label-text menu-btn-label-text-desc\">{{ item.Description }}\r\n </ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n\r\n <kendo-card *ngIf=\"item.Type === 'dropdown-submenu'\">\r\n <kendo-card-header class=\"k-hstack\">\r\n <ion-label class=\"card-title\" kendoCardTitle>{{item.Label}}</ion-label>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <div class=\"k-hstack\">\r\n <app-uiappmenucontent [items]=\"getMenuList(item)\"></app-uiappmenucontent>\r\n </div>\r\n </kendo-card-body>\r\n </kendo-card>\r\n\r\n <!-- <kendo-panelbar class=\"menu-panel\" *ngIf=\"item.Type === 'dropdown-submenu'\" keepItemContent=\"true\">\r\n <kendo-panelbar-item [expanded]=\"true\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span *ngIf=\"item.Icon\">\r\n <fa-icon [icon]=\"item.Icon\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <span *ngIf=\"!item.Icon\">\r\n <i class=\"fas fa-folder\" style=\"color: #000000\"></i>\r\n </span>\r\n <ion-label class=\"zcard-header-title\">{{item.Label}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent class=\"menu-content-temp\">\r\n <app-uiappmenucontent [items]=\"getMenuList(item)\"></app-uiappmenucontent>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar> -->\r\n </ion-col>\r\n </ion-row>\r\n</ion-grid>\r\n", styles: ["ion-grid{max-width:2000px;margin-top:10px}:host ::ng-deep kendo-card{width:95%!important;margin:auto auto 10px;border-radius:var(--ion-container-border-radius);border-left:5px solid var(--ion-color-primary)}:host ::ng-deep kendo-card .k-card-body{padding-top:0}.menu-col{padding:10px}.menu-btn{margin:0;padding:0;border:0px;display:flex;flex-flow:column;justify-content:center;align-items:stretch;background-color:#fff;cursor:pointer;border-radius:5px;box-shadow:1px 1px 4px #797979;min-width:180px;max-width:250px;min-height:120px;max-height:120px;color:#fff;background:var(--ion-color-primary)}.menu-btn:hover{box-shadow:0 0 2px 2px var(--ion-color-secondary)}.menu-btn:hover .menu-btn-label-text-desc{bottom:0px;transition:.5s ease bottom;width:100%}.menu-btn-label-text{text-align:center;font-size:16px;font-weight:600;padding:10px 5px}.menu-btn-label-text-desc{bottom:-100%;transition:.5s ease bottom;display:block;position:absolute;color:#000;font-size:16px;background-color:#fff;padding:8px 10px;border:1px solid #797979;border-radius:5px;text-shadow:0px 0px black;width:100%;text-align:left;font-size:14px;font-weight:500}.ripple-parent{position:relative;overflow:hidden}.menu-btn-label{text-align:center;font-size:15px}.menu-icon{zoom:3;position:relative;top:2px}.menu-btn-icon{background-size:100%}.pending-counter{background-color:#ff243a;border-radius:1em;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;text-overflow:ellipsis;top:12px;display:inline-block;position:absolute;text-align:center;font-size:1.4em;right:32%}\n"], components: [{ type: i4.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i4.IonRow, selector: "ion-row" }, { type: i4.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i4.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i4.IonBadge, selector: "ion-badge", inputs: ["color", "mode"] }, { type: i4.IonRippleEffect, selector: "ion-ripple-effect", inputs: ["type"] }, { type: i6.CardComponent, selector: "kendo-card", inputs: ["orientation", "width"] }, { type: i6.CardHeaderComponent, selector: "kendo-card-header" }, { type: i6.CardBodyComponent, selector: "kendo-card-body" }, { type: UiappmenucontentComponent, selector: "app-uiappmenucontent", inputs: ["items"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.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: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.CardTitleDirective, selector: "[kendoCardTitle]" }] });
61
53
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UiappmenucontentComponent, decorators: [{
62
54
  type: Component,
63
- args: [{ selector: 'app-uiappmenucontent', template: "<ion-grid>\r\n <ion-row>\r\n <ion-col [ngClass]=\"getDivClass(item)\" *ngFor=\"let item of items; index as i\">\r\n <div *ngIf=\"item.Type !== 'dropdown-submenu'\" class=\"menu-btn ion-activatable ripple-parent\" (click)=\"menuOnClick(item.URL, item.AppClientPath)\">\r\n <ion-label class=\"menu-btn-label menu-btn-icon\">\r\n <!-- <fa-icon [icon]=\"item.Icon\"></fa-icon> -->\r\n <fa-stack size=\"1x\">\r\n <fa-icon [icon]=\"['fas', 'square']\" stackItemSize=\"2x\"\r\n [styles]=\"colorArray[i%10]\"></fa-icon>\r\n <fa-icon [icon]=\"['fas', item.Icon ]\" [inverse]=\"true\" stackItemSize=\"1x\"\r\n transform=\"grow-2\"></fa-icon>\r\n </fa-stack>\r\n <ion-badge color=\"danger\" class=\"pending-counter\"\r\n *ngIf=\"item['PendingCounter'] && item['PendingCounter'] > 0\">\r\n {{item['PendingCounter']}}\r\n </ion-badge>\r\n </ion-label>\r\n <ion-label class=\"menu-btn-label\">{{ item.Label }}</ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n <kendo-panelbar *ngIf=\"item.Type === 'dropdown-submenu'\" keepItemContent=\"true\">\r\n <kendo-panelbar-item [title]=\"item.Label\" [expanded]=\"true\" icon=\"folder\">\r\n <ng-template kendoPanelBarContent>\r\n <app-uiappmenucontent [items]=\"getMenuList(item)\"></app-uiappmenucontent>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar>\r\n </ion-col>\r\n </ion-row>\r\n</ion-grid>\r\n", styles: [".menu-btn{display:flex;flex-flow:column;justify-content:center;align-items:stretch;background-color:#fff;padding:10px 5px;border:1px solid #ccc;border-radius:5px;min-height:100px;cursor:pointer}.menu-btn:hover{color:#fff;background-color:#0006}.ripple-parent{position:relative;overflow:hidden}.menu-btn-label{flex:1;text-align:center;font-size:12px}.menu-btn-icon{zoom:2}.pending-counter{background-color:#ff243a;border-radius:1em;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:2px;text-overflow:ellipsis;top:2px;transform:scale(.25);transform-origin:top right;display:inline-block;position:absolute;text-align:center;font-size:2.2em}\n"] }]
64
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MenuService }, { type: i2.AuthService }, { type: i2.ZCoreService }]; }, propDecorators: { items: [{
55
+ args: [{ selector: 'app-uiappmenucontent', template: "<ion-grid>\r\n <ion-row>\r\n <ion-col [ngClass]=\"getDivClass(item)\" *ngFor=\"let item of items; index as i\">\r\n <div *ngIf=\"item.Type !== 'dropdown-submenu'\" class=\"menu-btn ion-activatable ripple-parent\"\r\n (click)=\"menuOnClick(item.URL, item.AppClientPath)\">\r\n <ion-label class=\"menu-btn-label menu-btn-icon\">\r\n <fa-icon class=\"menu-icon\" [icon]=\"['fas', item.Icon ]\" [inverse]=\"true\"></fa-icon>\r\n <ion-badge color=\"danger\" class=\"pending-counter\"\r\n *ngIf=\"item['PendingCounter'] && item['PendingCounter'] > 0\">\r\n {{item['PendingCounter']}}\r\n </ion-badge>\r\n </ion-label>\r\n <ion-label class=\"menu-btn-label-text\">{{ item.Label }}</ion-label>\r\n <ion-label *ngIf=\"item.Description\" class=\"menu-btn-label-text menu-btn-label-text-desc\">{{ item.Description }}\r\n </ion-label>\r\n <ion-ripple-effect></ion-ripple-effect>\r\n </div>\r\n\r\n <kendo-card *ngIf=\"item.Type === 'dropdown-submenu'\">\r\n <kendo-card-header class=\"k-hstack\">\r\n <ion-label class=\"card-title\" kendoCardTitle>{{item.Label}}</ion-label>\r\n </kendo-card-header>\r\n <kendo-card-body>\r\n <div class=\"k-hstack\">\r\n <app-uiappmenucontent [items]=\"getMenuList(item)\"></app-uiappmenucontent>\r\n </div>\r\n </kendo-card-body>\r\n </kendo-card>\r\n\r\n <!-- <kendo-panelbar class=\"menu-panel\" *ngIf=\"item.Type === 'dropdown-submenu'\" keepItemContent=\"true\">\r\n <kendo-panelbar-item [expanded]=\"true\">\r\n <ng-template kendoPanelBarItemTitle>\r\n <span *ngIf=\"item.Icon\">\r\n <fa-icon [icon]=\"item.Icon\" class=\"zcard-header-icon\"></fa-icon>\r\n </span>\r\n <span *ngIf=\"!item.Icon\">\r\n <i class=\"fas fa-folder\" style=\"color: #000000\"></i>\r\n </span>\r\n <ion-label class=\"zcard-header-title\">{{item.Label}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoPanelBarContent class=\"menu-content-temp\">\r\n <app-uiappmenucontent [items]=\"getMenuList(item)\"></app-uiappmenucontent>\r\n </ng-template>\r\n </kendo-panelbar-item>\r\n </kendo-panelbar> -->\r\n </ion-col>\r\n </ion-row>\r\n</ion-grid>\r\n", styles: ["ion-grid{max-width:2000px;margin-top:10px}:host ::ng-deep kendo-card{width:95%!important;margin:auto auto 10px;border-radius:var(--ion-container-border-radius);border-left:5px solid var(--ion-color-primary)}:host ::ng-deep kendo-card .k-card-body{padding-top:0}.menu-col{padding:10px}.menu-btn{margin:0;padding:0;border:0px;display:flex;flex-flow:column;justify-content:center;align-items:stretch;background-color:#fff;cursor:pointer;border-radius:5px;box-shadow:1px 1px 4px #797979;min-width:180px;max-width:250px;min-height:120px;max-height:120px;color:#fff;background:var(--ion-color-primary)}.menu-btn:hover{box-shadow:0 0 2px 2px var(--ion-color-secondary)}.menu-btn:hover .menu-btn-label-text-desc{bottom:0px;transition:.5s ease bottom;width:100%}.menu-btn-label-text{text-align:center;font-size:16px;font-weight:600;padding:10px 5px}.menu-btn-label-text-desc{bottom:-100%;transition:.5s ease bottom;display:block;position:absolute;color:#000;font-size:16px;background-color:#fff;padding:8px 10px;border:1px solid #797979;border-radius:5px;text-shadow:0px 0px black;width:100%;text-align:left;font-size:14px;font-weight:500}.ripple-parent{position:relative;overflow:hidden}.menu-btn-label{text-align:center;font-size:15px}.menu-icon{zoom:3;position:relative;top:2px}.menu-btn-icon{background-size:100%}.pending-counter{background-color:#ff243a;border-radius:1em;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;text-overflow:ellipsis;top:12px;display:inline-block;position:absolute;text-align:center;font-size:1.4em;right:32%}\n"] }]
56
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MenuService }, { type: i2.AuthService }, { type: i2.ZCoreService }, { type: i3.MainService }]; }, propDecorators: { items: [{
65
57
  type: Input
66
58
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlhcHBtZW51Y29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi91aWFwcG1lbnVjb250ZW50L3VpYXBwbWVudWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWlhcHBtZW51Y29udGVudC91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCw2QkFBNkI7QUFFN0IsOEJBQThCO0FBRTlCLDJDQUEyQztBQUMzQyxPQUFPLEVBQTJDLGdCQUFnQixFQUFnQixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7OztBQVExRyxNQUFNLE9BQU8seUJBQXlCO0lBa0JwQyxZQUNVLE1BQWMsRUFDZCxXQUF3QixFQUN4QixXQUF3QixFQUN4QixZQUEwQjtRQUgxQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFuQnBDLGVBQVUsR0FBVTtZQUNsQixFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUV2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUV2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtZQUN2QyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRTtTQUN4QyxDQUFDO0lBT0UsQ0FBQztJQUVMLFFBQVE7SUFDUixDQUFDO0lBRU0sV0FBVyxDQUFDLElBQUk7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDO0lBQ2hHLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBSTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVGLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBZ0IsRUFBRSxhQUFzQjtRQUN6RCxNQUFNLFdBQVcsR0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUUzRSxJQUFJLGFBQWEsSUFBSSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxVQUFVLEVBQUU7WUFDbEUsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUUsT0FBTyxLQUFLLENBQUM7U0FDZDthQUNJO1lBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ2xDO0lBQ0gsQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUM1QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pELFFBQVEsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLFFBQVEsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLFFBQVEsQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXRDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7O3VIQXZEVSx5QkFBeUI7MkdBQXpCLHlCQUF5Qix3RkNqQnRDLDJrREE4QkEsdW1FRGJhLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNFLHNCQUFzQjs0S0FLdkIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgT0F1dGhNZW51SXRlbSwgTWVudVNlcnZpY2UsIEF1dGhTZXJ2aWNlLCBaQ29tcG9uZW50SGVscGVyLCBaQ29yZVNlcnZpY2UgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVpYXBwbWVudWNvbnRlbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaWFwcG1lbnVjb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBpdGVtczogQXJyYXk8T0F1dGhNZW51SXRlbT47XHJcblxyXG4gIGNvbG9yQXJyYXk6IGFueVtdID0gW1xyXG4gICAgeyBzdHJva2U6ICcjRjU5NjAwJywgY29sb3I6ICcjRjU5NjAwJyB9LFxyXG5cclxuICAgIHsgc3Ryb2tlOiAnI0Y1QzgwMCcsIGNvbG9yOiAnI0Y1QzgwMCcgfSxcclxuICAgIHsgc3Ryb2tlOiAnI0Y1RUYwMCcsIGNvbG9yOiAnI0Y1RUYwMCcgfSxcclxuICAgIHsgc3Ryb2tlOiAnIzhGRTMwMCcsIGNvbG9yOiAnIzhGRTMwMCcgfSxcclxuICAgIHsgc3Ryb2tlOiAnIzAwQjMzRCcsIGNvbG9yOiAnIzAwQjMzRCcgfSxcclxuICAgIHsgc3Ryb2tlOiAnIzA5NUQ5RCcsIGNvbG9yOiAnIzA5NUQ5RCcgfSxcclxuICAgIHsgc3Ryb2tlOiAnIzIxMTZBQScsIGNvbG9yOiAnIzIxMTZBQScgfSxcclxuXHJcbiAgICB7IHN0cm9rZTogJyM2NTA5QTQnLCBjb2xvcjogJyM2NTA5QTQnIH0sXHJcbiAgICB7IHN0cm9rZTogJyNDNDAwNkYnLCBjb2xvcjogJyNDNDAwNkYnIH0sXHJcbiAgICB7IHN0cm9rZTogJyNGNTJCMDAnLCBjb2xvcjogJyNGNTJCMDAnIH1cclxuICBdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIG1lbnVTZXJ2aWNlOiBNZW51U2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB6Y29yZVNlcnZpY2U6IFpDb3JlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERpdkNsYXNzKGl0ZW0pIHtcclxuICAgIHJldHVybiBpdGVtLlR5cGUgPT09ICdkcm9wZG93bi1zdWJtZW51JyA/ICdmbGV4LXNob3cnIDogJ2NvbC14cy00IGNvbC1zbS00IGNvbC1tZC0zIGNvbC14bC0yJztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRNZW51TGlzdChpdGVtKSB7XHJcbiAgICByZXR1cm4gaXRlbS5UeXBlID09PSAnZHJvcGRvd24tc3VibWVudScgPyB0aGlzLm1lbnVTZXJ2aWNlLmdldE1lbnVGb2xkZXIoaXRlbS5VUkwpIDogbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBtZW51T25DbGljayhwYXRoTmFtZTogc3RyaW5nLCBhcHBDbGllbnRQYXRoPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzdGFydHVwUGFnZTogc3RyaW5nID0gdGhpcy56Y29yZVNlcnZpY2UuZ2V0RW52aXJvbm1lbnQoKS5zdGFydFVwUGFnZTtcclxuXHJcbiAgICBpZiAoYXBwQ2xpZW50UGF0aCAmJiBzdGFydHVwUGFnZS50b0xvY2FsZUxvd2VyQ2FzZSgpID09ICdsYXVuY2hlcicpIHtcclxuICAgICAgWkNvbXBvbmVudEhlbHBlci5vcGVuQXBwQ2xpZW50UGF0aChwYXRoTmFtZSwgYXBwQ2xpZW50UGF0aCwgdGhpcy5hdXRoU2VydmljZSk7IFxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3BhdGhOYW1lXSk7XHJcbiAgICB9XHJcbiAgfSBcclxuXHJcbiAgcHJpdmF0ZSBzZXRNYXBJbnB1dChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgbWFwSW5wdXQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbnB1dCcpO1xyXG4gICAgbWFwSW5wdXQudHlwZSA9ICdoaWRkZW4nO1xyXG4gICAgbWFwSW5wdXQubmFtZSA9IGtleTtcclxuICAgIG1hcElucHV0LnNldEF0dHJpYnV0ZSgndmFsdWUnLCB2YWx1ZSk7XHJcblxyXG4gICAgcmV0dXJuIG1hcElucHV0O1xyXG4gIH1cclxufVxyXG4iLCI8aW9uLWdyaWQ+XHJcbiAgPGlvbi1yb3c+XHJcbiAgICA8aW9uLWNvbCBbbmdDbGFzc109XCJnZXREaXZDbGFzcyhpdGVtKVwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBpbmRleCBhcyBpXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpdGVtLlR5cGUgIT09ICdkcm9wZG93bi1zdWJtZW51J1wiIGNsYXNzPVwibWVudS1idG4gaW9uLWFjdGl2YXRhYmxlIHJpcHBsZS1wYXJlbnRcIiAoY2xpY2spPVwibWVudU9uQ2xpY2soaXRlbS5VUkwsIGl0ZW0uQXBwQ2xpZW50UGF0aClcIj5cclxuICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwibWVudS1idG4tbGFiZWwgbWVudS1idG4taWNvblwiPlxyXG4gICAgICAgICAgPCEtLSA8ZmEtaWNvbiBbaWNvbl09XCJpdGVtLkljb25cIj48L2ZhLWljb24+IC0tPlxyXG4gICAgICAgICAgPGZhLXN0YWNrIHNpemU9XCIxeFwiPlxyXG4gICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcycsICdzcXVhcmUnXVwiIHN0YWNrSXRlbVNpemU9XCIyeFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtzdHlsZXNdPVwiY29sb3JBcnJheVtpJTEwXVwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiWydmYXMnLCBpdGVtLkljb24gXVwiIFtpbnZlcnNlXT1cInRydWVcIiBzdGFja0l0ZW1TaXplPVwiMXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJncm93LTJcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8L2ZhLXN0YWNrPlxyXG4gICAgICAgICAgPGlvbi1iYWRnZSBjb2xvcj1cImRhbmdlclwiIGNsYXNzPVwicGVuZGluZy1jb3VudGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJpdGVtWydQZW5kaW5nQ291bnRlciddICYmIGl0ZW1bJ1BlbmRpbmdDb3VudGVyJ10gPiAwXCI+XHJcbiAgICAgICAgICAgIHt7aXRlbVsnUGVuZGluZ0NvdW50ZXInXX19XHJcbiAgICAgICAgICA8L2lvbi1iYWRnZT5cclxuICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICA8aW9uLWxhYmVsIGNsYXNzPVwibWVudS1idG4tbGFiZWxcIj57eyBpdGVtLkxhYmVsIH19PC9pb24tbGFiZWw+XHJcbiAgICAgICAgPGlvbi1yaXBwbGUtZWZmZWN0PjwvaW9uLXJpcHBsZS1lZmZlY3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8a2VuZG8tcGFuZWxiYXIgKm5nSWY9XCJpdGVtLlR5cGUgPT09ICdkcm9wZG93bi1zdWJtZW51J1wiIGtlZXBJdGVtQ29udGVudD1cInRydWVcIj5cclxuICAgICAgICA8a2VuZG8tcGFuZWxiYXItaXRlbSBbdGl0bGVdPVwiaXRlbS5MYWJlbFwiIFtleHBhbmRlZF09XCJ0cnVlXCIgaWNvbj1cImZvbGRlclwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFuZWxCYXJDb250ZW50PlxyXG4gICAgICAgICAgICA8YXBwLXVpYXBwbWVudWNvbnRlbnQgW2l0ZW1zXT1cImdldE1lbnVMaXN0KGl0ZW0pXCI+PC9hcHAtdWlhcHBtZW51Y29udGVudD5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9rZW5kby1wYW5lbGJhci1pdGVtPlxyXG4gICAgICA8L2tlbmRvLXBhbmVsYmFyPlxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuPC9pb24tZ3JpZD5cclxuIl19
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWlhcHBtZW51Y29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tbWhnbG9iYWwtZHluYW1pY2Zvcm0vc3JjL2xpYi91aWFwcG1lbnVjb250ZW50L3VpYXBwbWVudWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWlhcHBtZW51Y29udGVudC91aWFwcG1lbnVjb250ZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtCQUErQjtBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd6RCw2QkFBNkI7QUFFN0IsOEJBQThCO0FBRTlCLDJDQUEyQztBQUMzQyxPQUFPLEVBQTJDLGdCQUFnQixFQUFnQixNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBUzFHLE1BQU0sT0FBTyx5QkFBeUI7SUFFcEMsWUFDVSxNQUFjLEVBQ2QsV0FBd0IsRUFDeEIsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsV0FBd0I7UUFKeEIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO0lBQzlCLENBQUM7SUFFTCxRQUFRO0lBQ1IsQ0FBQztJQUVNLFdBQVcsQ0FBQyxJQUFJO1FBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLHFDQUFxQyxDQUFDLEdBQUcsV0FBVyxDQUFDO0lBQ2hILENBQUM7SUFFTSxXQUFXLENBQUMsSUFBSTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVGLENBQUM7SUFFTSxXQUFXLENBQUMsUUFBZ0IsRUFBRSxhQUFzQjtRQUN6RCxNQUFNLFdBQVcsR0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDLFdBQVcsQ0FBQztRQUUzRSxJQUFJLGFBQWEsSUFBSSxXQUFXLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxVQUFVLEVBQUU7WUFDbEUsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDOUUsT0FBTyxLQUFLLENBQUM7U0FDZDthQUNJO1lBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzNELElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFTyxXQUFXLENBQUMsR0FBVyxFQUFFLEtBQWE7UUFDNUMsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNqRCxRQUFRLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN6QixRQUFRLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQztRQUNwQixRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV0QyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDOzt1SEF6Q1UseUJBQXlCOzJHQUF6Qix5QkFBeUIsd0ZDbEJ0QyxpMkVBZ0RBLGdxRkQ5QmEseUJBQXlCOzRGQUF6Qix5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usc0JBQXNCO3NNQUt2QixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBPQXV0aE1lbnVJdGVtLCBNZW51U2VydmljZSwgQXV0aFNlcnZpY2UsIFpDb21wb25lbnRIZWxwZXIsIFpDb3JlU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcbmltcG9ydCB7IE1haW5TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpbi5zZXJ2aWNlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11aWFwcG1lbnVjb250ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWlhcHBtZW51Y29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdWlhcHBtZW51Y29udGVudC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWlhcHBtZW51Y29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaXRlbXM6IEFycmF5PE9BdXRoTWVudUl0ZW0+O1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHpjb3JlU2VydmljZTogWkNvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtYWluU2VydmljZTogTWFpblNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREaXZDbGFzcyhpdGVtKSB7XHJcbiAgICByZXR1cm4gKGl0ZW0uVHlwZSA9PT0gJ2Ryb3Bkb3duLXN1Ym1lbnUnID8gJ2ZsZXgtc2hvdycgOiAnY29sLXhzLTQgY29sLXNtLTQgY29sLW1kLTMgY29sLXhsLTInKSArIFwiIG1lbnUtY29sXCI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0TWVudUxpc3QoaXRlbSkge1xyXG4gICAgcmV0dXJuIGl0ZW0uVHlwZSA9PT0gJ2Ryb3Bkb3duLXN1Ym1lbnUnID8gdGhpcy5tZW51U2VydmljZS5nZXRNZW51Rm9sZGVyKGl0ZW0uVVJMKSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWVudU9uQ2xpY2socGF0aE5hbWU6IHN0cmluZywgYXBwQ2xpZW50UGF0aD86IHN0cmluZykge1xyXG4gICAgY29uc3Qgc3RhcnR1cFBhZ2U6IHN0cmluZyA9IHRoaXMuemNvcmVTZXJ2aWNlLmdldEVudmlyb25tZW50KCkuc3RhcnRVcFBhZ2U7XHJcblxyXG4gICAgaWYgKGFwcENsaWVudFBhdGggJiYgc3RhcnR1cFBhZ2UudG9Mb2NhbGVMb3dlckNhc2UoKSA9PSAnbGF1bmNoZXInKSB7XHJcbiAgICAgIFpDb21wb25lbnRIZWxwZXIub3BlbkFwcENsaWVudFBhdGgocGF0aE5hbWUsIGFwcENsaWVudFBhdGgsIHRoaXMuYXV0aFNlcnZpY2UpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5tYWluU2VydmljZS5zZXROYXZpZ2F0aW9uUGFyYW1zKFtwYXRoTmFtZSwgcGF0aE5hbWVdKTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3BhdGhOYW1lXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE1hcElucHV0KGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBtYXBJbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XHJcbiAgICBtYXBJbnB1dC50eXBlID0gJ2hpZGRlbic7XHJcbiAgICBtYXBJbnB1dC5uYW1lID0ga2V5O1xyXG4gICAgbWFwSW5wdXQuc2V0QXR0cmlidXRlKCd2YWx1ZScsIHZhbHVlKTtcclxuXHJcbiAgICByZXR1cm4gbWFwSW5wdXQ7XHJcbiAgfVxyXG59XHJcbiIsIjxpb24tZ3JpZD5cclxuICA8aW9uLXJvdz5cclxuICAgIDxpb24tY29sIFtuZ0NsYXNzXT1cImdldERpdkNsYXNzKGl0ZW0pXCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGluZGV4IGFzIGlcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cIml0ZW0uVHlwZSAhPT0gJ2Ryb3Bkb3duLXN1Ym1lbnUnXCIgY2xhc3M9XCJtZW51LWJ0biBpb24tYWN0aXZhdGFibGUgcmlwcGxlLXBhcmVudFwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm1lbnVPbkNsaWNrKGl0ZW0uVVJMLCBpdGVtLkFwcENsaWVudFBhdGgpXCI+XHJcbiAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cIm1lbnUtYnRuLWxhYmVsIG1lbnUtYnRuLWljb25cIj5cclxuICAgICAgICAgIDxmYS1pY29uIGNsYXNzPVwibWVudS1pY29uXCIgW2ljb25dPVwiWydmYXMnLCBpdGVtLkljb24gXVwiIFtpbnZlcnNlXT1cInRydWVcIj48L2ZhLWljb24+XHJcbiAgICAgICAgICA8aW9uLWJhZGdlIGNvbG9yPVwiZGFuZ2VyXCIgY2xhc3M9XCJwZW5kaW5nLWNvdW50ZXJcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIml0ZW1bJ1BlbmRpbmdDb3VudGVyJ10gJiYgaXRlbVsnUGVuZGluZ0NvdW50ZXInXSA+IDBcIj5cclxuICAgICAgICAgICAge3tpdGVtWydQZW5kaW5nQ291bnRlciddfX1cclxuICAgICAgICAgIDwvaW9uLWJhZGdlPlxyXG4gICAgICAgIDwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJtZW51LWJ0bi1sYWJlbC10ZXh0XCI+e3sgaXRlbS5MYWJlbCB9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDxpb24tbGFiZWwgKm5nSWY9XCJpdGVtLkRlc2NyaXB0aW9uXCIgY2xhc3M9XCJtZW51LWJ0bi1sYWJlbC10ZXh0IG1lbnUtYnRuLWxhYmVsLXRleHQtZGVzY1wiPnt7IGl0ZW0uRGVzY3JpcHRpb24gfX1cclxuICAgICAgICA8L2lvbi1sYWJlbD5cclxuICAgICAgICA8aW9uLXJpcHBsZS1lZmZlY3Q+PC9pb24tcmlwcGxlLWVmZmVjdD5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8a2VuZG8tY2FyZCAqbmdJZj1cIml0ZW0uVHlwZSA9PT0gJ2Ryb3Bkb3duLXN1Ym1lbnUnXCI+XHJcbiAgICAgICAgPGtlbmRvLWNhcmQtaGVhZGVyIGNsYXNzPVwiay1oc3RhY2tcIj5cclxuICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJjYXJkLXRpdGxlXCIga2VuZG9DYXJkVGl0bGU+e3tpdGVtLkxhYmVsfX08L2lvbi1sYWJlbD5cclxuICAgICAgICA8L2tlbmRvLWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDxrZW5kby1jYXJkLWJvZHk+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiay1oc3RhY2tcIj5cclxuICAgICAgICAgICAgPGFwcC11aWFwcG1lbnVjb250ZW50IFtpdGVtc109XCJnZXRNZW51TGlzdChpdGVtKVwiPjwvYXBwLXVpYXBwbWVudWNvbnRlbnQ+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2tlbmRvLWNhcmQtYm9keT5cclxuICAgICAgPC9rZW5kby1jYXJkPlxyXG5cclxuICAgICAgPCEtLSA8a2VuZG8tcGFuZWxiYXIgY2xhc3M9XCJtZW51LXBhbmVsXCIgKm5nSWY9XCJpdGVtLlR5cGUgPT09ICdkcm9wZG93bi1zdWJtZW51J1wiIGtlZXBJdGVtQ29udGVudD1cInRydWVcIj5cclxuICAgICAgICA8a2VuZG8tcGFuZWxiYXItaXRlbSBbZXhwYW5kZWRdPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvUGFuZWxCYXJJdGVtVGl0bGU+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXRlbS5JY29uXCI+XHJcbiAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaXRlbS5JY29uXCIgY2xhc3M9XCJ6Y2FyZC1oZWFkZXItaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpdGVtLkljb25cIj5cclxuICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1mb2xkZXJcIiBzdHlsZT1cImNvbG9yOiAjMDAwMDAwXCI+PC9pPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJ6Y2FyZC1oZWFkZXItdGl0bGVcIj57e2l0ZW0uTGFiZWx9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb1BhbmVsQmFyQ29udGVudCBjbGFzcz1cIm1lbnUtY29udGVudC10ZW1wXCI+XHJcbiAgICAgICAgICAgIDxhcHAtdWlhcHBtZW51Y29udGVudCBbaXRlbXNdPVwiZ2V0TWVudUxpc3QoaXRlbSlcIj48L2FwcC11aWFwcG1lbnVjb250ZW50PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2tlbmRvLXBhbmVsYmFyLWl0ZW0+XHJcbiAgICAgIDwva2VuZG8tcGFuZWxiYXI+IC0tPlxyXG4gICAgPC9pb24tY29sPlxyXG4gIDwvaW9uLXJvdz5cclxuPC9pb24tZ3JpZD5cclxuIl19
@@ -14,11 +14,11 @@ export class UicontainerComponent {
14
14
  }
15
15
  }
16
16
  UicontainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UicontainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
17
- UicontainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UicontainerComponent, selector: "app-uicontainer", inputs: { group: "group" }, ngImport: i0, template: "<ng-template #mainPage>\r\n <app-uiheader [group]=\"group\"></app-uiheader>\r\n\r\n <ion-content style=\"height:99vh\">\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n </ion-content>\r\n</ng-template>\r\n\r\n<ng-template #embeddedPage>\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n</ng-template>\r\n\r\n<ng-container *ngTemplateOutlet=\"isEmbeddedPage ? embeddedPage : mainPage\" ></ng-container>\r\n", styles: [""], components: [{ type: i1.UiheaderComponent, selector: "app-uiheader", inputs: ["group", "topFormHeader"] }, { type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { type: i3.UicontentComponent, selector: "app-uicontent", inputs: ["group"] }], directives: [{ type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
17
+ UicontainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UicontainerComponent, selector: "app-uicontainer", inputs: { group: "group" }, ngImport: i0, template: "<ng-template #mainPage>\r\n <app-uiheader [group]=\"group\"></app-uiheader>\r\n\r\n <ion-content style=\"height:99vh\">\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n </ion-content>\r\n</ng-template>\r\n\r\n<ng-template #embeddedPage>\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n</ng-template>\r\n\r\n<ng-container *ngTemplateOutlet=\"isEmbeddedPage ? embeddedPage : mainPage\" ></ng-container>\r\n", styles: [""], components: [{ type: i1.UiheaderComponent, selector: "app-uiheader", inputs: ["group", "topFormHeader"] }, { type: i2.IonContent, selector: "ion-content", inputs: ["color", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { type: i3.UicontentComponent, selector: "app-uicontent", inputs: ["group", "cssClass"] }], directives: [{ type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
18
18
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UicontainerComponent, decorators: [{
19
19
  type: Component,
20
20
  args: [{ selector: 'app-uicontainer', template: "<ng-template #mainPage>\r\n <app-uiheader [group]=\"group\"></app-uiheader>\r\n\r\n <ion-content style=\"height:99vh\">\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n </ion-content>\r\n</ng-template>\r\n\r\n<ng-template #embeddedPage>\r\n <app-uicontent [group]=\"group\"></app-uicontent>\r\n</ng-template>\r\n\r\n<ng-container *ngTemplateOutlet=\"isEmbeddedPage ? embeddedPage : mainPage\" ></ng-container>\r\n", styles: [""] }]
21
21
  }], ctorParameters: function () { return []; }, propDecorators: { group: [{
22
22
  type: Input
23
23
  }] } });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWljb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFlekQsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQjtRQUhBLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBSTVCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2tIQVZVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1GQ2hCakMsaWJBYUE7NEZER2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjswRUFLbEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi8gXHJcbmltcG9ydCB7IFpHcm91cCB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdWljb250YWluZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi91aWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdWljb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpY29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHsgXHJcbiAgQElucHV0KCkgZ3JvdXA6IFpHcm91cDtcclxuICBpc0VtYmVkZGVkUGFnZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlzRW1iZWRkZWRQYWdlID0gISF0aGlzLmdyb3VwW1wiaXNFbWJlZGRlZFBhZ2VcIl07IFxyXG4gIH0gXHJcbn1cclxuIiwiPG5nLXRlbXBsYXRlICNtYWluUGFnZT5cclxuICA8YXBwLXVpaGVhZGVyIFtncm91cF09XCJncm91cFwiPjwvYXBwLXVpaGVhZGVyPlxyXG5cclxuICA8aW9uLWNvbnRlbnQgc3R5bGU9XCJoZWlnaHQ6OTl2aFwiPlxyXG4gICAgPGFwcC11aWNvbnRlbnQgW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWljb250ZW50PlxyXG4gIDwvaW9uLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2VtYmVkZGVkUGFnZT5cclxuICAgIDxhcHAtdWljb250ZW50IFtncm91cF09XCJncm91cFwiPjwvYXBwLXVpY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc0VtYmVkZGVkUGFnZSA/IGVtYmVkZGVkUGFnZSA6IG1haW5QYWdlXCIgPjwvbmctY29udGFpbmVyPlxyXG4iXX0=
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWljb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250YWluZXIvdWljb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFlekQsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQjtRQUhBLG1CQUFjLEdBQVksS0FBSyxDQUFDO0lBSTVCLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O2tIQVZVLG9CQUFvQjtzR0FBcEIsb0JBQW9CLG1GQ2hCakMsaWJBYUE7NEZER2Esb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGlCQUFpQjswRUFLbEIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbi8qKioqKioqKioqIElvbmljICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBQbHVnaW4gKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIENvbXBvbmVudCAmIFNlcnZpY2UgKioqKioqKioqKi9cclxuaW1wb3J0IHsgWkdyb3VwIH0gZnJvbSAnbW1oZ2xvYmFsLXpjb3JlJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC11aWNvbnRhaW5lcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91aWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWljb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgaXNFbWJlZGRlZFBhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pc0VtYmVkZGVkUGFnZSA9ICEhdGhpcy5ncm91cFtcImlzRW1iZWRkZWRQYWdlXCJdO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI21haW5QYWdlPlxyXG4gIDxhcHAtdWloZWFkZXIgW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWloZWFkZXI+XHJcblxyXG4gIDxpb24tY29udGVudCBzdHlsZT1cImhlaWdodDo5OXZoXCI+XHJcbiAgICA8YXBwLXVpY29udGVudCBbZ3JvdXBdPVwiZ3JvdXBcIj48L2FwcC11aWNvbnRlbnQ+XHJcbiAgPC9pb24tY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZW1iZWRkZWRQYWdlPlxyXG4gICAgPGFwcC11aWNvbnRlbnQgW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWljb250ZW50PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlzRW1iZWRkZWRQYWdlID8gZW1iZWRkZWRQYWdlIDogbWFpblBhZ2VcIiA+PC9uZy1jb250YWluZXI+XHJcbiJdfQ==
@@ -7,12 +7,17 @@ import { Component, Input } from '@angular/core';
7
7
  import { ZComponentHelper } from 'mmhglobal-zcore';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "mmhglobal-zcore";
10
- import * as i2 from "@ionic/angular";
11
- import * as i3 from "../zform/zform.component";
12
- import * as i4 from "@angular/common";
10
+ import * as i2 from "@angular/router";
11
+ import * as i3 from "@ionic/angular";
12
+ import * as i4 from "@progress/kendo-angular-navigation";
13
+ import * as i5 from "@fortawesome/angular-fontawesome";
14
+ import * as i6 from "../zform/zform.component";
15
+ import * as i7 from "@angular/common";
16
+ import * as i8 from "@angular/flex-layout/extended";
13
17
  export class UicontentComponent {
14
- constructor(zcoreService) {
18
+ constructor(zcoreService, router) {
15
19
  this.zcoreService = zcoreService;
20
+ this.router = router;
16
21
  }
17
22
  ngOnInit() {
18
23
  console.log(this.group);
@@ -29,13 +34,20 @@ export class UicontentComponent {
29
34
  const v = ZComponentHelper.isMobileScreen();
30
35
  return v;
31
36
  }
37
+ onNavItemClick(navItem) {
38
+ if (navItem.route) {
39
+ this.router.navigateByUrl(navItem.route);
40
+ }
41
+ }
32
42
  }
33
- UicontentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UicontentComponent, deps: [{ token: i1.ZCoreService }], target: i0.ɵɵFactoryTarget.Component });
34
- UicontentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UicontentComponent, selector: "app-uicontent", inputs: { group: "group" }, ngImport: i0, template: "<ion-grid>\r\n <ion-row *ngIf=\"group.isLoading\" class=\"ion-text-center\">\r\n <ion-col class=\"ion-margin ion-padding\">\r\n <ion-spinner></ion-spinner>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\">\r\n <ion-col>\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\">\r\n <ion-col>\r\n <app-zform [group]=\"group\" fieldName=\"debug\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [""], components: [{ type: i2.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i2.IonRow, selector: "ion-row" }, { type: i2.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i2.IonSpinner, selector: "ion-spinner", inputs: ["color", "duration", "name", "paused"] }, { type: i3.ZformComponent, selector: "app-zform", inputs: ["group", "fieldName"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
43
+ UicontentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UicontentComponent, deps: [{ token: i1.ZCoreService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
44
+ UicontentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UicontentComponent, selector: "app-uicontent", inputs: { group: "group", cssClass: "cssClass" }, ngImport: i0, template: "<div *ngIf=\"group.isLoading\" class=\"spinner-container\">\r\n <div class=\"loader\"></div>\r\n</div>\r\n<ion-grid [class]=\"cssClass\">\r\n <ion-row *ngIf=\"!group.isLoading && !isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\"\r\n [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\" class=\"main-content-row\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\" class=\"main-content-row style1\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\" fieldName=\"debugV2\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [":host ::ng-deep kendo-breadcrumb.nav-bar{margin-left:15px;background:transparent;border-radius:5px}:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter,:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter-icon{color:var(--ion-color-primary-shade);font-size:calc(var(--nav-bar-font-size) * 1.2);opacity:1;font-weight:900}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item{font-size:var(--nav-bar-font-size);color:var(--ion-color-primary-shade);cursor:pointer;justify-content:center;text-align:center;font-weight:600;border-radius:15px;padding:5px 8px}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item:hover{background:rgba(var(--ion-color-primary-rgb),.15)}:host ::ng-deep kendo-breadcrumb.nav-bar .icon-with-text{padding:0 10px 0 0}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item.current{cursor:default;background:transparent;color:#787878;padding-right:10px}.loader{animation:rotate 1s infinite;height:50px;width:50px;margin:auto;margin-top:10vh}.loader:before,.loader:after{border-radius:50%;content:\"\";display:block;height:20px;width:20px}.loader:before{animation:ball1 1s infinite;background-color:#38c22e;box-shadow:30px 0 #f37932;margin-bottom:10px}.loader:after{animation:ball2 1s infinite;background-color:#f26a1b;box-shadow:30px 0 #3db93d}@keyframes rotate{0%{-webkit-transform:rotate(0deg) scale(.8);-moz-transform:rotate(0deg) scale(.8)}50%{-webkit-transform:rotate(360deg) scale(1.2);-moz-transform:rotate(360deg) scale(1.2)}to{-webkit-transform:rotate(720deg) scale(.8);-moz-transform:rotate(720deg) scale(.8)}}@keyframes ball1{0%{box-shadow:30px 0 #f37932}50%{box-shadow:0 0 #f37932;margin-bottom:0;-webkit-transform:translate(15px,15px);-moz-transform:translate(15px,15px)}to{box-shadow:30px 0 #f37932;margin-bottom:10px}}@keyframes ball2{0%{box-shadow:30px 0 #3db93d}50%{box-shadow:0 0 #3db93d;margin-top:-20px;-webkit-transform:translate(15px,15px);-moz-transform:translate(15px,15px)}to{box-shadow:30px 0 #3db93d;margin-top:0}}\n"], components: [{ type: i3.IonGrid, selector: "ion-grid", inputs: ["fixed"] }, { type: i3.IonRow, selector: "ion-row" }, { type: i4.BreadCrumbComponent, selector: "kendo-breadcrumb", inputs: ["items", "separatorIcon", "collapseMode"], outputs: ["itemClick"], exportAs: ["kendoBreadCrumb"] }, { type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i3.IonCol, selector: "ion-col", inputs: ["offset", "offsetLg", "offsetMd", "offsetSm", "offsetXl", "offsetXs", "pull", "pullLg", "pullMd", "pullSm", "pullXl", "pullXs", "push", "pushLg", "pushMd", "pushSm", "pushXl", "pushXs", "size", "sizeLg", "sizeMd", "sizeSm", "sizeXl", "sizeXs"] }, { type: i6.ZformComponent, selector: "app-zform", inputs: ["group", "fieldName"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.BreadCrumbItemTemplateDirective, selector: "[kendoBreadCrumbItemTemplate]" }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i8.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"] }] });
35
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UicontentComponent, decorators: [{
36
46
  type: Component,
37
- args: [{ selector: 'app-uicontent', template: "<ion-grid>\r\n <ion-row *ngIf=\"group.isLoading\" class=\"ion-text-center\">\r\n <ion-col class=\"ion-margin ion-padding\">\r\n <ion-spinner></ion-spinner>\r\n\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\">\r\n <ion-col>\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\">\r\n <ion-col>\r\n <app-zform [group]=\"group\" fieldName=\"debug\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [""] }]
38
- }], ctorParameters: function () { return [{ type: i1.ZCoreService }]; }, propDecorators: { group: [{
47
+ args: [{ selector: 'app-uicontent', template: "<div *ngIf=\"group.isLoading\" class=\"spinner-container\">\r\n <div class=\"loader\"></div>\r\n</div>\r\n<ion-grid [class]=\"cssClass\">\r\n <ion-row *ngIf=\"!group.isLoading && !isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\"\r\n [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </ion-row>\r\n <ion-row *ngIf=\"!group.isLoading\" class=\"main-content-row\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\"></app-zform>\r\n </ion-col>\r\n <!-- <pre style=\"font-size: x-small;\">{{group.zModel | json}}</pre> -->\r\n </ion-row>\r\n <ion-row *ngIf=\"isSITEnvironment() && !group.isLoading\" style=\"padding-top: 50px;\" class=\"main-content-row style1\">\r\n <ion-col class=\"main-content-col\">\r\n <app-zform [group]=\"group\" fieldName=\"debugV2\"></app-zform>\r\n </ion-col>\r\n </ion-row>\r\n <!-- require for mobile screen -->\r\n <div *ngIf=\"!isSITEnvironment() && !group.isLoading && isMobileScreen()\" style=\"height: 150px;\"></div>\r\n</ion-grid>\r\n", styles: [":host ::ng-deep kendo-breadcrumb.nav-bar{margin-left:15px;background:transparent;border-radius:5px}:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter,:host ::ng-deep kendo-breadcrumb.nav-bar .k-breadcrumb-delimiter-icon{color:var(--ion-color-primary-shade);font-size:calc(var(--nav-bar-font-size) * 1.2);opacity:1;font-weight:900}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item{font-size:var(--nav-bar-font-size);color:var(--ion-color-primary-shade);cursor:pointer;justify-content:center;text-align:center;font-weight:600;border-radius:15px;padding:5px 8px}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item:hover{background:rgba(var(--ion-color-primary-rgb),.15)}:host ::ng-deep kendo-breadcrumb.nav-bar .icon-with-text{padding:0 10px 0 0}:host ::ng-deep kendo-breadcrumb.nav-bar .nav-bar-item.current{cursor:default;background:transparent;color:#787878;padding-right:10px}.loader{animation:rotate 1s infinite;height:50px;width:50px;margin:auto;margin-top:10vh}.loader:before,.loader:after{border-radius:50%;content:\"\";display:block;height:20px;width:20px}.loader:before{animation:ball1 1s infinite;background-color:#38c22e;box-shadow:30px 0 #f37932;margin-bottom:10px}.loader:after{animation:ball2 1s infinite;background-color:#f26a1b;box-shadow:30px 0 #3db93d}@keyframes rotate{0%{-webkit-transform:rotate(0deg) scale(.8);-moz-transform:rotate(0deg) scale(.8)}50%{-webkit-transform:rotate(360deg) scale(1.2);-moz-transform:rotate(360deg) scale(1.2)}to{-webkit-transform:rotate(720deg) scale(.8);-moz-transform:rotate(720deg) scale(.8)}}@keyframes ball1{0%{box-shadow:30px 0 #f37932}50%{box-shadow:0 0 #f37932;margin-bottom:0;-webkit-transform:translate(15px,15px);-moz-transform:translate(15px,15px)}to{box-shadow:30px 0 #f37932;margin-bottom:10px}}@keyframes ball2{0%{box-shadow:30px 0 #3db93d}50%{box-shadow:0 0 #3db93d;margin-top:-20px;-webkit-transform:translate(15px,15px);-moz-transform:translate(15px,15px)}to{box-shadow:30px 0 #3db93d;margin-top:0}}\n"] }]
48
+ }], ctorParameters: function () { return [{ type: i1.ZCoreService }, { type: i2.Router }]; }, propDecorators: { group: [{
49
+ type: Input
50
+ }], cssClass: [{
39
51
  type: Input
40
52
  }] } });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWljb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3VpY29udGVudC91aWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250ZW50L3VpY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsaUZBQWlGO0FBQ2pGLE9BQU8sRUFBVSxnQkFBZ0IsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBUXpFLE1BQU0sT0FBTyxrQkFBa0I7SUFJN0IsWUFDVSxZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUNoQyxDQUFDO0lBRUwsUUFBUTtRQUNOLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxpRUFBaUU7UUFDakUsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxPQUFPLENBQUM7UUFDeEMsZ0JBQWdCO0lBQ2xCLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUMsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDOztnSEF6QlUsa0JBQWtCO29HQUFsQixrQkFBa0IsaUZDakIvQiwreUJBcUJBOzRGREphLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxlQUFlO21HQU1oQixLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKiBBbmd1bGFyICoqKioqKioqKiovXHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG4vLyBpbXBvcnQgeyBaQ29tcG9uZW50RGVidWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvemNvbXBvbmVudC5kZWJ1Zy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgWkdyb3VwLCBaQ29tcG9uZW50SGVscGVyLCBaQ29yZVNlcnZpY2UgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXVpY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VpY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdWljb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVaWNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBncm91cDogWkdyb3VwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgemNvcmVTZXJ2aWNlOiBaQ29yZVNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgaXNTSVRFbnZpcm9ubWVudCgpIHtcclxuICAgIC8vIHJldHVybiBlbnZpcm9ubWVudC5lMU9hdXRoVXJsLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vb2F1dGhkZXYuJyk7XHJcbiAgICByZXR1cm4gdGhpcy56Y29yZVNlcnZpY2UuaXNEZWJ1Z1Nlc3Npb24oKSAmJiAhdGhpcy5pc0ZpZWxkRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgaXNGaWVsZEVsZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ncm91cC5maWVsZE5hbWUgPT09ICdmaWVsZCc7XHJcbiAgICAvLyByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcbn1cclxuIiwiPGlvbi1ncmlkPlxyXG4gIDxpb24tcm93ICpuZ0lmPVwiZ3JvdXAuaXNMb2FkaW5nXCIgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLW1hcmdpbiBpb24tcGFkZGluZ1wiPlxyXG4gICAgICA8aW9uLXNwaW5uZXI+PC9pb24tc3Bpbm5lcj5cclxuXHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgPC9pb24tcm93PlxyXG4gIDxpb24tcm93ICpuZ0lmPVwiIWdyb3VwLmlzTG9hZGluZ1wiPlxyXG4gICAgPGlvbi1jb2w+XHJcbiAgICAgIDxhcHAtemZvcm0gW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtemZvcm0+XHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgICA8IS0tIDxwcmUgc3R5bGU9XCJmb250LXNpemU6IHgtc21hbGw7XCI+e3tncm91cC56TW9kZWwgfCBqc29ufX08L3ByZT4gLS0+XHJcbiAgPC9pb24tcm93PlxyXG4gIDxpb24tcm93ICpuZ0lmPVwiaXNTSVRFbnZpcm9ubWVudCgpICYmICFncm91cC5pc0xvYWRpbmdcIiBzdHlsZT1cInBhZGRpbmctdG9wOiA1MHB4O1wiPlxyXG4gICAgPGlvbi1jb2w+XHJcbiAgICAgIDxhcHAtemZvcm0gW2dyb3VwXT1cImdyb3VwXCIgZmllbGROYW1lPVwiZGVidWdcIj48L2FwcC16Zm9ybT5cclxuICAgIDwvaW9uLWNvbD5cclxuICA8L2lvbi1yb3c+XHJcbiAgPCEtLSByZXF1aXJlIGZvciBtb2JpbGUgc2NyZWVuIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCIhaXNTSVRFbnZpcm9ubWVudCgpICYmICFncm91cC5pc0xvYWRpbmcgJiYgaXNNb2JpbGVTY3JlZW4oKVwiIHN0eWxlPVwiaGVpZ2h0OiAxNTBweDtcIj48L2Rpdj5cclxuPC9pb24tZ3JpZD5cclxuIl19
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWljb250ZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21taGdsb2JhbC1keW5hbWljZm9ybS9zcmMvbGliL3VpY29udGVudC91aWNvbnRlbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWljb250ZW50L3VpY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHekQsNkJBQTZCO0FBRTdCLDhCQUE4QjtBQUU5QiwyQ0FBMkM7QUFDM0MsaUZBQWlGO0FBQ2pGLE9BQU8sRUFBVSxnQkFBZ0IsRUFBZ0IsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQVF6RSxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCLFlBQ1UsWUFBMEIsRUFDMUIsTUFBYztRQURkLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFDcEIsQ0FBQztJQUVMLFFBQVE7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsaUVBQWlFO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN0RSxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEtBQUssT0FBTyxDQUFDO1FBQ3hDLGdCQUFnQjtJQUNsQixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUFZO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDOztnSEFqQ1Usa0JBQWtCO29HQUFsQixrQkFBa0IsdUdDbEIvQixvK0NBNkJBOzRGRFhhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxlQUFlO3dIQU1oQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKioqKioqKioqIEFuZ3VsYXIgKioqKioqKioqKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG4vKioqKioqKioqKiBJb25pYyAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogUGx1Z2luICoqKioqKioqKiovXHJcblxyXG4vKioqKioqKioqKiBDb21wb25lbnQgJiBTZXJ2aWNlICoqKioqKioqKiovXHJcbi8vIGltcG9ydCB7IFpDb21wb25lbnREZWJ1Z1NlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy96Y29tcG9uZW50LmRlYnVnLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBaR3JvdXAsIFpDb21wb25lbnRIZWxwZXIsIFpDb3JlU2VydmljZSB9IGZyb20gJ21taGdsb2JhbC16Y29yZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtdWljb250ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdWljb250ZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91aWNvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFVpY29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgY3NzQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHpjb3JlU2VydmljZTogWkNvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnNvbGUubG9nKHRoaXMuZ3JvdXApO1xyXG4gIH1cclxuXHJcbiAgaXNTSVRFbnZpcm9ubWVudCgpIHtcclxuICAgIC8vIHJldHVybiBlbnZpcm9ubWVudC5lMU9hdXRoVXJsLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vb2F1dGhkZXYuJyk7XHJcbiAgICByZXR1cm4gdGhpcy56Y29yZVNlcnZpY2UuaXNEZWJ1Z1Nlc3Npb24oKSAmJiAhdGhpcy5pc0ZpZWxkRWxlbWVudCgpO1xyXG4gIH1cclxuXHJcbiAgaXNGaWVsZEVsZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ncm91cC5maWVsZE5hbWUgPT09ICdmaWVsZCc7XHJcbiAgICAvLyByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk5hdkl0ZW1DbGljayhuYXZJdGVtOiBhbnkpIHtcclxuICAgIGlmIChuYXZJdGVtLnJvdXRlKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwobmF2SXRlbS5yb3V0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgKm5nSWY9XCJncm91cC5pc0xvYWRpbmdcIiBjbGFzcz1cInNwaW5uZXItY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImxvYWRlclwiPjwvZGl2PlxyXG48L2Rpdj5cclxuPGlvbi1ncmlkIFtjbGFzc109XCJjc3NDbGFzc1wiPlxyXG4gIDxpb24tcm93ICpuZ0lmPVwiIWdyb3VwLmlzTG9hZGluZyAmJiAhaXNNb2JpbGVTY3JlZW4oKSAmJiBncm91cCAmJiBncm91cC5uYXZJdGVtc1wiPlxyXG4gICAgPGtlbmRvLWJyZWFkY3J1bWIgW2l0ZW1zXT1cImdyb3VwLm5hdkl0ZW1zXCIgY2xhc3M9XCJuYXYtYmFyXCIgKGl0ZW1DbGljayk9XCJvbk5hdkl0ZW1DbGljaygkZXZlbnQpXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBrZW5kb0JyZWFkQ3J1bWJJdGVtVGVtcGxhdGUgbGV0LWl0ZW0gbGV0LWluZGV4PVwiaW5kZXhcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWJhci1pdGVtXCIgW2NsYXNzLmN1cnJlbnRdPVwiIWl0ZW0ucm91dGVcIj5cclxuICAgICAgICAgIDxmYS1pY29uICpuZ0lmPVwiaXRlbS5pY29uXCIgW2ljb25dPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJ6Y2FyZC1oZWFkZXItaWNvblwiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnaWNvbi13aXRoLXRleHQnOiBpdGVtLnRleHR9XCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgPHNwYW4+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9rZW5kby1icmVhZGNydW1iPlxyXG4gIDwvaW9uLXJvdz5cclxuICA8aW9uLXJvdyAqbmdJZj1cIiFncm91cC5pc0xvYWRpbmdcIiBjbGFzcz1cIm1haW4tY29udGVudC1yb3dcIj5cclxuICAgIDxpb24tY29sIGNsYXNzPVwibWFpbi1jb250ZW50LWNvbFwiPlxyXG4gICAgICA8YXBwLXpmb3JtIFtncm91cF09XCJncm91cFwiPjwvYXBwLXpmb3JtPlxyXG4gICAgPC9pb24tY29sPlxyXG4gICAgPCEtLSA8cHJlIHN0eWxlPVwiZm9udC1zaXplOiB4LXNtYWxsO1wiPnt7Z3JvdXAuek1vZGVsIHwganNvbn19PC9wcmU+IC0tPlxyXG4gIDwvaW9uLXJvdz5cclxuICA8aW9uLXJvdyAqbmdJZj1cImlzU0lURW52aXJvbm1lbnQoKSAmJiAhZ3JvdXAuaXNMb2FkaW5nXCIgc3R5bGU9XCJwYWRkaW5nLXRvcDogNTBweDtcIiBjbGFzcz1cIm1haW4tY29udGVudC1yb3cgc3R5bGUxXCI+XHJcbiAgICA8aW9uLWNvbCBjbGFzcz1cIm1haW4tY29udGVudC1jb2xcIj5cclxuICAgICAgPGFwcC16Zm9ybSBbZ3JvdXBdPVwiZ3JvdXBcIiBmaWVsZE5hbWU9XCJkZWJ1Z1YyXCI+PC9hcHAtemZvcm0+XHJcbiAgICA8L2lvbi1jb2w+XHJcbiAgPC9pb24tcm93PlxyXG4gIDwhLS0gcmVxdWlyZSBmb3IgbW9iaWxlIHNjcmVlbiAtLT5cclxuICA8ZGl2ICpuZ0lmPVwiIWlzU0lURW52aXJvbm1lbnQoKSAmJiAhZ3JvdXAuaXNMb2FkaW5nICYmIGlzTW9iaWxlU2NyZWVuKClcIiBzdHlsZT1cImhlaWdodDogMTUwcHg7XCI+PC9kaXY+XHJcbjwvaW9uLWdyaWQ+XHJcbiJdfQ==
@@ -1,25 +1,39 @@
1
- /********** Angular **********/
2
1
  import { Component, Input } from "@angular/core";
3
- /********** Ionic **********/
4
- /********** Plugin **********/
5
- /********** Component & Service **********/
6
- import { ZComponentHelper } from "mmhglobal-zcore";
2
+ import { ZComponentHelper } from 'mmhglobal-zcore';
7
3
  import * as i0 from "@angular/core";
8
4
  import * as i1 from "@angular/router";
9
5
  import * as i2 from "mmhglobal-zcore";
10
6
  import * as i3 from "@ionic/angular";
11
7
  import * as i4 from "../uimenubutton/uimenubutton.component";
12
- import * as i5 from "@fortawesome/angular-fontawesome";
13
- import * as i6 from "../uiactionbutton/uiactionbutton.component";
14
- import * as i7 from "@angular/common";
8
+ import * as i5 from "@progress/kendo-angular-buttons";
9
+ import * as i6 from "@progress/kendo-angular-layout";
10
+ import * as i7 from "@fortawesome/angular-fontawesome";
11
+ import * as i8 from "../uiactionbutton/uiactionbutton.component";
12
+ import * as i9 from "@angular/common";
15
13
  export class UiheaderComponent {
16
14
  // backNavigate = null;
17
- constructor(router, zcoreService, authService) {
15
+ constructor(router, translationService, zcoreService, authService) {
18
16
  this.router = router;
17
+ this.translationService = translationService;
19
18
  this.zcoreService = zcoreService;
20
19
  this.authService = authService;
20
+ this.isloading = true;
21
+ this.userPanelItems = [
22
+ {
23
+ text: "Profile",
24
+ icon: 'user',
25
+ onClick: this.navToUserProfile.bind(this),
26
+ },
27
+ {
28
+ text: "Log Out",
29
+ icon: 'sign-out-alt',
30
+ onClick: this.navLogout.bind(this),
31
+ }
32
+ ];
21
33
  }
34
+ ;
22
35
  ngOnInit() {
36
+ this.isloading = true;
23
37
  // if (this.group.backNavigationPage) {
24
38
  // if (this.group.backNavigationPage.indexOf('/', 1) > 1) {
25
39
  // this.backNavigate = this.group.backNavigationPage;
@@ -27,40 +41,59 @@ export class UiheaderComponent {
27
41
  // this.backNavigate = "/_appmenu/" + this.group.backNavigationPage;
28
42
  // }
29
43
  // }
30
- const environment = this.zcoreService.getEnvironment();
31
- this.profileImgUrl = environment.e1OauthUrl + '/api/ProfileImage?id=' + this.authService.e1Token.myProfile.UserName + '&size=80x80';
32
- const _myProfile = this.authService.e1Token.myProfile;
33
- if (_myProfile) {
34
- this.username = _myProfile.UserName;
35
- this.userDisplayName = _myProfile.LastName;
36
- }
37
- if (this.topFormHeader) {
38
- this.formHeader = this.topFormHeader;
44
+ this.environment = this.zcoreService.getEnvironment();
45
+ this.authService.userIsAuthenticated.subscribe(() => {
46
+ this.setUserProfile();
47
+ this.translateUserMenu();
48
+ this.isloading = false;
49
+ });
50
+ }
51
+ setUserProfile() {
52
+ if (this.authService.e1Token) {
53
+ this.profileImgUrl = this.environment.e1OauthUrl + '/api/ProfileImage?id=' + this.authService.e1Token.myProfile.UserName + '&size=80x80';
54
+ const _myProfile = this.authService.e1Token.myProfile;
55
+ if (_myProfile) {
56
+ this.username = _myProfile.UserName;
57
+ this.userDisplayName = _myProfile.LastName;
58
+ }
39
59
  }
40
60
  }
41
- bindFormHeader() {
42
- if (!this.topFormHeader) {
43
- return true;
61
+ translateUserMenu() {
62
+ this.translationService.$translateItemList(this.userPanelItems, "text", "ionic", "menu").subscribe();
63
+ }
64
+ onDialItemClick(event) {
65
+ if (event.item.onClick) {
66
+ event.item.onClick();
44
67
  }
45
- return false;
46
68
  }
47
- onLogout() {
69
+ navToUserProfile() {
70
+ this.router.navigateByUrl('/userProfile');
71
+ }
72
+ navLogout() {
48
73
  this.authService.logout();
49
74
  this.router.navigateByUrl('/auth');
50
75
  }
76
+ navHome() {
77
+ this.router.navigateByUrl(this.environment.startUpPage.replace("_", ""));
78
+ }
51
79
  isMobileScreen() {
52
80
  const v = ZComponentHelper.isMobileScreen();
53
81
  return v;
54
82
  }
83
+ onNavItemClick(navItem) {
84
+ if (navItem.route) {
85
+ this.router.navigateByUrl(navItem.route);
86
+ }
87
+ }
55
88
  }
56
- UiheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UiheaderComponent, deps: [{ token: i1.Router }, { token: i2.ZCoreService }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
57
- UiheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UiheaderComponent, selector: "app-uiheader", inputs: { group: "group", topFormHeader: "topFormHeader" }, ngImport: i0, template: "<ion-header>\r\n <ion-toolbar>\r\n <app-uimenubutton slot=\"start\" [group]=\"group\"></app-uimenubutton>\r\n \r\n <ion-title class=\"toolbar-title\">\r\n <div *ngIf=\"!bindFormHeader()\">\r\n {{ formHeader }}\r\n </div>\r\n <div *ngIf=\"bindFormHeader()\">\r\n {{ group.formHeader }}\r\n </div>\r\n </ion-title>\r\n\r\n <div slot=\"end\" *ngIf=\"!isMobileScreen()\" class=\"end-panel\">\r\n <ion-avatar class=\"profile-avatar\">\r\n <img src=\"{{profileImgUrl}}\" [routerLink]=\"['userProfile']\">\r\n </ion-avatar>\r\n <ion-label class=\"profile-username\">{{userDisplayName}}</ion-label>\r\n\r\n <div class=\"profile-vl\"></div>\r\n\r\n <!--<fa-icon slot=\"end\" class=\"fa-lg\" [icon]=\"['fas', 'sign-out-alt']\" (click)=\"onLogout()\" style=\"cursor: pointer;\"></fa-icon>-->\r\n\r\n <ion-button (click)=\"onLogout()\" fill=\"none\" size=\"small\">\r\n <fa-icon [icon]=\"['fas', 'sign-out-alt']\" style=\"margin-right: 5px;\"></fa-icon> logout\r\n </ion-button>\r\n </div>\r\n\r\n <div *ngIf=\"group\">\r\n <ion-buttons slot=\"primary\" *ngIf=\"!group.isLoading\">\r\n <app-uiactionbutton [group]=\"group\"></app-uiactionbutton>\r\n <!-- <ion-button (click)=\"onAction()\" [disabled]=\"false\">\r\n <ion-icon name=\"checkmark\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </ion-buttons>\r\n </div>\r\n\r\n </ion-toolbar>\r\n</ion-header>\r\n", styles: [".title-md{padding-inline-start:10px;padding-top:3px;font-size:18px}ion-toolbar{--background: var(--z-page-header-backgroundcolor);--color: var(--ion-toolbar-color, var(--ion-text-color, #ffffff));--border-color: var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #256b12)))}.end-panel{display:flex;padding-right:10px;align-items:stretch}.profile-avatar{margin:auto;padding-right:10px;width:2.5rem;height:1.7rem}.profile-username{margin:auto;padding-right:10px}.profile-vl{margin:auto;border-left:2px solid;height:2rem;border-radius:1px}.profile-button{width:2.5rem;height:2.5rem;border-radius:12px;box-shadow:0 8px 15px #0000001a;background-color:var(--z-page-header-backgroundcolor);border:none}.toolbar-title{text-shadow:.5px .5px rgba(255,255,255,.48)}\n"], components: [{ type: i3.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { type: i3.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { type: i4.UimenubuttonComponent, selector: "app-uimenubutton", inputs: ["group"] }, { type: i3.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { type: i3.IonAvatar, selector: "ion-avatar" }, { type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i3.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { type: i5.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i3.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { type: i6.UiactionbuttonComponent, selector: "app-uiactionbutton", inputs: ["group"] }], directives: [{ type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.RouterLinkDelegate, selector: ":not(a):not(area)[routerLink]", inputs: ["routerDirection", "routerAnimation"] }, { type: i1.RouterLink, selector: ":not(a):not(area)[routerLink]", inputs: ["queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }] });
89
+ UiheaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UiheaderComponent, deps: [{ token: i1.Router }, { token: i2.TranslationService }, { token: i2.ZCoreService }, { token: i2.AuthService }], target: i0.ɵɵFactoryTarget.Component });
90
+ UiheaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UiheaderComponent, selector: "app-uiheader", inputs: { group: "group", topFormHeader: "topFormHeader" }, ngImport: i0, template: "<ion-header>\r\n <ion-toolbar>\r\n <div class=\"toolbar-container\" *ngIf=\"!isloading\">\r\n <div class=\"toolbar-first-row\">\r\n <app-uimenubutton slot=\"start\" [group]=\"group\"></app-uimenubutton>\r\n\r\n <ion-title class=\"toolbar-title\">\r\n <div *ngIf=\"topFormHeader || (group && !group.isLoading && group.formHeader)\">\r\n <ion-label class=\"toolbar-title-label\">{{ topFormHeader ? topFormHeader :\r\n group.formHeader}}</ion-label>\r\n </div>\r\n </ion-title>\r\n\r\n <div slot=\"end\" *ngIf=\"!isMobileScreen()\" class=\"end-panel hoverable\">\r\n <kendo-floatingactionbutton [dialItems]=\"userPanelItems\" [offset]=\"{x:'-5px', y:'-5px'}\"\r\n [align]=\"{ vertical: 'top', horizontal: 'end' }\" [dialItemAnimation]=true buttonClass=\"user-panel-button\"\r\n dialClass=\"user-panel-dial\" (dialItemClick)=\"onDialItemClick($event)\">\r\n <ng-template kendoFloatingActionButtonTemplate>\r\n <kendo-avatar shape=\"circle\" [imageSrc]=\"profileImgUrl\"></kendo-avatar>\r\n <ion-label class=\"profile-username\">{{userDisplayName}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoDialItemTemplate let-item let-isFocused=\"isFocused\">\r\n <span [class.custom-focused-class]=\"isFocused\" class=\"user-panel-item\">\r\n <fa-icon [icon]=\"item.icon\" class=\"user-panel-item-icon\"></fa-icon>\r\n <span class=\"user-panel-option-text\">{{ item.text }}</span>\r\n </span>\r\n </ng-template>\r\n </kendo-floatingactionbutton>\r\n </div>\r\n <div *ngIf=\"group\">\r\n <ion-buttons slot=\"primary\" *ngIf=\"!group.isLoading\">\r\n <app-uiactionbutton [group]=\"group\"></app-uiactionbutton>\r\n </ion-buttons>\r\n </div>\r\n </div>\r\n\r\n <!-- Design 1 -->\r\n <!-- <div class=\"toolbar-second-row\" *ngIf=\"!isMobileScreen() && group && group.navItems\">\r\n <div class=\"nav-bar-container\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon [icon]=\"item.icon\" class=\"zcard-header-icon\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Design 2 -->\r\n <!-- <div class=\"toolbar-second-row\" *ngIf=\"!isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\" [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </div> -->\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n", styles: ["ion-toolbar{--background: var(--ion-color-primary-shade);--color: var(--ion-color-primary-contrast)}.toolbar-first-row{display:flex}.toolbar-second-row{margin-left:50px}.end-panel{display:flex;align-items:stretch;cursor:pointer}.profile-username{padding-right:10px;margin:auto auto auto 15px;font-size:var(--page-user-profile-font-size)}.toolbar-title-label{text-shadow:.5px .5px rgba(255,255,255,.48);font-size:var(--page-title-font-size)}.hoverable:hover{background:#ffffff24}:host ::ng-deep kendo-floatingactionbutton{max-height:60px;border-radius:10px}:host ::ng-deep kendo-floatingactionbutton .user-panel-button{background:transparent!important;border:none!important;outline:none}:host ::ng-deep kendo-floatingactionbutton:hover{background:rgba(0,0,0,.3)}:host ::ng-deep kendo-floatingactionbutton .k-fab{box-shadow:none}\n"], components: [{ type: i3.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { type: i3.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { type: i4.UimenubuttonComponent, selector: "app-uimenubutton", inputs: ["group"] }, { type: i3.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { type: i3.IonLabel, selector: "ion-label", inputs: ["color", "mode", "position"] }, { type: i5.FloatingActionButtonComponent, selector: "kendo-floatingactionbutton", inputs: ["positionMode", "dialItemAnimation", "tabIndex", "dialItems", "themeColor", "size", "rounded", "shape", "disabled", "align", "offset", "icon", "iconClass", "buttonClass", "dialClass", "text"], outputs: ["blur", "focus", "dialItemClick", "open", "close"] }, { type: i6.AvatarComponent, selector: "kendo-avatar", inputs: ["border", "shape", "rounded", "size", "themeColor", "fillMode", "fill", "iconClass", "width", "height", "cssStyle", "initials", "icon", "imageSrc"] }, { type: i7.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i3.IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { type: i8.UiactionbuttonComponent, selector: "app-uiactionbutton", inputs: ["group"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.FloatingActionButtonTemplateDirective, selector: "[kendoFloatingActionButtonTemplate]" }, { type: i5.DialItemTemplateDirective, selector: "[kendoDialItemTemplate]" }] });
58
91
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UiheaderComponent, decorators: [{
59
92
  type: Component,
60
- args: [{ selector: "app-uiheader", template: "<ion-header>\r\n <ion-toolbar>\r\n <app-uimenubutton slot=\"start\" [group]=\"group\"></app-uimenubutton>\r\n \r\n <ion-title class=\"toolbar-title\">\r\n <div *ngIf=\"!bindFormHeader()\">\r\n {{ formHeader }}\r\n </div>\r\n <div *ngIf=\"bindFormHeader()\">\r\n {{ group.formHeader }}\r\n </div>\r\n </ion-title>\r\n\r\n <div slot=\"end\" *ngIf=\"!isMobileScreen()\" class=\"end-panel\">\r\n <ion-avatar class=\"profile-avatar\">\r\n <img src=\"{{profileImgUrl}}\" [routerLink]=\"['userProfile']\">\r\n </ion-avatar>\r\n <ion-label class=\"profile-username\">{{userDisplayName}}</ion-label>\r\n\r\n <div class=\"profile-vl\"></div>\r\n\r\n <!--<fa-icon slot=\"end\" class=\"fa-lg\" [icon]=\"['fas', 'sign-out-alt']\" (click)=\"onLogout()\" style=\"cursor: pointer;\"></fa-icon>-->\r\n\r\n <ion-button (click)=\"onLogout()\" fill=\"none\" size=\"small\">\r\n <fa-icon [icon]=\"['fas', 'sign-out-alt']\" style=\"margin-right: 5px;\"></fa-icon> logout\r\n </ion-button>\r\n </div>\r\n\r\n <div *ngIf=\"group\">\r\n <ion-buttons slot=\"primary\" *ngIf=\"!group.isLoading\">\r\n <app-uiactionbutton [group]=\"group\"></app-uiactionbutton>\r\n <!-- <ion-button (click)=\"onAction()\" [disabled]=\"false\">\r\n <ion-icon name=\"checkmark\" slot=\"icon-only\"></ion-icon>\r\n </ion-button> -->\r\n </ion-buttons>\r\n </div>\r\n\r\n </ion-toolbar>\r\n</ion-header>\r\n", styles: [".title-md{padding-inline-start:10px;padding-top:3px;font-size:18px}ion-toolbar{--background: var(--z-page-header-backgroundcolor);--color: var(--ion-toolbar-color, var(--ion-text-color, #ffffff));--border-color: var(--ion-toolbar-border-color, var(--ion-border-color, var(--ion-color-step-150, #256b12)))}.end-panel{display:flex;padding-right:10px;align-items:stretch}.profile-avatar{margin:auto;padding-right:10px;width:2.5rem;height:1.7rem}.profile-username{margin:auto;padding-right:10px}.profile-vl{margin:auto;border-left:2px solid;height:2rem;border-radius:1px}.profile-button{width:2.5rem;height:2.5rem;border-radius:12px;box-shadow:0 8px 15px #0000001a;background-color:var(--z-page-header-backgroundcolor);border:none}.toolbar-title{text-shadow:.5px .5px rgba(255,255,255,.48)}\n"] }]
61
- }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.ZCoreService }, { type: i2.AuthService }]; }, propDecorators: { group: [{
93
+ args: [{ selector: "app-uiheader", template: "<ion-header>\r\n <ion-toolbar>\r\n <div class=\"toolbar-container\" *ngIf=\"!isloading\">\r\n <div class=\"toolbar-first-row\">\r\n <app-uimenubutton slot=\"start\" [group]=\"group\"></app-uimenubutton>\r\n\r\n <ion-title class=\"toolbar-title\">\r\n <div *ngIf=\"topFormHeader || (group && !group.isLoading && group.formHeader)\">\r\n <ion-label class=\"toolbar-title-label\">{{ topFormHeader ? topFormHeader :\r\n group.formHeader}}</ion-label>\r\n </div>\r\n </ion-title>\r\n\r\n <div slot=\"end\" *ngIf=\"!isMobileScreen()\" class=\"end-panel hoverable\">\r\n <kendo-floatingactionbutton [dialItems]=\"userPanelItems\" [offset]=\"{x:'-5px', y:'-5px'}\"\r\n [align]=\"{ vertical: 'top', horizontal: 'end' }\" [dialItemAnimation]=true buttonClass=\"user-panel-button\"\r\n dialClass=\"user-panel-dial\" (dialItemClick)=\"onDialItemClick($event)\">\r\n <ng-template kendoFloatingActionButtonTemplate>\r\n <kendo-avatar shape=\"circle\" [imageSrc]=\"profileImgUrl\"></kendo-avatar>\r\n <ion-label class=\"profile-username\">{{userDisplayName}}</ion-label>\r\n </ng-template>\r\n <ng-template kendoDialItemTemplate let-item let-isFocused=\"isFocused\">\r\n <span [class.custom-focused-class]=\"isFocused\" class=\"user-panel-item\">\r\n <fa-icon [icon]=\"item.icon\" class=\"user-panel-item-icon\"></fa-icon>\r\n <span class=\"user-panel-option-text\">{{ item.text }}</span>\r\n </span>\r\n </ng-template>\r\n </kendo-floatingactionbutton>\r\n </div>\r\n <div *ngIf=\"group\">\r\n <ion-buttons slot=\"primary\" *ngIf=\"!group.isLoading\">\r\n <app-uiactionbutton [group]=\"group\"></app-uiactionbutton>\r\n </ion-buttons>\r\n </div>\r\n </div>\r\n\r\n <!-- Design 1 -->\r\n <!-- <div class=\"toolbar-second-row\" *ngIf=\"!isMobileScreen() && group && group.navItems\">\r\n <div class=\"nav-bar-container\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon [icon]=\"item.icon\" class=\"zcard-header-icon\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </div>\r\n </div> -->\r\n\r\n <!-- Design 2 -->\r\n <!-- <div class=\"toolbar-second-row\" *ngIf=\"!isMobileScreen() && group && group.navItems\">\r\n <kendo-breadcrumb [items]=\"group.navItems\" class=\"nav-bar\" (itemClick)=\"onNavItemClick($event)\">\r\n <ng-template kendoBreadCrumbItemTemplate let-item let-index=\"index\">\r\n <div class=\"nav-bar-item\" [class.current]=\"!item.route\">\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\" class=\"zcard-header-icon\" [ngClass]=\"{'icon-with-text': item.text}\"></fa-icon>\r\n <span>{{ item.text }}</span>\r\n </div>\r\n </ng-template>\r\n </kendo-breadcrumb>\r\n </div> -->\r\n </div>\r\n </ion-toolbar>\r\n</ion-header>\r\n", styles: ["ion-toolbar{--background: var(--ion-color-primary-shade);--color: var(--ion-color-primary-contrast)}.toolbar-first-row{display:flex}.toolbar-second-row{margin-left:50px}.end-panel{display:flex;align-items:stretch;cursor:pointer}.profile-username{padding-right:10px;margin:auto auto auto 15px;font-size:var(--page-user-profile-font-size)}.toolbar-title-label{text-shadow:.5px .5px rgba(255,255,255,.48);font-size:var(--page-title-font-size)}.hoverable:hover{background:#ffffff24}:host ::ng-deep kendo-floatingactionbutton{max-height:60px;border-radius:10px}:host ::ng-deep kendo-floatingactionbutton .user-panel-button{background:transparent!important;border:none!important;outline:none}:host ::ng-deep kendo-floatingactionbutton:hover{background:rgba(0,0,0,.3)}:host ::ng-deep kendo-floatingactionbutton .k-fab{box-shadow:none}\n"] }]
94
+ }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.TranslationService }, { type: i2.ZCoreService }, { type: i2.AuthService }]; }, propDecorators: { group: [{
62
95
  type: Input
63
96
  }], topFormHeader: [{
64
97
  type: Input
65
98
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWloZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWloZWFkZXIvdWloZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWloZWFkZXIvdWloZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0JBQStCO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pELDZCQUE2QjtBQUU3Qiw4QkFBOEI7QUFFOUIsMkNBQTJDO0FBQzNDLE9BQU8sRUFBcUMsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7O0FBUXRGLE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsdUJBQXVCO0lBRXZCLFlBQ1UsTUFBYyxFQUNkLFlBQTBCLEVBQzFCLFdBQXdCO1FBRnhCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUMvQixDQUFDO0lBRUosUUFBUTtRQUNOLHVDQUF1QztRQUN2QywyREFBMkQ7UUFDM0QscURBQXFEO1FBQ3JELFdBQVc7UUFDWCxzRUFBc0U7UUFDdEUsSUFBSTtRQUNKLElBQUk7UUFDSixNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLFVBQVUsR0FBRyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUNwSSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDdEQsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO1NBQzVDO1FBRUQsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztTQUN0QztJQUNILENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRU0sY0FBYztRQUNuQixNQUFNLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUM1QyxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7OytHQXBEVSxpQkFBaUI7bUdBQWpCLGlCQUFpQixnSENqQjlCLGkrQ0F1Q0E7NEZEdEJhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjO2tKQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyoqKioqKioqKiogQW5ndWxhciAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuLyoqKioqKioqKiogSW9uaWMgKioqKioqKioqKi9cclxuXHJcbi8qKioqKioqKioqIFBsdWdpbiAqKioqKioqKioqL1xyXG5cclxuLyoqKioqKioqKiogQ29tcG9uZW50ICYgU2VydmljZSAqKioqKioqKioqL1xyXG5pbXBvcnQgeyBaR3JvdXAsIFpDb3JlU2VydmljZSwgQXV0aFNlcnZpY2UsIFpDb21wb25lbnRIZWxwZXIgfSBmcm9tIFwibW1oZ2xvYmFsLXpjb3JlXCI7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXVpaGVhZGVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi91aWhlYWRlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi91aWhlYWRlci5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWloZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgdG9wRm9ybUhlYWRlcjogc3RyaW5nO1xyXG4gIHB1YmxpYyBmb3JtSGVhZGVyOiBzdHJpbmc7XHJcbiAgcHVibGljIHByb2ZpbGVJbWdVcmw6IHN0cmluZztcclxuICBwdWJsaWMgdXNlcm5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgdXNlckRpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgLy8gYmFja05hdmlnYXRlID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSB6Y29yZVNlcnZpY2U6IFpDb3JlU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIGlmICh0aGlzLmdyb3VwLmJhY2tOYXZpZ2F0aW9uUGFnZSkge1xyXG4gICAgLy8gaWYgKHRoaXMuZ3JvdXAuYmFja05hdmlnYXRpb25QYWdlLmluZGV4T2YoJy8nLCAxKSA+IDEpIHtcclxuICAgIC8vIHRoaXMuYmFja05hdmlnYXRlID0gdGhpcy5ncm91cC5iYWNrTmF2aWdhdGlvblBhZ2U7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLmJhY2tOYXZpZ2F0ZSA9IFwiL19hcHBtZW51L1wiICsgdGhpcy5ncm91cC5iYWNrTmF2aWdhdGlvblBhZ2U7XHJcbiAgICAvLyB9XHJcbiAgICAvLyB9XHJcbiAgICBjb25zdCBlbnZpcm9ubWVudCA9IHRoaXMuemNvcmVTZXJ2aWNlLmdldEVudmlyb25tZW50KCk7XHJcbiAgICB0aGlzLnByb2ZpbGVJbWdVcmwgPSBlbnZpcm9ubWVudC5lMU9hdXRoVXJsICsgJy9hcGkvUHJvZmlsZUltYWdlP2lkPScgKyB0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4ubXlQcm9maWxlLlVzZXJOYW1lICsgJyZzaXplPTgweDgwJztcclxuICAgIGNvbnN0IF9teVByb2ZpbGUgPSB0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4ubXlQcm9maWxlO1xyXG4gICAgaWYgKF9teVByb2ZpbGUpIHtcclxuICAgICAgdGhpcy51c2VybmFtZSA9IF9teVByb2ZpbGUuVXNlck5hbWU7XHJcbiAgICAgIHRoaXMudXNlckRpc3BsYXlOYW1lID0gX215UHJvZmlsZS5MYXN0TmFtZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy50b3BGb3JtSGVhZGVyKSB7XHJcbiAgICAgIHRoaXMuZm9ybUhlYWRlciA9IHRoaXMudG9wRm9ybUhlYWRlcjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBiaW5kRm9ybUhlYWRlcigpIHsgXHJcbiAgICBpZiAoIXRoaXMudG9wRm9ybUhlYWRlcikge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG4gXHJcbiAgcHVibGljIG9uTG9nb3V0KCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9hdXRoJyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNNb2JpbGVTY3JlZW4oKSB7XHJcbiAgICBjb25zdCB2ID0gWkNvbXBvbmVudEhlbHBlci5pc01vYmlsZVNjcmVlbigpO1xyXG4gICAgcmV0dXJuIHY7XHJcbiAgfVxyXG59XHJcbiIsIjxpb24taGVhZGVyPlxyXG4gIDxpb24tdG9vbGJhcj5cclxuICAgIDxhcHAtdWltZW51YnV0dG9uIHNsb3Q9XCJzdGFydFwiIFtncm91cF09XCJncm91cFwiPjwvYXBwLXVpbWVudWJ1dHRvbj5cclxuICAgIFxyXG4gICAgPGlvbi10aXRsZSBjbGFzcz1cInRvb2xiYXItdGl0bGVcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFiaW5kRm9ybUhlYWRlcigpXCI+XHJcbiAgICAgICAge3sgZm9ybUhlYWRlciB9fVxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cImJpbmRGb3JtSGVhZGVyKClcIj5cclxuICAgICAgICB7eyBncm91cC5mb3JtSGVhZGVyIH19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9pb24tdGl0bGU+XHJcblxyXG4gICAgPGRpdiBzbG90PVwiZW5kXCIgKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKVwiIGNsYXNzPVwiZW5kLXBhbmVsXCI+XHJcbiAgICAgIDxpb24tYXZhdGFyIGNsYXNzPVwicHJvZmlsZS1hdmF0YXJcIj5cclxuICAgICAgICA8aW1nIHNyYz1cInt7cHJvZmlsZUltZ1VybH19XCIgW3JvdXRlckxpbmtdPVwiWyd1c2VyUHJvZmlsZSddXCI+XHJcbiAgICAgIDwvaW9uLWF2YXRhcj5cclxuICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cInByb2ZpbGUtdXNlcm5hbWVcIj57e3VzZXJEaXNwbGF5TmFtZX19PC9pb24tbGFiZWw+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvZmlsZS12bFwiPjwvZGl2PlxyXG5cclxuICAgICAgPCEtLTxmYS1pY29uIHNsb3Q9XCJlbmRcIiBjbGFzcz1cImZhLWxnXCIgW2ljb25dPVwiWydmYXMnLCAnc2lnbi1vdXQtYWx0J11cIiAoY2xpY2spPVwib25Mb2dvdXQoKVwiIHN0eWxlPVwiY3Vyc29yOiBwb2ludGVyO1wiPjwvZmEtaWNvbj4tLT5cclxuXHJcbiAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvbkxvZ291dCgpXCIgZmlsbD1cIm5vbmVcIiBzaXplPVwic21hbGxcIj5cclxuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhcycsICdzaWduLW91dC1hbHQnXVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiA1cHg7XCI+PC9mYS1pY29uPiBsb2dvdXRcclxuICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImdyb3VwXCI+XHJcbiAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwicHJpbWFyeVwiICpuZ0lmPVwiIWdyb3VwLmlzTG9hZGluZ1wiPlxyXG4gICAgICAgIDxhcHAtdWlhY3Rpb25idXR0b24gW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWlhY3Rpb25idXR0b24+XHJcbiAgICAgICAgPCEtLSA8aW9uLWJ1dHRvbiAoY2xpY2spPVwib25BY3Rpb24oKVwiIFtkaXNhYmxlZF09XCJmYWxzZVwiPlxyXG4gICAgICA8aW9uLWljb24gbmFtZT1cImNoZWNrbWFya1wiIHNsb3Q9XCJpY29uLW9ubHlcIj48L2lvbi1pY29uPlxyXG4gICAgICAgPC9pb24tYnV0dG9uPiAtLT5cclxuICAgICAgPC9pb24tYnV0dG9ucz5cclxuICAgIDwvZGl2PlxyXG5cclxuICA8L2lvbi10b29sYmFyPlxyXG48L2lvbi1oZWFkZXI+XHJcbiJdfQ==
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWloZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWloZWFkZXIvdWloZWFkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW1oZ2xvYmFsLWR5bmFtaWNmb3JtL3NyYy9saWIvdWloZWFkZXIvdWloZWFkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFxQyxnQkFBZ0IsRUFBc0IsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7QUFPMUcsTUFBTSxPQUFPLGlCQUFpQjtJQW9CNUIsdUJBQXVCO0lBRXZCLFlBQ1UsTUFBYyxFQUNkLGtCQUFzQyxFQUN0QyxZQUEwQixFQUMxQixXQUF3QjtRQUh4QixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXBCM0IsY0FBUyxHQUFHLElBQUksQ0FBQztRQUVqQixtQkFBYyxHQUFRO1lBQzNCO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxNQUFNO2dCQUNaLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUMxQztZQUNEO2dCQUNFLElBQUksRUFBRSxTQUFTO2dCQUNmLElBQUksRUFBRSxjQUFjO2dCQUNwQixPQUFPLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ25DO1NBQ0YsQ0FBQztJQU9vQyxDQUFDO0lBcEJmLENBQUM7SUFzQnpCLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0Qix1Q0FBdUM7UUFDdkMsMkRBQTJEO1FBQzNELHFEQUFxRDtRQUNyRCxXQUFXO1FBQ1gsc0VBQXNFO1FBQ3RFLElBQUk7UUFDSixJQUFJO1FBQ0osSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQzVCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLEdBQUcsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFFBQVEsR0FBRyxhQUFhLENBQUM7WUFDekksTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1lBQ3RELElBQUksVUFBVSxFQUFFO2dCQUNkLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDO2FBQzVDO1NBQ0Y7SUFDSCxDQUFDO0lBRU8saUJBQWlCO1FBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdkcsQ0FBQztJQUVNLGVBQWUsQ0FBQyxLQUFVO1FBQy9CLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdEIsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUN0QjtJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVPLFNBQVM7UUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxPQUFPO1FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFTSxjQUFjO1FBQ25CLE1BQU0sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVNLGNBQWMsQ0FBQyxPQUFZO1FBQ2hDLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRTtZQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUM7SUFDSCxDQUFDOzsrR0F4RlUsaUJBQWlCO21HQUFqQixpQkFBaUIsZ0hDVDlCLGsyR0FnRUE7NEZEdkRhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxjQUFjO21MQUtmLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgWkdyb3VwLCBaQ29yZVNlcnZpY2UsIEF1dGhTZXJ2aWNlLCBaQ29tcG9uZW50SGVscGVyLCBUcmFuc2xhdGlvblNlcnZpY2UgfSBmcm9tICdtbWhnbG9iYWwtemNvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiYXBwLXVpaGVhZGVyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi91aWhlYWRlci5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi91aWhlYWRlci5jb21wb25lbnQuc2Nzc1wiXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVWloZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGdyb3VwOiBaR3JvdXA7XHJcbiAgQElucHV0KCkgdG9wRm9ybUhlYWRlcjogc3RyaW5nO1xyXG4gIHB1YmxpYyBwcm9maWxlSW1nVXJsOiBzdHJpbmc7XHJcbiAgcHVibGljIHVzZXJuYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHVzZXJEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBpc2xvYWRpbmcgPSB0cnVlOztcclxuICBwcml2YXRlIGVudmlyb25tZW50O1xyXG4gIHB1YmxpYyB1c2VyUGFuZWxJdGVtczogYW55ID0gW1xyXG4gICAge1xyXG4gICAgICB0ZXh0OiBcIlByb2ZpbGVcIixcclxuICAgICAgaWNvbjogJ3VzZXInLFxyXG4gICAgICBvbkNsaWNrOiB0aGlzLm5hdlRvVXNlclByb2ZpbGUuYmluZCh0aGlzKSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHRleHQ6IFwiTG9nIE91dFwiLFxyXG4gICAgICBpY29uOiAnc2lnbi1vdXQtYWx0JyxcclxuICAgICAgb25DbGljazogdGhpcy5uYXZMb2dvdXQuYmluZCh0aGlzKSxcclxuICAgIH1cclxuICBdO1xyXG4gIC8vIGJhY2tOYXZpZ2F0ZSA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgdHJhbnNsYXRpb25TZXJ2aWNlOiBUcmFuc2xhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHpjb3JlU2VydmljZTogWkNvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNsb2FkaW5nID0gdHJ1ZTtcclxuICAgIC8vIGlmICh0aGlzLmdyb3VwLmJhY2tOYXZpZ2F0aW9uUGFnZSkge1xyXG4gICAgLy8gaWYgKHRoaXMuZ3JvdXAuYmFja05hdmlnYXRpb25QYWdlLmluZGV4T2YoJy8nLCAxKSA+IDEpIHtcclxuICAgIC8vIHRoaXMuYmFja05hdmlnYXRlID0gdGhpcy5ncm91cC5iYWNrTmF2aWdhdGlvblBhZ2U7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLmJhY2tOYXZpZ2F0ZSA9IFwiL19hcHBtZW51L1wiICsgdGhpcy5ncm91cC5iYWNrTmF2aWdhdGlvblBhZ2U7XHJcbiAgICAvLyB9XHJcbiAgICAvLyB9XHJcbiAgICB0aGlzLmVudmlyb25tZW50ID0gdGhpcy56Y29yZVNlcnZpY2UuZ2V0RW52aXJvbm1lbnQoKTtcclxuICAgIHRoaXMuYXV0aFNlcnZpY2UudXNlcklzQXV0aGVudGljYXRlZC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldFVzZXJQcm9maWxlKCk7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlVXNlck1lbnUoKTtcclxuICAgICAgdGhpcy5pc2xvYWRpbmcgPSBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVc2VyUHJvZmlsZSgpIHtcclxuICAgIGlmICh0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4pIHtcclxuICAgICAgdGhpcy5wcm9maWxlSW1nVXJsID0gdGhpcy5lbnZpcm9ubWVudC5lMU9hdXRoVXJsICsgJy9hcGkvUHJvZmlsZUltYWdlP2lkPScgKyB0aGlzLmF1dGhTZXJ2aWNlLmUxVG9rZW4ubXlQcm9maWxlLlVzZXJOYW1lICsgJyZzaXplPTgweDgwJztcclxuICAgICAgY29uc3QgX215UHJvZmlsZSA9IHRoaXMuYXV0aFNlcnZpY2UuZTFUb2tlbi5teVByb2ZpbGU7XHJcbiAgICAgIGlmIChfbXlQcm9maWxlKSB7XHJcbiAgICAgICAgdGhpcy51c2VybmFtZSA9IF9teVByb2ZpbGUuVXNlck5hbWU7XHJcbiAgICAgICAgdGhpcy51c2VyRGlzcGxheU5hbWUgPSBfbXlQcm9maWxlLkxhc3ROYW1lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRyYW5zbGF0ZVVzZXJNZW51KCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvblNlcnZpY2UuJHRyYW5zbGF0ZUl0ZW1MaXN0KHRoaXMudXNlclBhbmVsSXRlbXMsIFwidGV4dFwiLCBcImlvbmljXCIsIFwibWVudVwiKS5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRpYWxJdGVtQ2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50Lml0ZW0ub25DbGljaykge1xyXG4gICAgICBldmVudC5pdGVtLm9uQ2xpY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgbmF2VG9Vc2VyUHJvZmlsZSgpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy91c2VyUHJvZmlsZScpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBuYXZMb2dvdXQoKSB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL2F1dGgnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuYXZIb21lKCkge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLmVudmlyb25tZW50LnN0YXJ0VXBQYWdlLnJlcGxhY2UoXCJfXCIsIFwiXCIpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpc01vYmlsZVNjcmVlbigpIHtcclxuICAgIGNvbnN0IHYgPSBaQ29tcG9uZW50SGVscGVyLmlzTW9iaWxlU2NyZWVuKCk7XHJcbiAgICByZXR1cm4gdjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk5hdkl0ZW1DbGljayhuYXZJdGVtOiBhbnkpIHtcclxuICAgIGlmIChuYXZJdGVtLnJvdXRlKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwobmF2SXRlbS5yb3V0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUbyBzdGltdWxhdGUgbmV2ZXIgY2xvc2VcclxuICAvLyBwdWJsaWMgb25DbG9zZShldmVudDogYW55KTogdm9pZCB7XHJcbiAgLy8gICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIC8vIH1cclxufVxyXG4iLCI8aW9uLWhlYWRlcj5cclxuICA8aW9uLXRvb2xiYXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwidG9vbGJhci1jb250YWluZXJcIiAqbmdJZj1cIiFpc2xvYWRpbmdcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRvb2xiYXItZmlyc3Qtcm93XCI+XHJcbiAgICAgICAgPGFwcC11aW1lbnVidXR0b24gc2xvdD1cInN0YXJ0XCIgW2dyb3VwXT1cImdyb3VwXCI+PC9hcHAtdWltZW51YnV0dG9uPlxyXG5cclxuICAgICAgICA8aW9uLXRpdGxlIGNsYXNzPVwidG9vbGJhci10aXRsZVwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cInRvcEZvcm1IZWFkZXIgfHwgKGdyb3VwICYmICFncm91cC5pc0xvYWRpbmcgJiYgZ3JvdXAuZm9ybUhlYWRlcilcIj5cclxuICAgICAgICAgICAgPGlvbi1sYWJlbCBjbGFzcz1cInRvb2xiYXItdGl0bGUtbGFiZWxcIj57eyB0b3BGb3JtSGVhZGVyID8gdG9wRm9ybUhlYWRlciA6XHJcbiAgICAgICAgICAgICAgZ3JvdXAuZm9ybUhlYWRlcn19PC9pb24tbGFiZWw+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi10aXRsZT5cclxuXHJcbiAgICAgICAgPGRpdiBzbG90PVwiZW5kXCIgKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKVwiIGNsYXNzPVwiZW5kLXBhbmVsIGhvdmVyYWJsZVwiPlxyXG4gICAgICAgICAgPGtlbmRvLWZsb2F0aW5nYWN0aW9uYnV0dG9uIFtkaWFsSXRlbXNdPVwidXNlclBhbmVsSXRlbXNcIiBbb2Zmc2V0XT1cInt4OictNXB4JywgeTonLTVweCd9XCJcclxuICAgICAgICAgICAgW2FsaWduXT1cInsgdmVydGljYWw6ICd0b3AnLCBob3Jpem9udGFsOiAnZW5kJyB9XCIgW2RpYWxJdGVtQW5pbWF0aW9uXT10cnVlIGJ1dHRvbkNsYXNzPVwidXNlci1wYW5lbC1idXR0b25cIlxyXG4gICAgICAgICAgICBkaWFsQ2xhc3M9XCJ1c2VyLXBhbmVsLWRpYWxcIiAoZGlhbEl0ZW1DbGljayk9XCJvbkRpYWxJdGVtQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9GbG9hdGluZ0FjdGlvbkJ1dHRvblRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgIDxrZW5kby1hdmF0YXIgc2hhcGU9XCJjaXJjbGVcIiBbaW1hZ2VTcmNdPVwicHJvZmlsZUltZ1VybFwiPjwva2VuZG8tYXZhdGFyPlxyXG4gICAgICAgICAgICAgIDxpb24tbGFiZWwgY2xhc3M9XCJwcm9maWxlLXVzZXJuYW1lXCI+e3t1c2VyRGlzcGxheU5hbWV9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUga2VuZG9EaWFsSXRlbVRlbXBsYXRlIGxldC1pdGVtIGxldC1pc0ZvY3VzZWQ9XCJpc0ZvY3VzZWRcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBbY2xhc3MuY3VzdG9tLWZvY3VzZWQtY2xhc3NdPVwiaXNGb2N1c2VkXCIgY2xhc3M9XCJ1c2VyLXBhbmVsLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwidXNlci1wYW5lbC1pdGVtLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInVzZXItcGFuZWwtb3B0aW9uLXRleHRcIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9rZW5kby1mbG9hdGluZ2FjdGlvbmJ1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiZ3JvdXBcIj5cclxuICAgICAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwicHJpbWFyeVwiICpuZ0lmPVwiIWdyb3VwLmlzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICA8YXBwLXVpYWN0aW9uYnV0dG9uIFtncm91cF09XCJncm91cFwiPjwvYXBwLXVpYWN0aW9uYnV0dG9uPlxyXG4gICAgICAgICAgPC9pb24tYnV0dG9ucz5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8IS0tIERlc2lnbiAxIC0tPlxyXG4gICAgICA8IS0tIDxkaXYgY2xhc3M9XCJ0b29sYmFyLXNlY29uZC1yb3dcIiAqbmdJZj1cIiFpc01vYmlsZVNjcmVlbigpICYmIGdyb3VwICYmIGdyb3VwLm5hdkl0ZW1zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm5hdi1iYXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgICA8a2VuZG8tYnJlYWRjcnVtYiBbaXRlbXNdPVwiZ3JvdXAubmF2SXRlbXNcIiBjbGFzcz1cIm5hdi1iYXJcIiAoaXRlbUNsaWNrKT1cIm9uTmF2SXRlbUNsaWNrKCRldmVudClcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvQnJlYWRDcnVtYkl0ZW1UZW1wbGF0ZSBsZXQtaXRlbSBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtYmFyLWl0ZW1cIiBbY2xhc3MuY3VycmVudF09XCIhaXRlbS5yb3V0ZVwiPlxyXG4gICAgICAgICAgICAgICAgPGZhLWljb24gW2ljb25dPVwiaXRlbS5pY29uXCIgY2xhc3M9XCJ6Y2FyZC1oZWFkZXItaWNvblwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICAgIDxzcGFuPnt7IGl0ZW0udGV4dCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDwva2VuZG8tYnJlYWRjcnVtYj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgPCEtLSBEZXNpZ24gMiAtLT5cclxuICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwidG9vbGJhci1zZWNvbmQtcm93XCIgKm5nSWY9XCIhaXNNb2JpbGVTY3JlZW4oKSAmJiBncm91cCAmJiBncm91cC5uYXZJdGVtc1wiPlxyXG4gICAgICAgIDxrZW5kby1icmVhZGNydW1iIFtpdGVtc109XCJncm91cC5uYXZJdGVtc1wiIGNsYXNzPVwibmF2LWJhclwiIChpdGVtQ2xpY2spPVwib25OYXZJdGVtQ2xpY2soJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIGtlbmRvQnJlYWRDcnVtYkl0ZW1UZW1wbGF0ZSBsZXQtaXRlbSBsZXQtaW5kZXg9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmF2LWJhci1pdGVtXCIgW2NsYXNzLmN1cnJlbnRdPVwiIWl0ZW0ucm91dGVcIj5cclxuICAgICAgICAgICAgICA8ZmEtaWNvbiAqbmdJZj1cIml0ZW0uaWNvblwiIFtpY29uXT1cIml0ZW0uaWNvblwiIGNsYXNzPVwiemNhcmQtaGVhZGVyLWljb25cIiBbbmdDbGFzc109XCJ7J2ljb24td2l0aC10ZXh0JzogaXRlbS50ZXh0fVwiPjwvZmEtaWNvbj5cclxuICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLnRleHQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2tlbmRvLWJyZWFkY3J1bWI+XHJcbiAgICAgIDwvZGl2PiAtLT5cclxuICAgIDwvZGl2PlxyXG4gIDwvaW9uLXRvb2xiYXI+XHJcbjwvaW9uLWhlYWRlcj5cclxuIl19