@valtimo/components 5.13.0 → 5.15.0

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 (108) hide show
  1. package/esm2020/lib/components/alert/alert.component.mjs +3 -3
  2. package/esm2020/lib/components/alert/alert.module.mjs +4 -4
  3. package/esm2020/lib/components/alert/alert.service.mjs +3 -3
  4. package/esm2020/lib/components/bpmn-js-diagram/bpmn-js-diagram.component.mjs +3 -3
  5. package/esm2020/lib/components/bpmn-js-diagram/bpmn-js-diagram.module.mjs +4 -4
  6. package/esm2020/lib/components/breadcrumb-navigation/breadcrumb-navigation.component.mjs +3 -3
  7. package/esm2020/lib/components/breadcrumb-navigation/breadcrumb-navigation.module.mjs +4 -4
  8. package/esm2020/lib/components/camunda/form/camunda-form.components.mjs +3 -3
  9. package/esm2020/lib/components/camunda/form/camunda-form.module.mjs +4 -4
  10. package/esm2020/lib/components/camunda/form/custom/camunda-custom-form.component.mjs +3 -3
  11. package/esm2020/lib/components/camunda/form/custom/camunda-custom-form.module.mjs +4 -4
  12. package/esm2020/lib/components/camunda/form/generated/camunda-generated-form.component.mjs +3 -3
  13. package/esm2020/lib/components/camunda/form/generated/camunda-generated-form.module.mjs +4 -4
  14. package/esm2020/lib/components/camunda/form/generated/formfield/boolean/camunda-boolean-formfield.component.mjs +3 -3
  15. package/esm2020/lib/components/camunda/form/generated/formfield/camunda-formfield-generator.directive.mjs +3 -3
  16. package/esm2020/lib/components/camunda/form/generated/formfield/camunda-formfield.service.mjs +3 -3
  17. package/esm2020/lib/components/camunda/form/generated/formfield/choicefield/camunda-choicefield-formfield.component.mjs +3 -3
  18. package/esm2020/lib/components/camunda/form/generated/formfield/date/camunda-date-formfield.component.mjs +3 -3
  19. package/esm2020/lib/components/camunda/form/generated/formfield/enum/camunda-enum-formfield.component.mjs +3 -3
  20. package/esm2020/lib/components/camunda/form/generated/formfield/long/camunda-long-formfield.component.mjs +3 -3
  21. package/esm2020/lib/components/camunda/form/generated/formfield/string/camunda-string-formfield.component.mjs +3 -3
  22. package/esm2020/lib/components/camunda/form/generated/formfield/textarea/camunda-textarea-formfield.component.mjs +3 -3
  23. package/esm2020/lib/components/camunda/form/generated/formfield/validation/camunda-formfield-validation.component.mjs +3 -3
  24. package/esm2020/lib/components/card/card.component.mjs +3 -3
  25. package/esm2020/lib/components/card/card.module.mjs +4 -4
  26. package/esm2020/lib/components/components.module.mjs +4 -4
  27. package/esm2020/lib/components/data-list/data-list.component.mjs +3 -3
  28. package/esm2020/lib/components/data-list/data-list.module.mjs +4 -4
  29. package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.component.mjs +3 -3
  30. package/esm2020/lib/components/documenten-api-metadata-modal/documenten-api-metadata-modal.module.mjs +4 -4
  31. package/esm2020/lib/components/dropzone/dropzone.component.mjs +3 -3
  32. package/esm2020/lib/components/dropzone/dropzone.module.mjs +4 -4
  33. package/esm2020/lib/components/field-auto-focus/field-auto-focus.directive.mjs +3 -3
  34. package/esm2020/lib/components/field-auto-focus/field-auto-focus.module.mjs +4 -4
  35. package/esm2020/lib/components/file-size/file-size.module.mjs +4 -4
  36. package/esm2020/lib/components/file-size/file-size.pipe.mjs +3 -3
  37. package/esm2020/lib/components/filter-sidebar/filter-sidebar.component.mjs +3 -3
  38. package/esm2020/lib/components/filter-sidebar/filter-sidebar.module.mjs +4 -4
  39. package/esm2020/lib/components/form-io/documenten-api-uploader/documenten-api-uploader.component.mjs +3 -3
  40. package/esm2020/lib/components/form-io/form-io-builder.component.mjs +3 -3
  41. package/esm2020/lib/components/form-io/form-io-uploader/form-io-uploader.component.mjs +3 -3
  42. package/esm2020/lib/components/form-io/form-io.component.mjs +7 -5
  43. package/esm2020/lib/components/form-io/form-io.module.mjs +4 -4
  44. package/esm2020/lib/components/form-io/services/form-io-dom.service.mjs +3 -3
  45. package/esm2020/lib/components/form-io/services/form-io-state.service.mjs +3 -3
  46. package/esm2020/lib/components/left-sidebar/left-sidebar.component.mjs +3 -3
  47. package/esm2020/lib/components/left-sidebar/left-sidebar.module.mjs +4 -4
  48. package/esm2020/lib/components/list/ListFilterPipe.directive.mjs +3 -3
  49. package/esm2020/lib/components/list/list.component.mjs +7 -5
  50. package/esm2020/lib/components/list/list.module.mjs +4 -4
  51. package/esm2020/lib/components/menu/menu-item-text.component.mjs +3 -3
  52. package/esm2020/lib/components/menu/menu-routing.module.mjs +4 -4
  53. package/esm2020/lib/components/menu/menu.component.mjs +3 -3
  54. package/esm2020/lib/components/menu/menu.module.mjs +4 -4
  55. package/esm2020/lib/components/menu/menu.service.mjs +52 -32
  56. package/esm2020/lib/components/menu/submenu-item-text.component.mjs +21 -11
  57. package/esm2020/lib/components/modal/modal.component.mjs +21 -5
  58. package/esm2020/lib/components/modal/modal.module.mjs +4 -4
  59. package/esm2020/lib/components/multiselect-dropdown/multiselect-dropdown.component.mjs +3 -3
  60. package/esm2020/lib/components/multiselect-dropdown/multiselect-dropdown.module.mjs +4 -4
  61. package/esm2020/lib/components/page-header/page-header.component.mjs +3 -3
  62. package/esm2020/lib/components/page-header/page-header.module.mjs +4 -4
  63. package/esm2020/lib/components/page-title/page-title.component.mjs +3 -3
  64. package/esm2020/lib/components/page-title/page-title.module.mjs +4 -4
  65. package/esm2020/lib/components/progress-bar/progress-bar.component.mjs +3 -3
  66. package/esm2020/lib/components/progress-bar/progress-bar.module.mjs +4 -4
  67. package/esm2020/lib/components/right-sidebar/right-sidebar.component.mjs +3 -3
  68. package/esm2020/lib/components/right-sidebar/right-sidebar.module.mjs +4 -4
  69. package/esm2020/lib/components/search-fields/search-fields.component.mjs +91 -36
  70. package/esm2020/lib/components/search-fields/search-fields.module.mjs +10 -7
  71. package/esm2020/lib/components/searchable-dropdown/searchable-dropdown.component.mjs +3 -3
  72. package/esm2020/lib/components/searchable-dropdown/searchable-dropdown.module.mjs +4 -4
  73. package/esm2020/lib/components/searchable-dropdown-select/searchable-dropdown-select.component.mjs +3 -3
  74. package/esm2020/lib/components/searchable-dropdown-select/searchable-dropdown-select.module.mjs +4 -4
  75. package/esm2020/lib/components/spinner/spinner.component.mjs +3 -3
  76. package/esm2020/lib/components/spinner/spinner.module.mjs +4 -4
  77. package/esm2020/lib/components/timeline/timeline.component.mjs +3 -3
  78. package/esm2020/lib/components/timeline/timeline.module.mjs +4 -4
  79. package/esm2020/lib/components/topbar/topbar.component.mjs +3 -3
  80. package/esm2020/lib/components/topbar/topbar.module.mjs +4 -4
  81. package/esm2020/lib/components/uploader/uploader-drag-drop.directive.mjs +3 -3
  82. package/esm2020/lib/components/uploader/uploader.component.mjs +3 -3
  83. package/esm2020/lib/components/uploader/uploader.module.mjs +4 -4
  84. package/esm2020/lib/components/version/version.service.mjs +3 -3
  85. package/esm2020/lib/components/view-content/view-content.service.mjs +3 -3
  86. package/esm2020/lib/components/webcam/webcam.component.mjs +3 -3
  87. package/esm2020/lib/components/webcam/webcam.module.mjs +4 -4
  88. package/esm2020/lib/components/widget/widget.component.mjs +3 -3
  89. package/esm2020/lib/components/widget/widget.module.mjs +4 -4
  90. package/esm2020/lib/services/valtimo-modal.service.mjs +3 -3
  91. package/fesm2015/valtimo-components.mjs +488 -387
  92. package/fesm2015/valtimo-components.mjs.map +1 -1
  93. package/fesm2020/valtimo-components.mjs +494 -387
  94. package/fesm2020/valtimo-components.mjs.map +1 -1
  95. package/lib/components/form-io/form-io.component.d.ts +2 -1
  96. package/lib/components/form-io/form-io.component.d.ts.map +1 -1
  97. package/lib/components/list/list.component.d.ts +3 -2
  98. package/lib/components/list/list.component.d.ts.map +1 -1
  99. package/lib/components/menu/menu.service.d.ts +3 -2
  100. package/lib/components/menu/menu.service.d.ts.map +1 -1
  101. package/lib/components/menu/submenu-item-text.component.d.ts.map +1 -1
  102. package/lib/components/modal/modal.component.d.ts +4 -0
  103. package/lib/components/modal/modal.component.d.ts.map +1 -1
  104. package/lib/components/search-fields/search-fields.component.d.ts +25 -13
  105. package/lib/components/search-fields/search-fields.component.d.ts.map +1 -1
  106. package/lib/components/search-fields/search-fields.module.d.ts +1 -1
  107. package/lib/components/search-fields/search-fields.module.d.ts.map +1 -1
  108. package/package.json +1 -1
@@ -24,10 +24,10 @@ import { ListFilterPipe } from './ListFilterPipe.directive';
24
24
  import * as i0 from "@angular/core";
25
25
  export class ListModule {
26
26
  }
27
- ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
- ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListModule, declarations: [ListComponent, ListFilterPipe], imports: [CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule], exports: [ListComponent, ListFilterPipe] });
29
- ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListModule, imports: [[CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule]] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ListModule, decorators: [{
27
+ ListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
+ ListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListModule, declarations: [ListComponent, ListFilterPipe], imports: [CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule], exports: [ListComponent, ListFilterPipe] });
29
+ ListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListModule, imports: [[CommonModule, CardModule, NgbPaginationModule, FormsModule, TranslateModule]] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ListModule, decorators: [{
31
31
  type: NgModule,
32
32
  args: [{
33
33
  declarations: [ListComponent, ListFilterPipe],
@@ -20,8 +20,8 @@ import * as i2 from "@angular/common";
20
20
  import * as i3 from "@ngx-translate/core";
21
21
  export class MenuItemTextComponent {
22
22
  }
23
- MenuItemTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- MenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuItemTextComponent, selector: "valtimo-menu-item-text", inputs: { menuItem: "menuItem" }, ngImport: i0, template: `
23
+ MenuItemTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuItemTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
+ MenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MenuItemTextComponent, selector: "valtimo-menu-item-text", inputs: { menuItem: "menuItem" }, ngImport: i0, template: `
25
25
  <i
26
26
  class="{{ menuItem.iconClass }}"
27
27
  container="body"
@@ -44,7 +44,7 @@ MenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
44
44
  }}</span
45
45
  >
46
46
  `, isInline: true, directives: [{ type: i1.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "triggers", "container", "disableTooltip", "tooltipClass", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "translate": i3.TranslatePipe } });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuItemTextComponent, decorators: [{
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuItemTextComponent, decorators: [{
48
48
  type: Component,
49
49
  args: [{
50
50
  selector: 'valtimo-menu-item-text',
@@ -20,10 +20,10 @@ import * as i1 from "@angular/router";
20
20
  const routes = [];
21
21
  export class MenuRoutingModule {
22
22
  }
23
- MenuRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
- MenuRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
25
- MenuRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRoutingModule, imports: [[RouterModule.forChild(routes)], RouterModule] });
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuRoutingModule, decorators: [{
23
+ MenuRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ MenuRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
25
+ MenuRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuRoutingModule, imports: [[RouterModule.forChild(routes)], RouterModule] });
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuRoutingModule, decorators: [{
27
27
  type: NgModule,
28
28
  args: [{
29
29
  imports: [RouterModule.forChild(routes)],
@@ -57,9 +57,9 @@ export class MenuComponent {
57
57
  }
58
58
  }
59
59
  }
60
- MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuComponent, deps: [{ token: i1.MenuService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
61
- MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MenuComponent, selector: "valtimo-menu", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ul class=\"sidebar-elements\">\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <li\n [class.parent]=\"menuItem.children\"\n [hidden]=\"!menuItem.show\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n [ngClass]=\"{\n 'menu-item--hidden': menuItem.includeFunction !== undefined,\n 'menu-item--visible':\n menuItem.includeFunction !== undefined &&\n (includeFunctionObservables[menuItem.title] | async)\n }\"\n >\n <a *ngIf=\"menuItem.link\" [routerLink]=\"menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <a *ngIf=\"!menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <ng-container *ngIf=\"menuItem.children\">\n <ul class=\"sub-menu\">\n <li class=\"title\">{{ menuItem.title | translate }}</li>\n <li\n *ngFor=\"let subMenuItem of menuItem.children\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n <a *ngIf=\"subMenuItem.link\" [routerLink]=\"subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n <a *ngIf=\"!subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n </li>\n </ul>\n </ng-container>\n </li>\n </ng-container>\n</ul>\n", styles: [".c-default{cursor:default}.sub-item{cursor:pointer}.menu-item--hidden{display:none}.menu-item--visible{display:block}\n"], components: [{ type: i3.MenuItemTextComponent, selector: "valtimo-menu-item-text", inputs: ["menuItem"] }, { type: i4.SubmenuItemTextComponent, selector: "valtimo-submenu-item-text", inputs: ["submenuItem"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe } });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuComponent, decorators: [{
60
+ MenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuComponent, deps: [{ token: i1.MenuService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
61
+ MenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MenuComponent, selector: "valtimo-menu", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ul class=\"sidebar-elements\">\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <li\n [class.parent]=\"menuItem.children\"\n [hidden]=\"!menuItem.show\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n [ngClass]=\"{\n 'menu-item--hidden': menuItem.includeFunction !== undefined,\n 'menu-item--visible':\n menuItem.includeFunction !== undefined &&\n (includeFunctionObservables[menuItem.title] | async)\n }\"\n >\n <a *ngIf=\"menuItem.link\" [routerLink]=\"menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <a *ngIf=\"!menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <ng-container *ngIf=\"menuItem.children\">\n <ul class=\"sub-menu\">\n <li class=\"title\">{{ menuItem.title | translate }}</li>\n <li\n *ngFor=\"let subMenuItem of menuItem.children\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n <a *ngIf=\"subMenuItem.link\" [routerLink]=\"subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n <a *ngIf=\"!subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n </li>\n </ul>\n </ng-container>\n </li>\n </ng-container>\n</ul>\n", styles: [".c-default{cursor:default}.sub-item{cursor:pointer}.menu-item--hidden{display:none}.menu-item--visible{display:block}\n"], components: [{ type: i3.MenuItemTextComponent, selector: "valtimo-menu-item-text", inputs: ["menuItem"] }, { type: i4.SubmenuItemTextComponent, selector: "valtimo-submenu-item-text", inputs: ["submenuItem"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.RouterLinkWithHref, selector: "a[routerLink],area[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "preserveFragment", "skipLocationChange", "replaceUrl", "state", "relativeTo", "routerLink"] }], pipes: { "async": i5.AsyncPipe, "translate": i6.TranslatePipe } });
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuComponent, decorators: [{
63
63
  type: Component,
64
64
  args: [{ selector: 'valtimo-menu', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ul class=\"sidebar-elements\">\n <ng-container *ngFor=\"let menuItem of menuItems\">\n <li\n [class.parent]=\"menuItem.children\"\n [hidden]=\"!menuItem.show\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n [ngClass]=\"{\n 'menu-item--hidden': menuItem.includeFunction !== undefined,\n 'menu-item--visible':\n menuItem.includeFunction !== undefined &&\n (includeFunctionObservables[menuItem.title] | async)\n }\"\n >\n <a *ngIf=\"menuItem.link\" [routerLink]=\"menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <a *ngIf=\"!menuItem.link\" class=\"sub-item\">\n <valtimo-menu-item-text [menuItem]=\"menuItem\"></valtimo-menu-item-text>\n </a>\n <ng-container *ngIf=\"menuItem.children\">\n <ul class=\"sub-menu\">\n <li class=\"title\">{{ menuItem.title | translate }}</li>\n <li\n *ngFor=\"let subMenuItem of menuItem.children\"\n [routerLinkActive]=\"'active'\"\n [routerLinkActiveOptions]=\"{exact: true}\"\n >\n <a *ngIf=\"subMenuItem.link\" [routerLink]=\"subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n <a *ngIf=\"!subMenuItem.link\">\n <valtimo-submenu-item-text [submenuItem]=\"subMenuItem\"></valtimo-submenu-item-text>\n </a>\n </li>\n </ul>\n </ng-container>\n </li>\n </ng-container>\n</ul>\n", styles: [".c-default{cursor:default}.sub-item{cursor:pointer}.menu-item--hidden{display:none}.menu-item--visible{display:block}\n"] }]
65
65
  }], ctorParameters: function () { return [{ type: i1.MenuService }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i2.Router }]; } });
@@ -24,10 +24,10 @@ import { SubmenuItemTextComponent } from './submenu-item-text.component';
24
24
  import * as i0 from "@angular/core";
25
25
  export class MenuModule {
26
26
  }
27
- MenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
- MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, declarations: [MenuComponent, MenuItemTextComponent, SubmenuItemTextComponent], imports: [CommonModule, RouterModule, NgbTooltipModule, TranslateModule], exports: [MenuComponent] });
29
- MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, providers: [], imports: [[CommonModule, RouterModule, NgbTooltipModule, TranslateModule]] });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuModule, decorators: [{
27
+ MenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
+ MenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuModule, declarations: [MenuComponent, MenuItemTextComponent, SubmenuItemTextComponent], imports: [CommonModule, RouterModule, NgbTooltipModule, TranslateModule], exports: [MenuComponent] });
29
+ MenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuModule, providers: [], imports: [[CommonModule, RouterModule, NgbTooltipModule, TranslateModule]] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuModule, decorators: [{
31
31
  type: NgModule,
32
32
  args: [{
33
33
  declarations: [MenuComponent, MenuItemTextComponent, SubmenuItemTextComponent],
@@ -14,7 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { Injectable } from '@angular/core';
17
- import { BehaviorSubject, Observable } from 'rxjs';
17
+ import { BehaviorSubject, combineLatest, Observable, Subject, take, timer } from 'rxjs';
18
18
  import * as i0 from "@angular/core";
19
19
  import * as i1 from "@valtimo/config";
20
20
  import * as i2 from "@valtimo/document";
@@ -29,7 +29,9 @@ export class MenuService {
29
29
  this.menuIncludeService = menuIncludeService;
30
30
  this.includeFunctionObservables = {};
31
31
  this._menuItems$ = new BehaviorSubject(undefined);
32
- this.menuConfig = configService.config.menu;
32
+ const config = configService?.config;
33
+ this.menuConfig = config?.menu;
34
+ this.disableCaseCount = config?.featureToggles?.disableCaseCount;
33
35
  }
34
36
  init() {
35
37
  this.reload();
@@ -62,25 +64,51 @@ export class MenuService {
62
64
  return new Observable(subscriber => {
63
65
  this.logger.debug('appendDossierSubMenuItems');
64
66
  this.documentService.getAllDefinitions().subscribe(definitions => {
65
- const dossierMenuItems = definitions.content.map((definition, index) => ({
66
- link: ['/dossiers/' + definition.id.name],
67
- title: definition.schema.title,
68
- iconClass: 'icon mdi mdi-dot-circle',
69
- sequence: index,
70
- show: true,
71
- }));
72
- this.logger.debug('found dossierMenuItems', dossierMenuItems);
73
- const menuItemIndex = menuItems.findIndex(({ title }) => title === 'Dossiers');
74
- if (menuItemIndex > 0) {
75
- const dossierMenu = menuItems[menuItemIndex];
76
- this.logger.debug('updating dossierMenu', dossierMenu);
77
- dossierMenu.children = dossierMenuItems;
78
- menuItems[menuItemIndex] = dossierMenu;
79
- }
80
- subscriber.next(menuItems);
81
- this.logger.debug('appendDossierSubMenuItems finished');
67
+ combineLatest([
68
+ ...definitions.content.map(definition => this.documentService.getCaseSettings(definition?.id?.name)),
69
+ ])
70
+ .pipe(take(1))
71
+ .subscribe(allCaseSettings => {
72
+ const openDocumentCountMap = !this.disableCaseCount && this.getOpenDocumentCountMap(definitions);
73
+ const dossierMenuItems = definitions.content.map((definition, index) => {
74
+ const caseSettings = allCaseSettings?.find(setting => setting.name === definition.id.name);
75
+ return {
76
+ link: ['/dossiers/' + definition.id.name],
77
+ title: definition.schema.title,
78
+ iconClass: 'icon mdi mdi-dot-circle',
79
+ sequence: index,
80
+ show: true,
81
+ ...(!this.disableCaseCount &&
82
+ caseSettings?.canHaveAssignee && {
83
+ count$: openDocumentCountMap.get(definition.id.name),
84
+ }),
85
+ };
86
+ });
87
+ this.logger.debug('found dossierMenuItems', dossierMenuItems);
88
+ const menuItemIndex = menuItems.findIndex(({ title }) => title === 'Dossiers');
89
+ if (menuItemIndex > 0) {
90
+ const dossierMenu = menuItems[menuItemIndex];
91
+ this.logger.debug('updating dossierMenu', dossierMenu);
92
+ dossierMenu.children = dossierMenuItems;
93
+ menuItems[menuItemIndex] = dossierMenu;
94
+ }
95
+ subscriber.next(menuItems);
96
+ this.logger.debug('appendDossierSubMenuItems finished');
97
+ });
98
+ });
99
+ });
100
+ }
101
+ getOpenDocumentCountMap(definitions) {
102
+ const countMap = new Map();
103
+ definitions.content.forEach(definition => countMap.set(definition.id.name, new Subject()));
104
+ timer(0, 5000).subscribe(() => {
105
+ this.documentService.getOpenDocumentCount().subscribe(openDocumentCountList => {
106
+ openDocumentCountList.forEach(openDocumentCount => countMap
107
+ .get(openDocumentCount.documentDefinitionName)
108
+ .next(openDocumentCount.openDocumentCount));
82
109
  });
83
110
  });
111
+ return countMap;
84
112
  }
85
113
  applyMenuRoleSecurity(menuItems) {
86
114
  this.userProviderService.getUserSubject().subscribe(user => {
@@ -100,23 +128,15 @@ export class MenuService {
100
128
  return menuItems;
101
129
  }
102
130
  determineRoleAccess(menuItem, roles) {
103
- if (!menuItem.roles) {
104
- return true;
105
- }
106
- else if (menuItem.roles.some(role => roles.includes(role))) {
107
- return true;
108
- }
109
- else {
110
- return false;
111
- }
131
+ return !menuItem.roles || menuItem.roles.some(role => roles.includes(role));
112
132
  }
113
133
  }
114
- MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3.UserProviderService }, { token: i4.NGXLogger }, { token: i1.MenuIncludeService }], target: i0.ɵɵFactoryTarget.Injectable });
115
- MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, providedIn: 'root' });
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MenuService, decorators: [{
134
+ MenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuService, deps: [{ token: i1.ConfigService }, { token: i2.DocumentService }, { token: i3.UserProviderService }, { token: i4.NGXLogger }, { token: i1.MenuIncludeService }], target: i0.ɵɵFactoryTarget.Injectable });
135
+ MenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuService, providedIn: 'root' });
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MenuService, decorators: [{
117
137
  type: Injectable,
118
138
  args: [{
119
139
  providedIn: 'root',
120
140
  }]
121
141
  }], ctorParameters: function () { return [{ type: i1.ConfigService }, { type: i2.DocumentService }, { type: i3.UserProviderService }, { type: i4.NGXLogger }, { type: i1.MenuIncludeService }]; } });
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7Ozs7OztBQU9qRCxNQUFNLE9BQU8sV0FBVztJQU10QixZQUNtQixhQUE0QixFQUM1QixlQUFnQyxFQUNoQyxtQkFBd0MsRUFDeEMsTUFBaUIsRUFDakIsa0JBQXNDO1FBSnRDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzVCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDakIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQVZsRCwrQkFBMEIsR0FBeUMsRUFBRSxDQUFDO1FBRXJFLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQWEsU0FBUyxDQUFDLENBQUM7UUFVL0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDekMsQ0FBQztJQUVNLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFD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QUNkO0lBQ0gsQ0FBQzs7eUdBekdVLFdBQVc7NkdBQVgsV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZW51Q29uZmlnLCBNZW51SXRlbSwgTWVudUluY2x1ZGVTZXJ2aWNlLCBJbmNsdWRlRnVuY3Rpb259IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge05HWExvZ2dlcn0gZnJvbSAnbmd4LWxvZ2dlcic7XG5pbXBvcnQge0NvbmZpZ1NlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0RvY3VtZW50U2VydmljZX0gZnJvbSAnQHZhbHRpbW8vZG9jdW1lbnQnO1xuaW1wb3J0IHtVc2VyUHJvdmlkZXJTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9zZWN1cml0eSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNZW51U2VydmljZSB7XG4gIHB1YmxpYyBpbmNsdWRlRnVuY3Rpb25PYnNlcnZhYmxlczoge1trZXk6IHN0cmluZ106IE9ic2VydmFibGU8Ym9vbGVhbj59ID0ge307XG5cbiAgcHJpdmF0ZSBfbWVudUl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBtZW51Q29uZmlnOiBNZW51Q29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnU2VydmljZTogQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50U2VydmljZTogRG9jdW1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlclByb3ZpZGVyU2VydmljZTogVXNlclByb3ZpZGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxvZ2dlcjogTkdYTG9nZ2VyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbWVudUluY2x1ZGVTZXJ2aWNlOiBNZW51SW5jbHVkZVNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy5tZW51Q29uZmlnID0gY29uZmlnU2VydmljZS5jb25maWcubWVudTtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWQoKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVudSBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZW51SXRlbXMkKCk6IE9ic2VydmFibGU8TWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLl9tZW51SXRlbXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUl0ZW1zJC5uZXh0KHRoaXMubG9hZE1lbnVJdGVtcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE1lbnVJdGVtcygpOiBNZW51SXRlbVtdIHtcbiAgICBsZXQgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gICAgdGhpcy5tZW51Q29uZmlnLm1lbnVJdGVtcy5mb3JFYWNoKChtZW51SXRlbTogTWVudUl0ZW0pID0+IHtcbiAgICAgIGlmIChtZW51SXRlbS5pbmNsdWRlRnVuY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmluY2x1ZGVGdW5jdGlvbk9ic2VydmFibGVzW21lbnVJdGVtLnRpdGxlXSA9XG4gICAgICAgICAgdGhpcy5tZW51SW5jbHVkZVNlcnZpY2UuZ2V0SW5jbHVkZUZ1bmN0aW9uKG1lbnVJdGVtLmluY2x1ZGVGdW5jdGlvbik7XG4gICAgICB9XG5cbiAgICAgIG1lbnVJdGVtLnNob3cgPSB0cnVlO1xuICAgICAgbWVudUl0ZW1zLnB1c2gobWVudUl0ZW0pO1xuICAgIH0pO1xuICAgIG1lbnVJdGVtcyA9IHRoaXMuc29ydE1lbnVJdGVtcyhtZW51SXRlbXMpO1xuICAgIHRoaXMuYXBwZW5kRG9zc2llclN1Yk1lbnVJdGVtcyhtZW51SXRlbXMpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IChtZW51SXRlbXMgPSB0aGlzLmFwcGx5TWVudVJvbGVTZWN1cml0eSh2YWx1ZSkpXG4gICAgKTtcbiAgICByZXR1cm4gbWVudUl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0TWVudUl0ZW1zKG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBtZW51SXRlbXMuc29ydCgoYSwgYikgPT4gYS5zZXF1ZW5jZSAtIGIuc2VxdWVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zKG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE9ic2VydmFibGU8TWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVyID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zJyk7XG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRBbGxEZWZpbml0aW9ucygpLnN1YnNjcmliZShkZWZpbml0aW9ucyA9PiB7XG4gICAgICAgIGNvbnN0IGRvc3NpZXJNZW51SXRlbXM6IE1lbnVJdGVtW10gPSBkZWZpbml0aW9ucy5jb250ZW50Lm1hcChcbiAgICAgICAgICAoZGVmaW5pdGlvbiwgaW5kZXgpID0+XG4gICAgICAgICAgICAoe1xuICAgICAgICAgICAgICBsaW5rOiBbJy9kb3NzaWVycy8nICsgZGVmaW5pdGlvbi5pZC5uYW1lXSxcbiAgICAgICAgICAgICAgdGl0bGU6IGRlZmluaXRpb24uc2NoZW1hLnRpdGxlLFxuICAgICAgICAgICAgICBpY29uQ2xhc3M6ICdpY29uIG1kaSBtZGktZG90LWNpcmNsZScsXG4gICAgICAgICAgICAgIHNlcXVlbmNlOiBpbmRleCxcbiAgICAgICAgICAgICAgc2hvdzogdHJ1ZSxcbiAgICAgICAgICAgIH0gYXMgTWVudUl0ZW0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdmb3VuZCBkb3NzaWVyTWVudUl0ZW1zJywgZG9zc2llck1lbnVJdGVtcyk7XG4gICAgICAgIGNvbnN0IG1lbnVJdGVtSW5kZXggPSBtZW51SXRlbXMuZmluZEluZGV4KCh7dGl0bGV9KSA9PiB0aXRsZSA9PT0gJ0Rvc3NpZXJzJyk7XG4gICAgICAgIGlmIChtZW51SXRlbUluZGV4ID4gMCkge1xuICAgICAgICAgIGNvbnN0IGRvc3NpZXJNZW51ID0gbWVudUl0ZW1zW21lbnVJdGVtSW5kZXhdO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd1cGRhdGluZyBkb3NzaWVyTWVudScsIGRvc3NpZXJNZW51KTtcbiAgICAgICAgICBkb3NzaWVyTWVudS5jaGlsZHJlbiA9IGRvc3NpZXJNZW51SXRlbXM7XG4gICAgICAgICAgbWVudUl0ZW1zW21lbnVJdGVtSW5kZXhdID0gZG9zc2llck1lbnU7XG4gICAgICAgIH1cbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KG1lbnVJdGVtcyk7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zIGZpbmlzaGVkJyk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlNZW51Um9sZVNlY3VyaXR5KG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE1lbnVJdGVtW10ge1xuICAgIHRoaXMudXNlclByb3ZpZGVyU2VydmljZS5nZXRVc2VyU3ViamVjdCgpLnN1YnNjcmliZSh1c2VyID0+IHtcbiAgICAgIGlmICh1c2VyLnJvbGVzICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2FwcGx5TWVudVJvbGVTZWN1cml0eScpO1xuICAgICAgICBjb25zdCB1c2VyUm9sZXMgPSB1c2VyLnJvbGVzO1xuICAgICAgICBtZW51SXRlbXMuZm9yRWFjaCgobWVudUl0ZW06IE1lbnVJdGVtKSA9PiB7XG4gICAgICAgICAgY29uc3QgYWNjZXNzID0gdGhpcy5kZXRlcm1pbmVSb2xlQWNjZXNzKG1lbnVJdGVtLCB1c2VyUm9sZXMpO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdNZW51OiBjaGVjayByb2xlIGFjY2VzcycsIG1lbnVJdGVtLnJvbGVzLCBhY2Nlc3MpO1xuICAgICAgICAgIGlmIChtZW51SXRlbS5zaG93ICE9PSBhY2Nlc3MpIHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdNZW51OiBDaGFuZ2UgYWNjZXNzJywgbWVudUl0ZW0sIGFjY2Vzcyk7XG4gICAgICAgICAgICBtZW51SXRlbS5zaG93ID0gYWNjZXNzO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIG1lbnVJdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgZGV0ZXJtaW5lUm9sZUFjY2VzcyhtZW51SXRlbTogTWVudUl0ZW0sIHJvbGVzOiBzdHJpbmdbXSk6IGJvb2xlYW4ge1xuICAgIGlmICghbWVudUl0ZW0ucm9sZXMpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAobWVudUl0ZW0ucm9sZXMuc29tZShyb2xlID0+IHJvbGVzLmluY2x1ZGVzKHJvbGUpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
142
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFHekMsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFPdEYsTUFBTSxPQUFPLFdBQVc7SUFRdEIsWUFDbUIsYUFBNEIsRUFDNUIsZUFBZ0MsRUFDaEMsbUJBQXdDLEVBQ3hDLE1BQWlCLEVBQ2pCLGtCQUFzQztRQUp0QyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFabEQsK0JBQTBCLEdBQXlDLEVBQUUsQ0FBQztRQUVyRSxnQkFBVyxHQUFHLElBQUksZUFBZSxDQUFhLFNBQVMsQ0FBQyxDQUFDO1FBWS9ELE1BQU0sTUFBTSxHQUFHLGFBQWEsRUFBRSxNQUFNLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLEVBQUUsSUFBSSxDQUFDO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDO0lBQ25FLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJ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QUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQzt3QkFDM0QsUUFBUSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUM7cUJBQ3hCO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ0o7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxRQUFrQixFQUFFLEtBQWU7UUFDN0QsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDOUUsQ0FBQzs7eUdBM0lVLFdBQVc7NkdBQVgsV0FBVyxjQUZWLE1BQU07NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb25maWdTZXJ2aWNlLCBNZW51Q29uZmlnLCBNZW51SW5jbHVkZVNlcnZpY2UsIE1lbnVJdGVtfSBmcm9tICdAdmFsdGltby9jb25maWcnO1xuaW1wb3J0IHtOR1hMb2dnZXJ9IGZyb20gJ25neC1sb2dnZXInO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2UsIHRpbWVyfSBmcm9tICdyeGpzJztcbmltcG9ydCB7RG9jdW1lbnREZWZpbml0aW9ucywgRG9jdW1lbnRTZXJ2aWNlfSBmcm9tICdAdmFsdGltby9kb2N1bWVudCc7XG5pbXBvcnQge1VzZXJQcm92aWRlclNlcnZpY2V9IGZyb20gJ0B2YWx0aW1vL3NlY3VyaXR5JztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIE1lbnVTZXJ2aWNlIHtcbiAgcHVibGljIGluY2x1ZGVGdW5jdGlvbk9ic2VydmFibGVzOiB7W2tleTogc3RyaW5nXTogT2JzZXJ2YWJsZTxib29sZWFuPn0gPSB7fTtcblxuICBwcml2YXRlIF9tZW51SXRlbXMkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNZW51SXRlbVtdPih1bmRlZmluZWQpO1xuICBwcml2YXRlIG1lbnVDb25maWc6IE1lbnVDb25maWc7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBkaXNhYmxlQ2FzZUNvdW50ITogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudFNlcnZpY2U6IERvY3VtZW50U2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJQcm92aWRlclNlcnZpY2U6IFVzZXJQcm92aWRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IE5HWExvZ2dlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1lbnVJbmNsdWRlU2VydmljZTogTWVudUluY2x1ZGVTZXJ2aWNlXG4gICkge1xuICAgIGNvbnN0IGNvbmZpZyA9IGNvbmZpZ1NlcnZpY2U/LmNvbmZpZztcbiAgICB0aGlzLm1lbnVDb25maWcgPSBjb25maWc/Lm1lbnU7XG4gICAgdGhpcy5kaXNhYmxlQ2FzZUNvdW50ID0gY29uZmlnPy5mZWF0dXJlVG9nZ2xlcz8uZGlzYWJsZUNhc2VDb3VudDtcbiAgfVxuXG4gIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5yZWxvYWQoKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVudSBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZW51SXRlbXMkKCk6IE9ic2VydmFibGU8TWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiB0aGlzLl9tZW51SXRlbXMkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICByZXR1cm4gdGhpcy5fbWVudUl0ZW1zJC5uZXh0KHRoaXMubG9hZE1lbnVJdGVtcygpKTtcbiAgfVxuXG4gIHByaXZhdGUgbG9hZE1lbnVJdGVtcygpOiBNZW51SXRlbVtdIHtcbiAgICBsZXQgbWVudUl0ZW1zOiBNZW51SXRlbVtdID0gW107XG4gICAgdGhpcy5tZW51Q29uZmlnLm1lbnVJdGVtcy5mb3JFYWNoKChtZW51SXRlbTogTWVudUl0ZW0pID0+IHtcbiAgICAgIGlmIChtZW51SXRlbS5pbmNsdWRlRnVuY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLmluY2x1ZGVGdW5jdGlvbk9ic2VydmFibGVzW21lbnVJdGVtLnRpdGxlXSA9XG4gICAgICAgICAgdGhpcy5tZW51SW5jbHVkZVNlcnZpY2UuZ2V0SW5jbHVkZUZ1bmN0aW9uKG1lbnVJdGVtLmluY2x1ZGVGdW5jdGlvbik7XG4gICAgICB9XG5cbiAgICAgIG1lbnVJdGVtLnNob3cgPSB0cnVlO1xuICAgICAgbWVudUl0ZW1zLnB1c2gobWVudUl0ZW0pO1xuICAgIH0pO1xuICAgIG1lbnVJdGVtcyA9IHRoaXMuc29ydE1lbnVJdGVtcyhtZW51SXRlbXMpO1xuICAgIHRoaXMuYXBwZW5kRG9zc2llclN1Yk1lbnVJdGVtcyhtZW51SXRlbXMpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IChtZW51SXRlbXMgPSB0aGlzLmFwcGx5TWVudVJvbGVTZWN1cml0eSh2YWx1ZSkpXG4gICAgKTtcbiAgICByZXR1cm4gbWVudUl0ZW1zO1xuICB9XG5cbiAgcHJpdmF0ZSBzb3J0TWVudUl0ZW1zKG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE1lbnVJdGVtW10ge1xuICAgIHJldHVybiBtZW51SXRlbXMuc29ydCgoYSwgYikgPT4gYS5zZXF1ZW5jZSAtIGIuc2VxdWVuY2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zKG1lbnVJdGVtczogTWVudUl0ZW1bXSk6IE9ic2VydmFibGU8TWVudUl0ZW1bXT4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzdWJzY3JpYmVyID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhcHBlbmREb3NzaWVyU3ViTWVudUl0ZW1zJyk7XG4gICAgICB0aGlzLmRvY3VtZW50U2VydmljZS5nZXRBbGxEZWZpbml0aW9ucygpLnN1YnNjcmliZShkZWZpbml0aW9ucyA9PiB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIC4uLmRlZmluaXRpb25zLmNvbnRlbnQubWFwKGRlZmluaXRpb24gPT5cbiAgICAgICAgICAgIHRoaXMuZG9jdW1lbnRTZXJ2aWNlLmdldENhc2VTZXR0aW5ncyhkZWZpbml0aW9uPy5pZD8ubmFtZSlcbiAgICAgICAgICApLFxuICAgICAgICBdKVxuICAgICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgICAgLnN1YnNjcmliZShhbGxDYXNlU2V0dGluZ3MgPT4ge1xuICAgICAgICAgICAgY29uc3Qgb3BlbkRvY3VtZW50Q291bnRNYXAgPVxuICAgICAgICAgICAgICAhdGhpcy5kaXNhYmxlQ2FzZUNvdW50ICYmIHRoaXMuZ2V0T3BlbkRvY3VtZW50Q291bnRNYXAoZGVmaW5pdGlvbnMpO1xuXG4gICAgICAgICAgICBjb25zdCBkb3NzaWVyTWVudUl0ZW1zOiBNZW51SXRlbVtdID0gZGVmaW5pdGlvbnMuY29udGVudC5tYXAoKGRlZmluaXRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNhc2VTZXR0aW5ncyA9IGFsbENhc2VTZXR0aW5ncz8uZmluZChcbiAgICAgICAgICAgICAgICBzZXR0aW5nID0+IHNldHRpbmcubmFtZSA9PT0gZGVmaW5pdGlvbi5pZC5uYW1lXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBsaW5rOiBbJy9kb3NzaWVycy8nICsgZGVmaW5pdGlvbi5pZC5uYW1lXSxcbiAgICAgICAgICAgICAgICB0aXRsZTogZGVmaW5pdGlvbi5zY2hlbWEudGl0bGUsXG4gICAgICAgICAgICAgICAgaWNvbkNsYXNzOiAnaWNvbiBtZGkgbWRpLWRvdC1jaXJjbGUnLFxuICAgICAgICAgICAgICAgIHNlcXVlbmNlOiBpbmRleCxcbiAgICAgICAgICAgICAgICBzaG93OiB0cnVlLFxuICAgICAgICAgICAgICAgIC4uLighdGhpcy5kaXNhYmxlQ2FzZUNvdW50ICYmXG4gICAgICAgICAgICAgICAgICBjYXNlU2V0dGluZ3M/LmNhbkhhdmVBc3NpZ25lZSAmJiB7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50JDogb3BlbkRvY3VtZW50Q291bnRNYXAuZ2V0KGRlZmluaXRpb24uaWQubmFtZSksXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSBhcyBNZW51SXRlbTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2ZvdW5kIGRvc3NpZXJNZW51SXRlbXMnLCBkb3NzaWVyTWVudUl0ZW1zKTtcbiAgICAgICAgICAgIGNvbnN0IG1lbnVJdGVtSW5kZXggPSBtZW51SXRlbXMuZmluZEluZGV4KCh7dGl0bGV9KSA9PiB0aXRsZSA9PT0gJ0Rvc3NpZXJzJyk7XG4gICAgICAgICAgICBpZiAobWVudUl0ZW1JbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgY29uc3QgZG9zc2llck1lbnUgPSBtZW51SXRlbXNbbWVudUl0ZW1JbmRleF07XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd1cGRhdGluZyBkb3NzaWVyTWVudScsIGRvc3NpZXJNZW51KTtcbiAgICAgICAgICAgICAgZG9zc2llck1lbnUuY2hpbGRyZW4gPSBkb3NzaWVyTWVudUl0ZW1zO1xuICAgICAgICAgICAgICBtZW51SXRlbXNbbWVudUl0ZW1JbmRleF0gPSBkb3NzaWVyTWVudTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChtZW51SXRlbXMpO1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ2FwcGVuZERvc3NpZXJTdWJNZW51SXRlbXMgZmluaXNoZWQnKTtcbiAgICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPcGVuRG9jdW1lbnRDb3VudE1hcChkZWZpbml0aW9uczogRG9jdW1lbnREZWZpbml0aW9ucyk6IE1hcDxzdHJpbmcsIFN1YmplY3Q8bnVtYmVyPj4ge1xuICAgIGNvbnN0IGNvdW50TWFwID0gbmV3IE1hcDxzdHJpbmcsIFN1YmplY3Q8bnVtYmVyPj4oKTtcbiAgICBkZWZpbml0aW9ucy5jb250ZW50LmZvckVhY2goZGVmaW5pdGlvbiA9PlxuICAgICAgY291bnRNYXAuc2V0KGRlZmluaXRpb24uaWQubmFtZSwgbmV3IFN1YmplY3Q8bnVtYmVyPigpKVxuICAgICk7XG5cbiAgICB0aW1lcigwLCA1MDAwKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kb2N1bWVudFNlcnZpY2UuZ2V0T3BlbkRvY3VtZW50Q291bnQoKS5zdWJzY3JpYmUob3BlbkRvY3VtZW50Q291bnRMaXN0ID0+IHtcbiAgICAgICAgb3BlbkRvY3VtZW50Q291bnRMaXN0LmZvckVhY2gob3BlbkRvY3VtZW50Q291bnQgPT5cbiAgICAgICAgICBjb3VudE1hcFxuICAgICAgICAgICAgLmdldChvcGVuRG9jdW1lbnRDb3VudC5kb2N1bWVudERlZmluaXRpb25OYW1lKVxuICAgICAgICAgICAgLm5leHQob3BlbkRvY3VtZW50Q291bnQub3BlbkRvY3VtZW50Q291bnQpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gY291bnRNYXA7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5TWVudVJvbGVTZWN1cml0eShtZW51SXRlbXM6IE1lbnVJdGVtW10pOiBNZW51SXRlbVtdIHtcbiAgICB0aGlzLnVzZXJQcm92aWRlclNlcnZpY2UuZ2V0VXNlclN1YmplY3QoKS5zdWJzY3JpYmUodXNlciA9PiB7XG4gICAgICBpZiAodXNlci5yb2xlcyAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdhcHBseU1lbnVSb2xlU2VjdXJpdHknKTtcbiAgICAgICAgY29uc3QgdXNlclJvbGVzID0gdXNlci5yb2xlcztcbiAgICAgICAgbWVudUl0ZW1zLmZvckVhY2goKG1lbnVJdGVtOiBNZW51SXRlbSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFjY2VzcyA9IHRoaXMuZGV0ZXJtaW5lUm9sZUFjY2VzcyhtZW51SXRlbSwgdXNlclJvbGVzKTtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVudTogY2hlY2sgcm9sZSBhY2Nlc3MnLCBtZW51SXRlbS5yb2xlcywgYWNjZXNzKTtcbiAgICAgICAgICBpZiAobWVudUl0ZW0uc2hvdyAhPT0gYWNjZXNzKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTWVudTogQ2hhbmdlIGFjY2VzcycsIG1lbnVJdGVtLCBhY2Nlc3MpO1xuICAgICAgICAgICAgbWVudUl0ZW0uc2hvdyA9IGFjY2VzcztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBtZW51SXRlbXM7XG4gIH1cblxuICBwcml2YXRlIGRldGVybWluZVJvbGVBY2Nlc3MobWVudUl0ZW06IE1lbnVJdGVtLCByb2xlczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gIW1lbnVJdGVtLnJvbGVzIHx8IG1lbnVJdGVtLnJvbGVzLnNvbWUocm9sZSA9PiByb2xlcy5pbmNsdWRlcyhyb2xlKSk7XG4gIH1cbn1cbiJdfQ==
@@ -19,13 +19,15 @@ import * as i1 from "@angular/common";
19
19
  import * as i2 from "@ngx-translate/core";
20
20
  export class SubmenuItemTextComponent {
21
21
  }
22
- SubmenuItemTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SubmenuItemTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
- SubmenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: SubmenuItemTextComponent, selector: "valtimo-submenu-item-text", inputs: { submenuItem: "submenuItem" }, ngImport: i0, template: `
24
- <span
22
+ SubmenuItemTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SubmenuItemTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
23
+ SubmenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SubmenuItemTextComponent, selector: "valtimo-submenu-item-text", inputs: { submenuItem: "submenuItem" }, ngImport: i0, template: `
24
+ <div
25
+ class="d-flex"
25
26
  [ngClass]="submenuItem.textClass"
26
27
  *ngIf="{
27
28
  translation: submenuItem.title | translate,
28
- pageTranslation: 'pages.' + submenuItem.title.toLowerCase() + '.title' | translate
29
+ pageTranslation: 'pages.' + submenuItem.title.toLowerCase() + '.title' | translate,
30
+ count: submenuItem.count$ | async
29
31
  } as obs"
30
32
  >
31
33
  {{
@@ -35,19 +37,24 @@ SubmenuItemTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0
35
37
  (obs.translation !== submenuItem.title ? obs.translation : '') ||
36
38
  submenuItem.title
37
39
  }}
40
+ <strong *ngIf="obs.count" class="ml-auto">
41
+ {{ obs.count }}
42
+ </strong>
38
43
  <ng-container *ngIf="!submenuItem.link">&gt;</ng-container>
39
- </span>
40
- `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i2.TranslatePipe } });
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SubmenuItemTextComponent, decorators: [{
44
+ </div>
45
+ `, isInline: true, directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i2.TranslatePipe, "async": i1.AsyncPipe } });
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SubmenuItemTextComponent, decorators: [{
42
47
  type: Component,
43
48
  args: [{
44
49
  selector: 'valtimo-submenu-item-text',
45
50
  template: `
46
- <span
51
+ <div
52
+ class="d-flex"
47
53
  [ngClass]="submenuItem.textClass"
48
54
  *ngIf="{
49
55
  translation: submenuItem.title | translate,
50
- pageTranslation: 'pages.' + submenuItem.title.toLowerCase() + '.title' | translate
56
+ pageTranslation: 'pages.' + submenuItem.title.toLowerCase() + '.title' | translate,
57
+ count: submenuItem.count$ | async
51
58
  } as obs"
52
59
  >
53
60
  {{
@@ -57,11 +64,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
57
64
  (obs.translation !== submenuItem.title ? obs.translation : '') ||
58
65
  submenuItem.title
59
66
  }}
67
+ <strong *ngIf="obs.count" class="ml-auto">
68
+ {{ obs.count }}
69
+ </strong>
60
70
  <ng-container *ngIf="!submenuItem.link">&gt;</ng-container>
61
- </span>
71
+ </div>
62
72
  `,
63
73
  }]
64
74
  }], propDecorators: { submenuItem: [{
65
75
  type: Input
66
76
  }] } });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWVudS1pdGVtLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51L3N1Ym1lbnUtaXRlbS10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBd0IvQyxNQUFNLE9BQU8sd0JBQXdCOztzSEFBeEIsd0JBQXdCOzBHQUF4Qix3QkFBd0IseUdBbkJ6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQlQ7NEZBRVUsd0JBQXdCO2tCQXJCcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsMkJBQTJCO29CQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJUO2lCQUNGOzhCQUVVLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZW51SXRlbX0gZnJvbSAnQHZhbHRpbW8vY29uZmlnJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmFsdGltby1zdWJtZW51LWl0ZW0tdGV4dCcsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNwYW5cbiAgICAgIFtuZ0NsYXNzXT1cInN1Ym1lbnVJdGVtLnRleHRDbGFzc1wiXG4gICAgICAqbmdJZj1cIntcbiAgICAgICAgdHJhbnNsYXRpb246IHN1Ym1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlLFxuICAgICAgICBwYWdlVHJhbnNsYXRpb246ICdwYWdlcy4nICsgc3VibWVudUl0ZW0udGl0bGUudG9Mb3dlckNhc2UoKSArICcudGl0bGUnIHwgdHJhbnNsYXRlXG4gICAgICB9IGFzIG9ic1wiXG4gICAgPlxuICAgICAge3tcbiAgICAgICAgKG9icy5wYWdlVHJhbnNsYXRpb24gIT09ICdwYWdlcy4nICsgc3VibWVudUl0ZW0udGl0bGUudG9Mb3dlckNhc2UoKSArICcudGl0bGUnXG4gICAgICAgICAgPyBvYnMucGFnZVRyYW5zbGF0aW9uXG4gICAgICAgICAgOiAnJykgfHxcbiAgICAgICAgICAob2JzLnRyYW5zbGF0aW9uICE9PSBzdWJtZW51SXRlbS50aXRsZSA/IG9icy50cmFuc2xhdGlvbiA6ICcnKSB8fFxuICAgICAgICAgIHN1Ym1lbnVJdGVtLnRpdGxlXG4gICAgICB9fVxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzdWJtZW51SXRlbS5saW5rXCI+Jmd0OzwvbmctY29udGFpbmVyPlxuICAgIDwvc3Bhbj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU3VibWVudUl0ZW1UZXh0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgc3VibWVudUl0ZW06IE1lbnVJdGVtO1xufVxuIl19
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VibWVudS1pdGVtLXRleHQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tZW51L3N1Ym1lbnUtaXRlbS10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7O0FBNkIvQyxNQUFNLE9BQU8sd0JBQXdCOztzSEFBeEIsd0JBQXdCOzBHQUF4Qix3QkFBd0IseUdBeEJ6Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDs0RkFFVSx3QkFBd0I7a0JBMUJwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCVDtpQkFDRjs4QkFFVSxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWVudUl0ZW19IGZyb20gJ0B2YWx0aW1vL2NvbmZpZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tc3VibWVudS1pdGVtLXRleHQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZC1mbGV4XCJcbiAgICAgIFtuZ0NsYXNzXT1cInN1Ym1lbnVJdGVtLnRleHRDbGFzc1wiXG4gICAgICAqbmdJZj1cIntcbiAgICAgICAgdHJhbnNsYXRpb246IHN1Ym1lbnVJdGVtLnRpdGxlIHwgdHJhbnNsYXRlLFxuICAgICAgICBwYWdlVHJhbnNsYXRpb246ICdwYWdlcy4nICsgc3VibWVudUl0ZW0udGl0bGUudG9Mb3dlckNhc2UoKSArICcudGl0bGUnIHwgdHJhbnNsYXRlLFxuICAgICAgICBjb3VudDogc3VibWVudUl0ZW0uY291bnQkIHwgYXN5bmNcbiAgICAgIH0gYXMgb2JzXCJcbiAgICA+XG4gICAgICB7e1xuICAgICAgICAob2JzLnBhZ2VUcmFuc2xhdGlvbiAhPT0gJ3BhZ2VzLicgKyBzdWJtZW51SXRlbS50aXRsZS50b0xvd2VyQ2FzZSgpICsgJy50aXRsZSdcbiAgICAgICAgICA/IG9icy5wYWdlVHJhbnNsYXRpb25cbiAgICAgICAgICA6ICcnKSB8fFxuICAgICAgICAgIChvYnMudHJhbnNsYXRpb24gIT09IHN1Ym1lbnVJdGVtLnRpdGxlID8gb2JzLnRyYW5zbGF0aW9uIDogJycpIHx8XG4gICAgICAgICAgc3VibWVudUl0ZW0udGl0bGVcbiAgICAgIH19XG4gICAgICA8c3Ryb25nICpuZ0lmPVwib2JzLmNvdW50XCIgY2xhc3M9XCJtbC1hdXRvXCI+XG4gICAgICAgIHt7IG9icy5jb3VudCB9fVxuICAgICAgPC9zdHJvbmc+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXN1Ym1lbnVJdGVtLmxpbmtcIj4mZ3Q7PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIFN1Ym1lbnVJdGVtVGV4dENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHN1Ym1lbnVJdGVtOiBNZW51SXRlbTtcbn1cbiJdfQ==
@@ -14,6 +14,7 @@
14
14
  * limitations under the License.
15
15
  */
16
16
  import { Component, Input, ViewChild, } from '@angular/core';
17
+ import { BehaviorSubject } from 'rxjs';
17
18
  import * as i0 from "@angular/core";
18
19
  import * as i1 from "../../services/valtimo-modal.service";
19
20
  import * as i2 from "@angular/common";
@@ -23,12 +24,14 @@ export class ModalComponent {
23
24
  this.title = '';
24
25
  this.subtitle = '';
25
26
  this.showFooter = false;
27
+ this.modalShowing$ = new BehaviorSubject(false);
26
28
  }
27
29
  ngOnInit() {
28
30
  this.openScrollSubscription();
29
31
  }
30
32
  ngAfterViewInit() {
31
33
  $(`#${this.elementId}`).modal({ show: false });
34
+ this.watchForClassChanges();
32
35
  }
33
36
  show() {
34
37
  $(`#${this.elementId}`).modal('show');
@@ -37,7 +40,8 @@ export class ModalComponent {
37
40
  $(`#${this.elementId}`).modal('hide');
38
41
  }
39
42
  ngOnDestroy() {
40
- this.scrollSubscription.unsubscribe();
43
+ this.scrollSubscription?.unsubscribe();
44
+ this.observer?.disconnect();
41
45
  }
42
46
  openScrollSubscription() {
43
47
  this.scrollSubscription = this.modalService.scrollToTop$.subscribe(() => {
@@ -46,10 +50,22 @@ export class ModalComponent {
46
50
  element.scrollTo(0, 0);
47
51
  });
48
52
  }
53
+ watchForClassChanges() {
54
+ this.observer = new MutationObserver(mutations => {
55
+ mutations?.forEach(mutation => {
56
+ if (mutation?.attributeName === 'class') {
57
+ const modalShowing = mutation?.target?.classList?.contains('show');
58
+ this.modalShowing$.next(modalShowing);
59
+ }
60
+ });
61
+ });
62
+ const config = { attributes: true, childList: false, characterData: false };
63
+ this.observer.observe(this.scrollModal.nativeElement, config);
64
+ }
49
65
  }
50
- ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, deps: [{ token: i1.ValtimoModalService }], target: i0.ɵɵFactoryTarget.Component });
51
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ModalComponent, selector: "valtimo-modal", inputs: { elementId: "elementId", title: "title", subtitle: "subtitle", templateBelowSubtitle: "templateBelowSubtitle", showFooter: "showFooter" }, viewQueries: [{ propertyName: "scrollModal", first: true, predicate: ["scrollModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"modal fade custom-width\" [id]=\"elementId\" role=\"dialog\" aria-modal=\"true\" #scrollModal>\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header modal-header-colored colored-header-grey\">\n <div class=\"modal-title\">\n <h4 class=\"title-text mb-2\">{{ title }}</h4>\n <h5 class=\"subtitle-text\">{{ subtitle }}</h5>\n <ng-container *ngIf=\"templateBelowSubtitle\">\n <ng-container *ngTemplateOutlet=\"templateBelowSubtitle\"></ng-container>\n </ng-container>\n </div>\n <div class=\"text-right\">\n <img src=\"assets/modal/header-image.png\" class=\"modal-header-image\" />\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[body]\"></ng-content>\n </div>\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.colored-header-grey{background-color:#f3f4f7}.title-text{color:#585555}.subtitle-text{color:#959595}.modal-header-image{height:auto;width:50%}.modal-header{padding-bottom:.66rem;border-bottom:1px solid #c5c6c9}@media (min-width: 768px){.close{position:relative;left:25px;padding:0!important;margin-top:-20px!important}.close span{color:#fff}.modal-content{overflow:visible}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalComponent, decorators: [{
66
+ ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ModalComponent, deps: [{ token: i1.ValtimoModalService }], target: i0.ɵɵFactoryTarget.Component });
67
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: ModalComponent, selector: "valtimo-modal", inputs: { elementId: "elementId", title: "title", subtitle: "subtitle", templateBelowSubtitle: "templateBelowSubtitle", showFooter: "showFooter" }, viewQueries: [{ propertyName: "scrollModal", first: true, predicate: ["scrollModal"], descendants: true }], ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"modal fade custom-width\" [id]=\"elementId\" role=\"dialog\" aria-modal=\"true\" #scrollModal>\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header modal-header-colored colored-header-grey\">\n <div class=\"modal-title\">\n <h4 class=\"title-text mb-2\">{{ title }}</h4>\n <h5 class=\"subtitle-text\">{{ subtitle }}</h5>\n <ng-container *ngIf=\"templateBelowSubtitle\">\n <ng-container *ngTemplateOutlet=\"templateBelowSubtitle\"></ng-container>\n </ng-container>\n </div>\n <div class=\"text-right\">\n <img src=\"assets/modal/header-image.png\" class=\"modal-header-image\" />\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[body]\"></ng-content>\n </div>\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.colored-header-grey{background-color:#f3f4f7}.title-text{color:#585555}.subtitle-text{color:#959595}.modal-header-image{height:auto;width:50%}.modal-header{padding-bottom:.66rem;border-bottom:1px solid #c5c6c9}@media (min-width: 768px){.close{position:relative;left:25px;padding:0!important;margin-top:-20px!important}.close span{color:#fff}.modal-content{overflow:visible}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ModalComponent, decorators: [{
53
69
  type: Component,
54
70
  args: [{ selector: 'valtimo-modal', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"modal fade custom-width\" [id]=\"elementId\" role=\"dialog\" aria-modal=\"true\" #scrollModal>\n <div class=\"modal-dialog modal-lg\">\n <div class=\"modal-content\">\n <div class=\"modal-header modal-header-colored colored-header-grey\">\n <div class=\"modal-title\">\n <h4 class=\"title-text mb-2\">{{ title }}</h4>\n <h5 class=\"subtitle-text\">{{ subtitle }}</h5>\n <ng-container *ngIf=\"templateBelowSubtitle\">\n <ng-container *ngTemplateOutlet=\"templateBelowSubtitle\"></ng-container>\n </ng-container>\n </div>\n <div class=\"text-right\">\n <img src=\"assets/modal/header-image.png\" class=\"modal-header-image\" />\n <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n </div>\n <div class=\"modal-body\">\n <ng-content select=\"[body]\"></ng-content>\n </div>\n <div class=\"modal-footer\" *ngIf=\"showFooter\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.colored-header-grey{background-color:#f3f4f7}.title-text{color:#585555}.subtitle-text{color:#959595}.modal-header-image{height:auto;width:50%}.modal-header{padding-bottom:.66rem;border-bottom:1px solid #c5c6c9}@media (min-width: 768px){.close{position:relative;left:25px;padding:0!important;margin-top:-20px!important}.close span{color:#fff}.modal-content{overflow:visible}}\n"] }]
55
71
  }], ctorParameters: function () { return [{ type: i1.ValtimoModalService }]; }, propDecorators: { elementId: [{
@@ -66,4 +82,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
66
82
  type: ViewChild,
67
83
  args: ['scrollModal']
68
84
  }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDOzs7O0FBWXZCLE1BQU0sT0FBTyxjQUFjO0lBV3pCLFlBQTZCLFlBQWlDO1FBQWpDLGlCQUFZLEdBQVosWUFBWSxDQUFxQjtRQVRyRCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUVkLGVBQVUsR0FBRyxLQUFLLENBQUM7SUFNcUMsQ0FBQztJQUVsRSxRQUFRO1FBQ04sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGVBQWU7UUFDYixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSTtRQUNGLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSTtRQUNGLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN4QyxDQUFDO0lBRU8sc0JBQXNCO1FBQzVCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3RFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDO1lBRS9DLElBQUksT0FBTztnQkFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzRHQXZDVSxjQUFjO2dHQUFkLGNBQWMscVRDckMzQixtekRBMkNBOzRGRE5hLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsZUFBZTswR0FLaEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFb0IsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtWYWx0aW1vTW9kYWxTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YWx0aW1vLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdmFyXG5kZWNsYXJlIHZhciAkO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2YWx0aW1vLW1vZGFsJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGVsZW1lbnRJZDogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZSA9ICcnO1xuICBASW5wdXQoKSBzdWJ0aXRsZSA9ICcnO1xuICBASW5wdXQoKSB0ZW1wbGF0ZUJlbG93U3VidGl0bGU6IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIHNob3dGb290ZXIgPSBmYWxzZTtcblxuICBAVmlld0NoaWxkKCdzY3JvbGxNb2RhbCcpIHNjcm9sbE1vZGFsOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcml2YXRlIHNjcm9sbFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogVmFsdGltb01vZGFsU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TY3JvbGxTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAkKGAjJHt0aGlzLmVsZW1lbnRJZH1gKS5tb2RhbCh7c2hvdzogZmFsc2V9KTtcbiAgfVxuXG4gIHNob3coKSB7XG4gICAgJChgIyR7dGhpcy5lbGVtZW50SWR9YCkubW9kYWwoJ3Nob3cnKTtcbiAgfVxuXG4gIGhpZGUoKSB7XG4gICAgJChgIyR7dGhpcy5lbGVtZW50SWR9YCkubW9kYWwoJ2hpZGUnKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc2Nyb2xsU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TY3JvbGxTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24gPSB0aGlzLm1vZGFsU2VydmljZS5zY3JvbGxUb1RvcCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLnNjcm9sbE1vZGFsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGlmIChlbGVtZW50KSBlbGVtZW50LnNjcm9sbFRvKDAsIDApO1xuICAgIH0pO1xuICB9XG59XG4iLCI8IS0tXG4gIH4gQ29weXJpZ2h0IDIwMTUtMjAyMCBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gIH5cbiAgfiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAgfiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gIH4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gIH5cbiAgfiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gIH5cbiAgfiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gIH4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICB+IFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICB+IFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgfiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAgLS0+XG5cbjxkaXYgY2xhc3M9XCJtb2RhbCBmYWRlIGN1c3RvbS13aWR0aFwiIFtpZF09XCJlbGVtZW50SWRcIiByb2xlPVwiZGlhbG9nXCIgYXJpYS1tb2RhbD1cInRydWVcIiAjc2Nyb2xsTW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2cgbW9kYWwtbGdcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlciBtb2RhbC1oZWFkZXItY29sb3JlZCBjb2xvcmVkLWhlYWRlci1ncmV5XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlxuICAgICAgICAgIDxoNCBjbGFzcz1cInRpdGxlLXRleHQgbWItMlwiPnt7IHRpdGxlIH19PC9oND5cbiAgICAgICAgICA8aDUgY2xhc3M9XCJzdWJ0aXRsZS10ZXh0XCI+e3sgc3VidGl0bGUgfX08L2g1PlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZW1wbGF0ZUJlbG93U3VidGl0bGVcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0ZW1wbGF0ZUJlbG93U3VidGl0bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LXJpZ2h0XCI+XG4gICAgICAgICAgPGltZyBzcmM9XCJhc3NldHMvbW9kYWwvaGVhZGVyLWltYWdlLnBuZ1wiIGNsYXNzPVwibW9kYWwtaGVhZGVyLWltYWdlXCIgLz5cbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImNsb3NlXCIgZGF0YS1kaXNtaXNzPVwibW9kYWxcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIj5cbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYm9keV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIiAqbmdJZj1cInNob3dGb290ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL21vZGFsL21vZGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBSUwsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSxNQUFNLENBQUM7Ozs7QUFVbkQsTUFBTSxPQUFPLGNBQWM7SUFlekIsWUFBNkIsWUFBaUM7UUFBakMsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBYnJELFVBQUssR0FBRyxFQUFFLENBQUM7UUFDWCxhQUFRLEdBQUcsRUFBRSxDQUFDO1FBRWQsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUluQixrQkFBYSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBTUksQ0FBQztJQUVsRSxRQUFRO1FBQ04sSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGVBQWU7UUFDYixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSTtRQUNGLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSTtRQUNGLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxzQkFBc0I7UUFDNUIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDdEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUM7WUFFL0MsSUFBSSxPQUFPO2dCQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDL0MsU0FBUyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDNUIsSUFBSSxRQUFRLEVBQUUsYUFBYSxLQUFLLE9BQU8sRUFBRTtvQkFDdkMsTUFBTSxZQUFZLEdBQUksUUFBUSxFQUFFLE1BQWMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM1RSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDdkM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQUcsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hFLENBQUM7OzRHQTFEVSxjQUFjO2dHQUFkLGNBQWMscVRDckMzQixtekRBMkNBOzRGRE5hLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsZUFBZTswR0FLaEIsU0FBUztzQkFBakIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFFb0IsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjAgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtWYWx0aW1vTW9kYWxTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92YWx0aW1vLW1vZGFsLnNlcnZpY2UnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12YXJcbmRlY2xhcmUgdmFyICQ7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbHRpbW8tbW9kYWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kYWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RhbC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgZWxlbWVudElkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHN1YnRpdGxlID0gJyc7XG4gIEBJbnB1dCgpIHRlbXBsYXRlQmVsb3dTdWJ0aXRsZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgc2hvd0Zvb3RlciA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ3Njcm9sbE1vZGFsJykgc2Nyb2xsTW9kYWw6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIHJlYWRvbmx5IG1vZGFsU2hvd2luZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHNjcm9sbFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIG9ic2VydmVyITogTXV0YXRpb25PYnNlcnZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG1vZGFsU2VydmljZTogVmFsdGltb01vZGFsU2VydmljZSkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5TY3JvbGxTdWJzY3JpcHRpb24oKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAkKGAjJHt0aGlzLmVsZW1lbnRJZH1gKS5tb2RhbCh7c2hvdzogZmFsc2V9KTtcbiAgICB0aGlzLndhdGNoRm9yQ2xhc3NDaGFuZ2VzKCk7XG4gIH1cblxuICBzaG93KCkge1xuICAgICQoYCMke3RoaXMuZWxlbWVudElkfWApLm1vZGFsKCdzaG93Jyk7XG4gIH1cblxuICBoaWRlKCkge1xuICAgICQoYCMke3RoaXMuZWxlbWVudElkfWApLm1vZGFsKCdoaWRlJyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNjcm9sbFN1YnNjcmlwdGlvbj8udW5zdWJzY3JpYmUoKTtcbiAgICB0aGlzLm9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5TY3JvbGxTdWJzY3JpcHRpb24oKTogdm9pZCB7XG4gICAgdGhpcy5zY3JvbGxTdWJzY3JpcHRpb24gPSB0aGlzLm1vZGFsU2VydmljZS5zY3JvbGxUb1RvcCQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLnNjcm9sbE1vZGFsLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGlmIChlbGVtZW50KSBlbGVtZW50LnNjcm9sbFRvKDAsIDApO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSB3YXRjaEZvckNsYXNzQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLm9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIobXV0YXRpb25zID0+IHtcbiAgICAgIG11dGF0aW9ucz8uZm9yRWFjaChtdXRhdGlvbiA9PiB7XG4gICAgICAgIGlmIChtdXRhdGlvbj8uYXR0cmlidXRlTmFtZSA9PT0gJ2NsYXNzJykge1xuICAgICAgICAgIGNvbnN0IG1vZGFsU2hvd2luZyA9IChtdXRhdGlvbj8udGFyZ2V0IGFzIGFueSk/LmNsYXNzTGlzdD8uY29udGFpbnMoJ3Nob3cnKTtcbiAgICAgICAgICB0aGlzLm1vZGFsU2hvd2luZyQubmV4dChtb2RhbFNob3dpbmcpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICBjb25zdCBjb25maWcgPSB7YXR0cmlidXRlczogdHJ1ZSwgY2hpbGRMaXN0OiBmYWxzZSwgY2hhcmFjdGVyRGF0YTogZmFsc2V9O1xuICAgIHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnNjcm9sbE1vZGFsLm5hdGl2ZUVsZW1lbnQsIGNvbmZpZyk7XG4gIH1cbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIwIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBjbGFzcz1cIm1vZGFsIGZhZGUgY3VzdG9tLXdpZHRoXCIgW2lkXT1cImVsZW1lbnRJZFwiIHJvbGU9XCJkaWFsb2dcIiBhcmlhLW1vZGFsPVwidHJ1ZVwiICNzY3JvbGxNb2RhbD5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWRpYWxvZyBtb2RhbC1sZ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyIG1vZGFsLWhlYWRlci1jb2xvcmVkIGNvbG9yZWQtaGVhZGVyLWdyZXlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+XG4gICAgICAgICAgPGg0IGNsYXNzPVwidGl0bGUtdGV4dCBtYi0yXCI+e3sgdGl0bGUgfX08L2g0PlxuICAgICAgICAgIDxoNSBjbGFzcz1cInN1YnRpdGxlLXRleHRcIj57eyBzdWJ0aXRsZSB9fTwvaDU+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRlbXBsYXRlQmVsb3dTdWJ0aXRsZVwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRlbXBsYXRlQmVsb3dTdWJ0aXRsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtcmlnaHRcIj5cbiAgICAgICAgICA8aW1nIHNyYz1cImFzc2V0cy9tb2RhbC9oZWFkZXItaW1hZ2UucG5nXCIgY2xhc3M9XCJtb2RhbC1oZWFkZXItaW1hZ2VcIiAvPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiY2xvc2VcIiBkYXRhLWRpc21pc3M9XCJtb2RhbFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxuICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnRpbWVzOzwvc3Bhbj5cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltib2R5XVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiICpuZ0lmPVwic2hvd0Zvb3RlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -19,10 +19,10 @@ import { ModalComponent } from './modal.component';
19
19
  import * as i0 from "@angular/core";
20
20
  export class ModalModule {
21
21
  }
22
- ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
- ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, declarations: [ModalComponent], imports: [CommonModule], exports: [ModalComponent] });
24
- ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, imports: [[CommonModule]] });
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ModalModule, decorators: [{
22
+ ModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ ModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ModalModule, declarations: [ModalComponent], imports: [CommonModule], exports: [ModalComponent] });
24
+ ModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ModalModule, imports: [[CommonModule]] });
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ModalModule, decorators: [{
26
26
  type: NgModule,
27
27
  args: [{
28
28
  declarations: [ModalComponent],
@@ -33,9 +33,9 @@ export class MultiselectDropdownComponent {
33
33
  this.itemsSelected.emit(this.selectedItems);
34
34
  }
35
35
  }
36
- MultiselectDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiselectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- MultiselectDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: MultiselectDropdownComponent, selector: "valtimo-multiselect-dropdown", inputs: { selectedItems: "selectedItems", items: "items", placeHolder: "placeHolder", dropdownSettings: "dropdownSettings" }, outputs: { itemsSelected: "itemsSelected" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-multiselect-dropdown\n [placeholder]=\"placeHolder\"\n [data]=\"items\"\n [(ngModel)]=\"selectedItems\"\n [settings]=\"dropdownSettings\"\n (onDropDownClose)=\"onItemsSelected()\"\n></ng-multiselect-dropdown>\n", styles: [""], components: [{ type: i1.MultiSelectComponent, selector: "ng-multiselect-dropdown", inputs: ["disabled", "placeholder", "settings", "data"], outputs: ["onFilterChange", "onDropDownClose", "onSelect", "onDeSelect", "onSelectAll", "onDeSelectAll"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiselectDropdownComponent, decorators: [{
36
+ MultiselectDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiselectDropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
+ MultiselectDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: MultiselectDropdownComponent, selector: "valtimo-multiselect-dropdown", inputs: { selectedItems: "selectedItems", items: "items", placeHolder: "placeHolder", dropdownSettings: "dropdownSettings" }, outputs: { itemsSelected: "itemsSelected" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-multiselect-dropdown\n [placeholder]=\"placeHolder\"\n [data]=\"items\"\n [(ngModel)]=\"selectedItems\"\n [settings]=\"dropdownSettings\"\n (onDropDownClose)=\"onItemsSelected()\"\n></ng-multiselect-dropdown>\n", styles: [""], components: [{ type: i1.MultiSelectComponent, selector: "ng-multiselect-dropdown", inputs: ["disabled", "placeholder", "settings", "data"], outputs: ["onFilterChange", "onDropDownClose", "onSelect", "onDeSelect", "onSelectAll", "onDeSelectAll"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiselectDropdownComponent, decorators: [{
39
39
  type: Component,
40
40
  args: [{ selector: 'valtimo-multiselect-dropdown', template: "<!--\n ~ Copyright 2015-2022 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-multiselect-dropdown\n [placeholder]=\"placeHolder\"\n [data]=\"items\"\n [(ngModel)]=\"selectedItems\"\n [settings]=\"dropdownSettings\"\n (onDropDownClose)=\"onItemsSelected()\"\n></ng-multiselect-dropdown>\n", styles: [""] }]
41
41
  }], propDecorators: { selectedItems: [{
@@ -21,10 +21,10 @@ import { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';
21
21
  import * as i0 from "@angular/core";
22
22
  export class MultiselectDropdownModule {
23
23
  }
24
- MultiselectDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiselectDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
- MultiselectDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiselectDropdownModule, declarations: [MultiselectDropdownComponent], imports: [CommonModule, ReactiveFormsModule, NgMultiSelectDropDownModule, FormsModule], exports: [MultiselectDropdownComponent] });
26
- MultiselectDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiselectDropdownModule, imports: [[CommonModule, ReactiveFormsModule, NgMultiSelectDropDownModule, FormsModule]] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: MultiselectDropdownModule, decorators: [{
24
+ MultiselectDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiselectDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
+ MultiselectDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiselectDropdownModule, declarations: [MultiselectDropdownComponent], imports: [CommonModule, ReactiveFormsModule, NgMultiSelectDropDownModule, FormsModule], exports: [MultiselectDropdownComponent] });
26
+ MultiselectDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiselectDropdownModule, imports: [[CommonModule, ReactiveFormsModule, NgMultiSelectDropDownModule, FormsModule]] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: MultiselectDropdownModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  declarations: [MultiselectDropdownComponent],
@@ -26,9 +26,9 @@ export class PageHeaderComponent {
26
26
  }
27
27
  ngOnInit() { }
28
28
  }
29
- PageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.UserInterfaceService }], target: i0.ɵɵFactoryTarget.Component });
30
- PageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: PageHeaderComponent, selector: "valtimo-page-header", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"page-head\" [ngClass]=\"{'page-head--hidden': (showPageHeader$ | async) === false}\">\n <valtimo-page-title></valtimo-page-title>\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n</div>\n", styles: [".page-head--hidden{display:none}\n"], components: [{ type: i2.PageTitleComponent, selector: "valtimo-page-title" }, { type: i3.BreadcrumbNavigationComponent, selector: "valtimo-breadcrumb-navigation" }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i4.AsyncPipe } });
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PageHeaderComponent, decorators: [{
29
+ PageHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PageHeaderComponent, deps: [{ token: i1.UserInterfaceService }], target: i0.ɵɵFactoryTarget.Component });
30
+ PageHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: PageHeaderComponent, selector: "valtimo-page-header", ngImport: i0, template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"page-head\" [ngClass]=\"{'page-head--hidden': (showPageHeader$ | async) === false}\">\n <valtimo-page-title></valtimo-page-title>\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n</div>\n", styles: [".page-head--hidden{display:none}\n"], components: [{ type: i2.PageTitleComponent, selector: "valtimo-page-title" }, { type: i3.BreadcrumbNavigationComponent, selector: "valtimo-breadcrumb-navigation" }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i4.AsyncPipe } });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PageHeaderComponent, decorators: [{
32
32
  type: Component,
33
33
  args: [{ selector: 'valtimo-page-header', template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"page-head\" [ngClass]=\"{'page-head--hidden': (showPageHeader$ | async) === false}\">\n <valtimo-page-title></valtimo-page-title>\n <valtimo-breadcrumb-navigation></valtimo-breadcrumb-navigation>\n</div>\n", styles: [".page-head--hidden{display:none}\n"] }]
34
34
  }], ctorParameters: function () { return [{ type: i1.UserInterfaceService }]; } });
@@ -21,10 +21,10 @@ import { BreadcrumbNavigationModule } from '../breadcrumb-navigation/breadcrumb-
21
21
  import * as i0 from "@angular/core";
22
22
  export class PageHeaderModule {
23
23
  }
24
- PageHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
- PageHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PageHeaderModule, declarations: [PageHeaderComponent], imports: [CommonModule, PageTitleModule, BreadcrumbNavigationModule], exports: [PageHeaderComponent] });
26
- PageHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PageHeaderModule, imports: [[CommonModule, PageTitleModule, BreadcrumbNavigationModule]] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: PageHeaderModule, decorators: [{
24
+ PageHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PageHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
25
+ PageHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PageHeaderModule, declarations: [PageHeaderComponent], imports: [CommonModule, PageTitleModule, BreadcrumbNavigationModule], exports: [PageHeaderComponent] });
26
+ PageHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PageHeaderModule, imports: [[CommonModule, PageTitleModule, BreadcrumbNavigationModule]] });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PageHeaderModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  declarations: [PageHeaderComponent],