@indice/ng-components 0.3.12 → 0.4.0-beta.1

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 (169) hide show
  1. package/fesm2022/indice-ng-components.mjs +314 -279
  2. package/fesm2022/indice-ng-components.mjs.map +1 -1
  3. package/index.d.ts +1894 -3
  4. package/package.json +8 -10
  5. package/esm2022/indice-ng-components.mjs +0 -5
  6. package/esm2022/lib/controls/advanced-search/advanced-search.component.mjs +0 -161
  7. package/esm2022/lib/controls/advanced-search/models.mjs +0 -109
  8. package/esm2022/lib/controls/avatar-initials/avatar-initials.component.mjs +0 -48
  9. package/esm2022/lib/controls/breadcrumb/breadcrumb-item.mjs +0 -14
  10. package/esm2022/lib/controls/breadcrumb/breadcrumb.component.mjs +0 -26
  11. package/esm2022/lib/controls/collapsible-panel/collapsible-panel.component.mjs +0 -20
  12. package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -118
  13. package/esm2022/lib/controls/content-tile/content-tile.component.mjs +0 -91
  14. package/esm2022/lib/controls/date-picker/date-picker.component.mjs +0 -300
  15. package/esm2022/lib/controls/drop-down-menu/drop-down-menu.component.mjs +0 -72
  16. package/esm2022/lib/controls/enhanced-combobox/enhanced-combobox.component.mjs +0 -115
  17. package/esm2022/lib/controls/kpi-tile/kpi-tile.component.mjs +0 -43
  18. package/esm2022/lib/controls/language-selection/language-selection.component.mjs +0 -31
  19. package/esm2022/lib/controls/list-view/list-column.component.mjs +0 -25
  20. package/esm2022/lib/controls/list-view/list-details-section.component.mjs +0 -17
  21. package/esm2022/lib/controls/list-view/list-tile.component.mjs +0 -17
  22. package/esm2022/lib/controls/list-view/list-view-empty-state.component.mjs +0 -29
  23. package/esm2022/lib/controls/list-view/list-view.component.mjs +0 -211
  24. package/esm2022/lib/controls/nav-links-list/nav-links-list.component.mjs +0 -54
  25. package/esm2022/lib/controls/notifications-indicator/notifications-indicator.component.mjs +0 -79
  26. package/esm2022/lib/controls/pager/pager.component.mjs +0 -130
  27. package/esm2022/lib/controls/progress-bar/progress-bar.component.mjs +0 -46
  28. package/esm2022/lib/controls/side-pane/side-pane.component.mjs +0 -106
  29. package/esm2022/lib/controls/skeleton-loader/skeleton-loader.component.mjs +0 -29
  30. package/esm2022/lib/controls/stats-grid/stats-grid.component.mjs +0 -49
  31. package/esm2022/lib/controls/stepper/lib-step-info.directive.mjs +0 -16
  32. package/esm2022/lib/controls/stepper/lib-step-label.directive.mjs +0 -16
  33. package/esm2022/lib/controls/stepper/lib-step.component.mjs +0 -81
  34. package/esm2022/lib/controls/stepper/lib-stepper.component.mjs +0 -108
  35. package/esm2022/lib/controls/stepper/types/step-selected-event.mjs +0 -4
  36. package/esm2022/lib/controls/stepper/types/stepper-type.mjs +0 -12
  37. package/esm2022/lib/controls/tabs/lib-tab-group.component.mjs +0 -66
  38. package/esm2022/lib/controls/tabs/lib-tab-label.directive.mjs +0 -16
  39. package/esm2022/lib/controls/tabs/lib-tab.component.mjs +0 -64
  40. package/esm2022/lib/controls/toaster/toaster-container.component.mjs +0 -28
  41. package/esm2022/lib/controls/toaster/toaster.component.mjs +0 -31
  42. package/esm2022/lib/controls/toggle/toggle.component.mjs +0 -64
  43. package/esm2022/lib/controls/toggle-button/toggle-button.component.mjs +0 -87
  44. package/esm2022/lib/controls/toggle-buttons-list/toggle-buttons-list.component.mjs +0 -34
  45. package/esm2022/lib/controls/user-profile-menu/user-profile-menu.component.mjs +0 -75
  46. package/esm2022/lib/directives/click-outside.directive.mjs +0 -189
  47. package/esm2022/lib/directives/dynamic-component-host.directive.mjs +0 -17
  48. package/esm2022/lib/helpers/base-list.component.mjs +0 -235
  49. package/esm2022/lib/icons.mjs +0 -36
  50. package/esm2022/lib/layouts/shell/shell-footer/shell-footer.component.mjs +0 -19
  51. package/esm2022/lib/layouts/shell/shell-header/shell-header.component.mjs +0 -138
  52. package/esm2022/lib/layouts/shell/shell-layout/shell-layout.component.mjs +0 -92
  53. package/esm2022/lib/layouts/shell/shell-sidebar/shell-sidebar.component.mjs +0 -54
  54. package/esm2022/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.mjs +0 -45
  55. package/esm2022/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.mjs +0 -33
  56. package/esm2022/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.mjs +0 -24
  57. package/esm2022/lib/layouts/views/form-layout/form-layout.component.mjs +0 -86
  58. package/esm2022/lib/layouts/views/model-view-layout/model-view-layout.component.mjs +0 -103
  59. package/esm2022/lib/layouts/views/side-view-layout/side-view-layout.component.mjs +0 -106
  60. package/esm2022/lib/layouts/views/view-layout/view-layout.component.mjs +0 -104
  61. package/esm2022/lib/ng-components.module.mjs +0 -324
  62. package/esm2022/lib/pages/auth/auth-callback/auth-callback.component.mjs +0 -30
  63. package/esm2022/lib/pages/auth/auth-renew/auth-renew.component.mjs +0 -31
  64. package/esm2022/lib/pages/auth/logged-out/logged-out.component.mjs +0 -28
  65. package/esm2022/lib/pages/http-status/error/error.component.mjs +0 -17
  66. package/esm2022/lib/pages/http-status/page-not-found/page-not-found.component.mjs +0 -15
  67. package/esm2022/lib/pages/http-status/unauthorized/unauthorized.component.mjs +0 -14
  68. package/esm2022/lib/pipes/address.pipe.mjs +0 -21
  69. package/esm2022/lib/pipes/duration-format.pipe.mjs +0 -64
  70. package/esm2022/lib/pipes/short-number.pipe.mjs +0 -43
  71. package/esm2022/lib/services/breadcrumb.service.mjs +0 -181
  72. package/esm2022/lib/services/component-loader/component-loader-options.class.mjs +0 -8
  73. package/esm2022/lib/services/component-loader/component-loader.class.mjs +0 -188
  74. package/esm2022/lib/services/component-loader/component-loader.factory.mjs +0 -32
  75. package/esm2022/lib/services/component-loader/content-ref.class.mjs +0 -13
  76. package/esm2022/lib/services/modal-service/modal-backdrop-component.mjs +0 -44
  77. package/esm2022/lib/services/modal-service/modal-container-component.mjs +0 -126
  78. package/esm2022/lib/services/modal-service/modal-options.class.mjs +0 -35
  79. package/esm2022/lib/services/modal-service/modal-service.mjs +0 -220
  80. package/esm2022/lib/services/modal-service/modal-styles.class.mjs +0 -11
  81. package/esm2022/lib/services/modal-service/modal.class.mjs +0 -27
  82. package/esm2022/lib/services/toaster.service.mjs +0 -26
  83. package/esm2022/lib/services/user-settings.service.mjs +0 -35
  84. package/esm2022/lib/services/utilities.service.mjs +0 -47
  85. package/esm2022/lib/tokens.mjs +0 -8
  86. package/esm2022/lib/types.mjs +0 -143
  87. package/esm2022/public-api.mjs +0 -77
  88. package/lib/controls/advanced-search/advanced-search.component.d.ts +0 -42
  89. package/lib/controls/advanced-search/models.d.ts +0 -92
  90. package/lib/controls/avatar-initials/avatar-initials.component.d.ts +0 -14
  91. package/lib/controls/breadcrumb/breadcrumb-item.d.ts +0 -7
  92. package/lib/controls/breadcrumb/breadcrumb.component.d.ts +0 -12
  93. package/lib/controls/collapsible-panel/collapsible-panel.component.d.ts +0 -10
  94. package/lib/controls/combobox/combobox.component.d.ts +0 -34
  95. package/lib/controls/content-tile/content-tile.component.d.ts +0 -34
  96. package/lib/controls/date-picker/date-picker.component.d.ts +0 -53
  97. package/lib/controls/drop-down-menu/drop-down-menu.component.d.ts +0 -26
  98. package/lib/controls/enhanced-combobox/enhanced-combobox.component.d.ts +0 -37
  99. package/lib/controls/kpi-tile/kpi-tile.component.d.ts +0 -15
  100. package/lib/controls/language-selection/language-selection.component.d.ts +0 -14
  101. package/lib/controls/list-view/list-column.component.d.ts +0 -9
  102. package/lib/controls/list-view/list-details-section.component.d.ts +0 -7
  103. package/lib/controls/list-view/list-tile.component.d.ts +0 -7
  104. package/lib/controls/list-view/list-view-empty-state.component.d.ts +0 -11
  105. package/lib/controls/list-view/list-view.component.d.ts +0 -62
  106. package/lib/controls/nav-links-list/nav-links-list.component.d.ts +0 -21
  107. package/lib/controls/notifications-indicator/notifications-indicator.component.d.ts +0 -22
  108. package/lib/controls/pager/pager.component.d.ts +0 -36
  109. package/lib/controls/progress-bar/progress-bar.component.d.ts +0 -16
  110. package/lib/controls/side-pane/side-pane.component.d.ts +0 -28
  111. package/lib/controls/skeleton-loader/skeleton-loader.component.d.ts +0 -12
  112. package/lib/controls/stats-grid/stats-grid.component.d.ts +0 -16
  113. package/lib/controls/stepper/lib-step-info.directive.d.ts +0 -8
  114. package/lib/controls/stepper/lib-step-label.directive.d.ts +0 -8
  115. package/lib/controls/stepper/lib-step.component.d.ts +0 -34
  116. package/lib/controls/stepper/lib-stepper.component.d.ts +0 -43
  117. package/lib/controls/stepper/types/step-selected-event.d.ts +0 -12
  118. package/lib/controls/stepper/types/stepper-type.d.ts +0 -10
  119. package/lib/controls/tabs/lib-tab-group.component.d.ts +0 -21
  120. package/lib/controls/tabs/lib-tab-label.directive.d.ts +0 -8
  121. package/lib/controls/tabs/lib-tab.component.d.ts +0 -24
  122. package/lib/controls/toaster/toaster-container.component.d.ts +0 -13
  123. package/lib/controls/toaster/toaster.component.d.ts +0 -15
  124. package/lib/controls/toggle/toggle.component.d.ts +0 -19
  125. package/lib/controls/toggle-button/toggle-button.component.d.ts +0 -25
  126. package/lib/controls/toggle-buttons-list/toggle-buttons-list.component.d.ts +0 -15
  127. package/lib/controls/user-profile-menu/user-profile-menu.component.d.ts +0 -25
  128. package/lib/directives/click-outside.directive.d.ts +0 -40
  129. package/lib/directives/dynamic-component-host.directive.d.ts +0 -9
  130. package/lib/helpers/base-list.component.d.ts +0 -55
  131. package/lib/icons.d.ts +0 -34
  132. package/lib/layouts/shell/shell-footer/shell-footer.component.d.ts +0 -8
  133. package/lib/layouts/shell/shell-header/shell-header.component.d.ts +0 -40
  134. package/lib/layouts/shell/shell-layout/shell-layout.component.d.ts +0 -27
  135. package/lib/layouts/shell/shell-sidebar/shell-sidebar.component.d.ts +0 -20
  136. package/lib/layouts/shell/shell-sidebar-header/shell-sidebar-header.component.d.ts +0 -14
  137. package/lib/layouts/shell/shell-sidebar-layout/shell-sidebar-layout.component.d.ts +0 -16
  138. package/lib/layouts/shell/shell-stacked-layout/shell-stacked-layout.component.d.ts +0 -11
  139. package/lib/layouts/views/form-layout/form-layout.component.d.ts +0 -26
  140. package/lib/layouts/views/model-view-layout/model-view-layout.component.d.ts +0 -44
  141. package/lib/layouts/views/side-view-layout/side-view-layout.component.d.ts +0 -29
  142. package/lib/layouts/views/view-layout/view-layout.component.d.ts +0 -31
  143. package/lib/ng-components.module.d.ts +0 -70
  144. package/lib/pages/auth/auth-callback/auth-callback.component.d.ts +0 -13
  145. package/lib/pages/auth/auth-renew/auth-renew.component.d.ts +0 -12
  146. package/lib/pages/auth/logged-out/logged-out.component.d.ts +0 -12
  147. package/lib/pages/http-status/error/error.component.d.ts +0 -8
  148. package/lib/pages/http-status/page-not-found/page-not-found.component.d.ts +0 -8
  149. package/lib/pages/http-status/unauthorized/unauthorized.component.d.ts +0 -8
  150. package/lib/pipes/address.pipe.d.ts +0 -8
  151. package/lib/pipes/duration-format.pipe.d.ts +0 -8
  152. package/lib/pipes/short-number.pipe.d.ts +0 -7
  153. package/lib/services/breadcrumb.service.d.ts +0 -29
  154. package/lib/services/component-loader/component-loader-options.class.d.ts +0 -30
  155. package/lib/services/component-loader/component-loader.class.d.ts +0 -92
  156. package/lib/services/component-loader/component-loader.factory.d.ts +0 -24
  157. package/lib/services/component-loader/content-ref.class.d.ts +0 -12
  158. package/lib/services/modal-service/modal-backdrop-component.d.ts +0 -20
  159. package/lib/services/modal-service/modal-container-component.d.ts +0 -33
  160. package/lib/services/modal-service/modal-options.class.d.ts +0 -81
  161. package/lib/services/modal-service/modal-service.d.ts +0 -58
  162. package/lib/services/modal-service/modal-styles.class.d.ts +0 -10
  163. package/lib/services/modal-service/modal.class.d.ts +0 -43
  164. package/lib/services/toaster.service.d.ts +0 -11
  165. package/lib/services/user-settings.service.d.ts +0 -13
  166. package/lib/services/utilities.service.d.ts +0 -11
  167. package/lib/tokens.d.ts +0 -10
  168. package/lib/types.d.ts +0 -188
  169. package/public-api.d.ts +0 -67
@@ -1,86 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
- import { fromEvent } from 'rxjs';
3
- import { map, filter, debounceTime, distinctUntilChanged } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- import * as i2 from "@angular/common";
7
- import * as i3 from "../../../controls/side-pane/side-pane.component";
8
- export class FormLayoutComponent {
9
- constructor(router$) {
10
- this.router$ = router$;
11
- this.title = null;
12
- this.image = null;
13
- this.icon = null;
14
- // tslint:disable-next-line:no-input-rename
15
- this.searchPlaceholder = 'αναζήτηση';
16
- this.actions = null;
17
- // tslint:disable-next-line:no-input-rename
18
- this.subTitle = null;
19
- // tslint:disable-next-line:no-output-on-prefix
20
- this.onAction = new EventEmitter();
21
- // tslint:disable-next-line:no-output-on-prefix
22
- this.onSearch = new EventEmitter();
23
- this.onComplete = new EventEmitter();
24
- }
25
- ngOnInit() {
26
- if (this.searchInput$?.nativeElement) {
27
- fromEvent(this.searchInput$.nativeElement, 'keyup').pipe(map((event) => {
28
- return event.target.value; // Get input value.
29
- }), filter(inputValue => inputValue.length >= 3 || inputValue.length === 0),
30
- // If character length greater than minimumSearchCharacters setting.
31
- debounceTime(1000), // Time in milliseconds between key events.
32
- distinctUntilChanged() // If previous query is different from current.
33
- ).subscribe();
34
- }
35
- }
36
- onSidePaneDeactivated($event) {
37
- this.onComplete.emit(true);
38
- }
39
- emitActionClick(action) {
40
- this.onAction.emit(action);
41
- }
42
- searchActionClick(action, text) {
43
- this.onSearch.emit(text);
44
- }
45
- searchActionType(text) {
46
- this.onSearch.emit(this.searchInput$?.nativeElement.value);
47
- }
48
- routerLinkActionClick(action, relative = false) {
49
- if (action.outlet) {
50
- this.router$.navigate(['', { outlets: { formRightPane: action.link } }]);
51
- }
52
- else {
53
- this.router$.navigate([action.link]);
54
- }
55
- }
56
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: FormLayoutComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
57
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: FormLayoutComponent, selector: "lib-form-layout", inputs: { title: "title", image: "image", icon: "icon", searchPlaceholder: ["search-placeholder", "searchPlaceholder"], actions: "actions", subTitle: ["sub-title", "subTitle"] }, outputs: { onAction: "onAction", onSearch: "onSearch", onComplete: "onComplete" }, viewQueries: [{ propertyName: "searchInput$", first: true, predicate: ["search"], descendants: true }], ngImport: i0, template: "<div class=\"form-layout-container\">\r\n <div class=\"form-header\" *ngIf=\"title || subTitle || actions\">\r\n <div class=\"flex\">\r\n <div class=\"mr-4 flex-shrink-0\" *ngIf=\"image\">\r\n <img alt=\"form tab image\" class=\"form-header-image\" [src]=\"image\">\r\n </div>\r\n <div class=\"mr-4 flex-shrink-0\" *ngIf=\"icon\">\r\n <i [class]=\"icon\" class=\"form-header-icon\"></i>\r\n </div>\r\n <div class=\"form-header-inner\">\r\n <h3 class=\"form-title\">{{ title }}</h3>\r\n <p class=\"form-subtitle\">{{ subTitle }}</p>\r\n </div>\r\n </div>\r\n \r\n <div class=\"form-header-actions\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container\">\r\n <div class=\"pointer-events-none absolute inset-y-0 left-0 pl-3 flex items-center\">\r\n <!--<svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" />\r\n </svg>-->\r\n </div>\r\n <input id=\"search\"\r\n #search\r\n class=\"form-search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\">\r\n </div>\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"btn-form-view-header-search\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"form-content-container\">\r\n <div [ngClass]=\"{'form-content-container-inner': actions}\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <lib-side-pane #formPane (onComplete)=\"onSidePaneDeactivated($event)\">\r\n <router-outlet name=\"formRightPane\"\r\n (activate)=\"formPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"formPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: i3.SidePaneComponent, selector: "lib-side-pane", inputs: ["visible", "pane-size"], outputs: ["onComplete", "onOpen", "onClose"] }] }); }
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: FormLayoutComponent, decorators: [{
60
- type: Component,
61
- args: [{ selector: 'lib-form-layout', template: "<div class=\"form-layout-container\">\r\n <div class=\"form-header\" *ngIf=\"title || subTitle || actions\">\r\n <div class=\"flex\">\r\n <div class=\"mr-4 flex-shrink-0\" *ngIf=\"image\">\r\n <img alt=\"form tab image\" class=\"form-header-image\" [src]=\"image\">\r\n </div>\r\n <div class=\"mr-4 flex-shrink-0\" *ngIf=\"icon\">\r\n <i [class]=\"icon\" class=\"form-header-icon\"></i>\r\n </div>\r\n <div class=\"form-header-inner\">\r\n <h3 class=\"form-title\">{{ title }}</h3>\r\n <p class=\"form-subtitle\">{{ subTitle }}</p>\r\n </div>\r\n </div>\r\n \r\n <div class=\"form-header-actions\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container\">\r\n <div class=\"pointer-events-none absolute inset-y-0 left-0 pl-3 flex items-center\">\r\n <!--<svg class=\"h-5 w-5\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\">\r\n <path fill-rule=\"evenodd\" d=\"M8 4a4 4 0 100 8 4 4 0 000-8zM2 8a6 6 0 1110.89 3.476l4.817 4.817a1 1 0 01-1.414 1.414l-4.816-4.816A6 6 0 012 8z\" clip-rule=\"evenodd\" />\r\n </svg>-->\r\n </div>\r\n <input id=\"search\"\r\n #search\r\n class=\"form-search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n type=\"search\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\">\r\n </div>\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"btn-form-view-header-search\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\"\r\n class=\"ml-1 btn-form-view-header\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"form-content-container\">\r\n <div [ngClass]=\"{'form-content-container-inner': actions}\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <lib-side-pane #formPane (onComplete)=\"onSidePaneDeactivated($event)\">\r\n <router-outlet name=\"formRightPane\"\r\n (activate)=\"formPane.onSidePaneActivated($event)\"\r\n (deactivate)=\"formPane.onSidePaneDeactivated($event)\"></router-outlet>\r\n </lib-side-pane>\r\n</div>\r\n" }]
62
- }], ctorParameters: () => [{ type: i1.Router }], propDecorators: { searchInput$: [{
63
- type: ViewChild,
64
- args: ['search']
65
- }], title: [{
66
- type: Input
67
- }], image: [{
68
- type: Input
69
- }], icon: [{
70
- type: Input
71
- }], searchPlaceholder: [{
72
- type: Input,
73
- args: ['search-placeholder']
74
- }], actions: [{
75
- type: Input
76
- }], subTitle: [{
77
- type: Input,
78
- args: ['sub-title']
79
- }], onAction: [{
80
- type: Output
81
- }], onSearch: [{
82
- type: Output
83
- }], onComplete: [{
84
- type: Output
85
- }] } });
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3MvZm9ybS1sYXlvdXQvZm9ybS1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3MvZm9ybS1sYXlvdXQvZm9ybS1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFPakYsTUFBTSxPQUFPLG1CQUFtQjtJQWlCOUIsWUFBb0IsT0FBZTtRQUFmLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFkMUIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDNUIsVUFBSyxHQUFrQixJQUFJLENBQUM7UUFDNUIsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDcEMsMkNBQTJDO1FBQ2Qsc0JBQWlCLEdBQWtCLFdBQVcsQ0FBQTtRQUNsRSxZQUFPLEdBQXdCLElBQUksQ0FBQztRQUM3QywyQ0FBMkM7UUFDdkIsYUFBUSxHQUFrQixJQUFJLENBQUM7UUFDbkQsK0NBQStDO1FBQ3JDLGFBQVEsR0FBNkIsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUM5RSwrQ0FBK0M7UUFDckMsYUFBUSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVELGVBQVUsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQUVuQyxDQUFDO0lBRXhDLFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUM7WUFDcEMsU0FBUyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDdEQsR0FBRyxDQUFDLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ2pCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxtQkFBbUI7WUFDaEQsQ0FBQyxDQUFDLEVBQ0YsTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDdkUsb0VBQW9FO1lBQ3BFLFlBQVksQ0FBQyxJQUFJLENBQUMsRUFBRSwyQ0FBMkM7WUFDL0Qsb0JBQW9CLEVBQUUsQ0FBQywrQ0FBK0M7YUFDdkUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVNLHFCQUFxQixDQUFDLE1BQVc7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVNLGVBQWUsQ0FBQyxNQUFrQjtRQUN2QyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBa0IsRUFBRSxJQUFZO1FBQ2hELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxJQUFZO1FBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxNQUE4QixFQUFFLFdBQW9CLEtBQUs7UUFDcEYsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNFLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN2QyxDQUFDO0lBQ0gsQ0FBQzs4R0F2RFUsbUJBQW1CO2tHQUFuQixtQkFBbUIscWFDVmhDLDAwR0F3RUE7OzJGRDlEYSxtQkFBbUI7a0JBSi9CLFNBQVM7K0JBQ0UsaUJBQWlCOzJFQUtFLFlBQVk7c0JBQXhDLFNBQVM7dUJBQUMsUUFBUTtnQkFDVixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFFdUIsaUJBQWlCO3NCQUE3QyxLQUFLO3VCQUFDLG9CQUFvQjtnQkFDbEIsT0FBTztzQkFBZixLQUFLO2dCQUVjLFFBQVE7c0JBQTNCLEtBQUs7dUJBQUMsV0FBVztnQkFFUixRQUFRO3NCQUFqQixNQUFNO2dCQUVHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBmaWx0ZXIsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFJvdXRlclZpZXdBY3Rpb24sIFZpZXdBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1mb3JtLWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvcm0tbGF5b3V0LmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRm9ybUxheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBWaWV3Q2hpbGQoJ3NlYXJjaCcpIHByaXZhdGUgc2VhcmNoSW5wdXQkPzogRWxlbWVudFJlZjtcclxuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgQElucHV0KCkgaW1hZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3NlYXJjaC1wbGFjZWhvbGRlcicpIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmcgfCBudWxsID0gJ86xzr3Osc62zq7PhM63z4POtydcclxuICBASW5wdXQoKSBhY3Rpb25zOiBWaWV3QWN0aW9uW10gfCBudWxsID0gbnVsbDtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzdWItdGl0bGUnKSBzdWJUaXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcclxuICBAT3V0cHV0KCkgb25BY3Rpb246IEV2ZW50RW1pdHRlcjxWaWV3QWN0aW9uPiA9IG5ldyBFdmVudEVtaXR0ZXI8Vmlld0FjdGlvbj4oKTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tb3V0cHV0LW9uLXByZWZpeFxyXG4gIEBPdXRwdXQoKSBvblNlYXJjaDogRXZlbnRFbWl0dGVyPHN0cmluZz4gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgb25Db21wbGV0ZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlciQ6IFJvdXRlcikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQkPy5uYXRpdmVFbGVtZW50KXtcclxuICAgICAgZnJvbUV2ZW50KHRoaXMuc2VhcmNoSW5wdXQkLm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpLnBpcGUoXHJcbiAgICAgICAgbWFwKChldmVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gZXZlbnQudGFyZ2V0LnZhbHVlOyAvLyBHZXQgaW5wdXQgdmFsdWUuXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgZmlsdGVyKGlucHV0VmFsdWUgPT4gaW5wdXRWYWx1ZS5sZW5ndGggPj0gMyB8fCBpbnB1dFZhbHVlLmxlbmd0aCA9PT0gMCksXHJcbiAgICAgICAgLy8gSWYgY2hhcmFjdGVyIGxlbmd0aCBncmVhdGVyIHRoYW4gbWluaW11bVNlYXJjaENoYXJhY3RlcnMgc2V0dGluZy5cclxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwMCksIC8vIFRpbWUgaW4gbWlsbGlzZWNvbmRzIGJldHdlZW4ga2V5IGV2ZW50cy5cclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpIC8vIElmIHByZXZpb3VzIHF1ZXJ5IGlzIGRpZmZlcmVudCBmcm9tIGN1cnJlbnQuXHJcbiAgICAgICkuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25TaWRlUGFuZURlYWN0aXZhdGVkKCRldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ29tcGxldGUuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWl0QWN0aW9uQ2xpY2soYWN0aW9uOiBWaWV3QWN0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQWN0aW9uLmVtaXQoYWN0aW9uKTtcclxuICB9XHJcblxyXG4gIHNlYXJjaEFjdGlvbkNsaWNrKGFjdGlvbjogVmlld0FjdGlvbiwgdGV4dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uU2VhcmNoLmVtaXQodGV4dCk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hBY3Rpb25UeXBlKHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5vblNlYXJjaC5lbWl0KHRoaXMuc2VhcmNoSW5wdXQkPy5uYXRpdmVFbGVtZW50LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByb3V0ZXJMaW5rQWN0aW9uQ2xpY2soYWN0aW9uOiBSb3V0ZXJWaWV3QWN0aW9uIHwgYW55LCByZWxhdGl2ZTogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XHJcbiAgICBpZiAoYWN0aW9uLm91dGxldCkge1xyXG4gICAgICB0aGlzLnJvdXRlciQubmF2aWdhdGUoWycnLCB7IG91dGxldHM6IHsgZm9ybVJpZ2h0UGFuZTogYWN0aW9uLmxpbmsgfSB9XSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJvdXRlciQubmF2aWdhdGUoW2FjdGlvbi5saW5rXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1sYXlvdXQtY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyXCIgKm5nSWY9XCJ0aXRsZSB8fCBzdWJUaXRsZSB8fCBhY3Rpb25zXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXItNCBmbGV4LXNocmluay0wXCIgKm5nSWY9XCJpbWFnZVwiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwiZm9ybSB0YWIgaW1hZ2VcIiBjbGFzcz1cImZvcm0taGVhZGVyLWltYWdlXCIgW3NyY109XCJpbWFnZVwiPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1yLTQgZmxleC1zaHJpbmstMFwiICpuZ0lmPVwiaWNvblwiPlxyXG4gICAgICAgIDxpIFtjbGFzc109XCJpY29uXCIgY2xhc3M9XCJmb3JtLWhlYWRlci1pY29uXCI+PC9pPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLWlubmVyXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiZm9ybS10aXRsZVwiPnt7IHRpdGxlIH19PC9oMz5cclxuICAgICAgICA8cCBjbGFzcz1cImZvcm0tc3VidGl0bGVcIj57eyBzdWJUaXRsZSB9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIFxyXG4gICAgPGRpdiBjbGFzcz1cImZvcm0taGVhZGVyLWFjdGlvbnNcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIiBbbmdTd2l0Y2hdPVwiYWN0aW9uLnR5cGVcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VhcmNoJ1wiPlxyXG4gICAgICAgICAgPGxhYmVsIGZvcj1cInNlYXJjaFwiIGNsYXNzPVwic3Itb25seVwiPlNlYXJjaDwvbGFiZWw+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VhcmNoLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicG9pbnRlci1ldmVudHMtbm9uZSBhYnNvbHV0ZSBpbnNldC15LTAgbGVmdC0wIHBsLTMgZmxleCBpdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICA8IS0tPHN2ZyBjbGFzcz1cImgtNSB3LTVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTggNGE0IDQgMCAxMDAgOCA0IDQgMCAwMDAtOHpNMiA4YTYgNiAwIDExMTAuODkgMy40NzZsNC44MTcgNC44MTdhMSAxIDAgMDEtMS40MTQgMS40MTRsLTQuODE2LTQuODE2QTYgNiAwIDAxMiA4elwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPi0tPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgICAgICAgICNzZWFyY2hcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1zZWFyY2gtaW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgbmFtZT1cInNlYXJjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwic2VhcmNoQWN0aW9uVHlwZShzZWFyY2gudmFsdWUpXCI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4tZm9ybS12aWV3LWhlYWRlci1zZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICBbdGl0bGVdPVwiYWN0aW9uLnRvb2x0aXBcIlxyXG4gICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VhcmNoQWN0aW9uQ2xpY2soYWN0aW9uLCBzZWFyY2gudmFsdWUpXCI+XHJcbiAgICAgICAgICAgIDxpIFtjbGFzc109XCJhY3Rpb24uaWNvblwiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidyb3V0ZXItbGluaydcIj5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJtbC0xIGJ0bi1mb3JtLXZpZXctaGVhZGVyXCJcclxuICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImFjdGlvbi50b29sdGlwXCJcclxuICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJvdXRlckxpbmtBY3Rpb25DbGljayhhY3Rpb24pXCI+XHJcbiAgICAgICAgICAgIDxpIFtjbGFzc109XCJhY3Rpb24uaWNvblwiPjwvaT5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoRGVmYXVsdD5cclxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwibWwtMSBidG4tZm9ybS12aWV3LWhlYWRlclwiXHJcbiAgICAgICAgICAgICAgICAgIFt0aXRsZV09XCJhY3Rpb24udG9vbHRpcFwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJlbWl0QWN0aW9uQ2xpY2soYWN0aW9uKVwiPlxyXG4gICAgICAgICAgICA8aSBbY2xhc3NdPVwiYWN0aW9uLmljb25cIj48L2k+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiZm9ybS1jb250ZW50LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7J2Zvcm0tY29udGVudC1jb250YWluZXItaW5uZXInOiBhY3Rpb25zfVwiPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8bGliLXNpZGUtcGFuZSAjZm9ybVBhbmUgKG9uQ29tcGxldGUpPVwib25TaWRlUGFuZURlYWN0aXZhdGVkKCRldmVudClcIj5cclxuICAgIDxyb3V0ZXItb3V0bGV0IG5hbWU9XCJmb3JtUmlnaHRQYW5lXCJcclxuICAgICAgICAgICAgICAgICAgIChhY3RpdmF0ZSk9XCJmb3JtUGFuZS5vblNpZGVQYW5lQWN0aXZhdGVkKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgKGRlYWN0aXZhdGUpPVwiZm9ybVBhbmUub25TaWRlUGFuZURlYWN0aXZhdGVkKCRldmVudClcIj48L3JvdXRlci1vdXRsZXQ+XHJcbiAgPC9saWItc2lkZS1wYW5lPlxyXG48L2Rpdj5cclxuIl19
@@ -1,103 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { MenuOption } from '../../../types';
3
- import { NavigationEnd } from '@angular/router';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- import * as i2 from "@angular/router";
7
- import * as i3 from "../../../controls/drop-down-menu/drop-down-menu.component";
8
- import * as i4 from "../view-layout/view-layout.component";
9
- export class ModelViewLayoutComponent {
10
- get tabsOptions() {
11
- if (!this.optionsLoaded) {
12
- this.optionsLoaded = true;
13
- if (this.primary) {
14
- this.primary.forEach(p => {
15
- this._options.push(new MenuOption(p.text, p.link, undefined, undefined, p.icon));
16
- });
17
- }
18
- if (this.secondary) {
19
- this.secondary.forEach(p => {
20
- this._options.push(new MenuOption(p.text, p.link, undefined, undefined, p.icon));
21
- });
22
- }
23
- if (this._options && this._options.length > 0) {
24
- this.selectedTab = this._options[0].value;
25
- }
26
- }
27
- return this._options;
28
- }
29
- constructor(location, router, route) {
30
- this.location = location;
31
- this.router = router;
32
- this.route = route;
33
- this.showRightPaneSM = false;
34
- this.title = 'no title';
35
- // tslint:disable-next-line:no-input-rename
36
- this.primary = null;
37
- // tslint:disable-next-line:no-input-rename
38
- this.secondary = null;
39
- // tslint:disable-next-line:no-input-rename
40
- this.metaItems = [
41
- // { key: 'test', icon: Icons.Badges, text: 'βρέθηκαν 200 αποτελέσματα' }
42
- ];
43
- this.icon = null;
44
- this.busy = false;
45
- this.actions = null;
46
- this.optionsLoaded = false;
47
- this._options = [];
48
- }
49
- ngOnInit() {
50
- this.selectedTabSub$ = this.router.events.subscribe(event => {
51
- if (event instanceof NavigationEnd) {
52
- if (event.urlAfterRedirects) {
53
- var urlParts = event.urlAfterRedirects.split('/');
54
- if (urlParts && urlParts.length > 0) {
55
- const lastPart = urlParts[urlParts.length - 1];
56
- this.selectedTab = lastPart.split('?')[0];
57
- }
58
- }
59
- }
60
- });
61
- }
62
- ngOnDestroy() {
63
- if (this.selectedTabSub$) {
64
- this.selectedTabSub$.unsubscribe();
65
- }
66
- }
67
- onSidePaneActivated($event) {
68
- this.showRightPaneSM = true;
69
- }
70
- onSidePaneDeactivated($event) {
71
- this.showRightPaneSM = false;
72
- }
73
- closeSidePane() {
74
- this.location.back();
75
- }
76
- navigateLink(link) {
77
- this.router.navigate([link], { relativeTo: this.route });
78
- }
79
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModelViewLayoutComponent, deps: [{ token: i1.Location }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
80
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ModelViewLayoutComponent, selector: "lib-model-view-layout", inputs: { title: "title", primary: ["primary-links", "primary"], secondary: ["secondary-links", "secondary"], metaItems: ["meta-items", "metaItems"], icon: "icon", busy: "busy", actions: "actions" }, ngImport: i0, template: "<lib-view-layout [title]=\"title || ' '\" [meta-items]=\"metaItems\" [actions]=\"actions\" [icon]=\"icon\" [busy]=\"busy\">\r\n <main class=\"model-view-container\">\r\n <div class=\"model-view-container-inner\">\r\n <aside class=\"model-view-aside\">\r\n <section aria-labelledby=\"menu\" class=\"details-view-aside-header-section\">\r\n <div class=\"model-view-aside-header-container\">\r\n <div class=\"model-view-aside-header-container-inner\">\r\n <ng-content *ngIf=\"!busy\"></ng-content>\r\n\r\n <ng-container *ngIf=\"busy\">\r\n <div class=\"flex items-center p-5\">\r\n <div class=\"w-12 h-14 mr-4 rounded-lg bg-gray-200 animate-pulse\"></div>\r\n <div>\r\n <div class=\"h-6 w-48 bg-gray-200 rounded-lg animate-pulse\"></div>\r\n <div class=\"mt-1 h-4 w-40 bg-gray-200 rounded-lg animate-pulse\"></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- menu items -->\r\n <div class=\"model-view-menu-container-mobile\">\r\n <lib-drop-down-menu [options]=\"tabsOptions\" [selected]=\"selectedTab\" (selectedChange)=\"navigateLink($event)\"></lib-drop-down-menu>\r\n </div>\r\n <div class=\"model-view-menu-container\">\r\n <nav class=\"model-view-menu-nav\">\r\n <div class=\"model-view-menu-item\">\r\n <ng-container *ngFor=\"let section of primary\">\r\n <div class=\"h-3\" *ngIf=\"section.type === 'separator'\">\r\n \r\n </div>\r\n <a *ngIf=\"section.type !== 'separator'\"\r\n href=\"#\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLink]=\"section.link\"\r\n [routerLinkActiveOptions]=\"{ exact: false }\"\r\n class=\"view-nav-link\">\r\n <i *ngIf=\"section.icon\" [class]=\"section.icon + ' mr-2'\"></i>\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"model-view-menu-item-far\">\r\n <ng-container *ngFor=\"let section of secondary\">\r\n <div class=\"h-3\" *ngIf=\"section.type === 'separator'\"></div>\r\n <a *ngIf=\"section.type !== 'separator'\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLink]=\"section.link\"\r\n [routerLinkActiveOptions]=\"{ exact: false }\"\r\n class=\"view-nav-link\">\r\n <i *ngIf=\"section.icon\" [class]=\"section.icon + ' mr-2'\"></i>\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </nav>\r\n </div>\r\n </div>\r\n </section>\r\n </aside>\r\n <div class=\"model-view-details-container\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </main>\r\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i2.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "component", type: i3.DropDownMenuComponent, selector: "lib-drop-down-menu", inputs: ["options", "selected", "multiple", "placeholder", "show-icons"], outputs: ["selectedChange", "selectedChanged"] }, { kind: "component", type: i4.ViewLayoutComponent, selector: "lib-view-layout", inputs: ["show-header", "fluid", "title", "icon", "actions", "busy", "search-placeholder", "view", "meta-items"], outputs: ["onAction", "onSearch"] }] }); }
81
- }
82
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ModelViewLayoutComponent, decorators: [{
83
- type: Component,
84
- args: [{ selector: 'lib-model-view-layout', template: "<lib-view-layout [title]=\"title || ' '\" [meta-items]=\"metaItems\" [actions]=\"actions\" [icon]=\"icon\" [busy]=\"busy\">\r\n <main class=\"model-view-container\">\r\n <div class=\"model-view-container-inner\">\r\n <aside class=\"model-view-aside\">\r\n <section aria-labelledby=\"menu\" class=\"details-view-aside-header-section\">\r\n <div class=\"model-view-aside-header-container\">\r\n <div class=\"model-view-aside-header-container-inner\">\r\n <ng-content *ngIf=\"!busy\"></ng-content>\r\n\r\n <ng-container *ngIf=\"busy\">\r\n <div class=\"flex items-center p-5\">\r\n <div class=\"w-12 h-14 mr-4 rounded-lg bg-gray-200 animate-pulse\"></div>\r\n <div>\r\n <div class=\"h-6 w-48 bg-gray-200 rounded-lg animate-pulse\"></div>\r\n <div class=\"mt-1 h-4 w-40 bg-gray-200 rounded-lg animate-pulse\"></div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- menu items -->\r\n <div class=\"model-view-menu-container-mobile\">\r\n <lib-drop-down-menu [options]=\"tabsOptions\" [selected]=\"selectedTab\" (selectedChange)=\"navigateLink($event)\"></lib-drop-down-menu>\r\n </div>\r\n <div class=\"model-view-menu-container\">\r\n <nav class=\"model-view-menu-nav\">\r\n <div class=\"model-view-menu-item\">\r\n <ng-container *ngFor=\"let section of primary\">\r\n <div class=\"h-3\" *ngIf=\"section.type === 'separator'\">\r\n \r\n </div>\r\n <a *ngIf=\"section.type !== 'separator'\"\r\n href=\"#\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLink]=\"section.link\"\r\n [routerLinkActiveOptions]=\"{ exact: false }\"\r\n class=\"view-nav-link\">\r\n <i *ngIf=\"section.icon\" [class]=\"section.icon + ' mr-2'\"></i>\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n <div class=\"model-view-menu-item-far\">\r\n <ng-container *ngFor=\"let section of secondary\">\r\n <div class=\"h-3\" *ngIf=\"section.type === 'separator'\"></div>\r\n <a *ngIf=\"section.type !== 'separator'\"\r\n [routerLinkActive]=\"['view-nav-link-active']\"\r\n [routerLink]=\"section.link\"\r\n [routerLinkActiveOptions]=\"{ exact: false }\"\r\n class=\"view-nav-link\">\r\n <i *ngIf=\"section.icon\" [class]=\"section.icon + ' mr-2'\"></i>\r\n {{section.text}}\r\n </a>\r\n </ng-container>\r\n </div>\r\n </nav>\r\n </div>\r\n </div>\r\n </section>\r\n </aside>\r\n <div class=\"model-view-details-container\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n </div>\r\n </main>\r\n" }]
85
- }], ctorParameters: () => [{ type: i1.Location }, { type: i2.Router }, { type: i2.ActivatedRoute }], propDecorators: { title: [{
86
- type: Input
87
- }], primary: [{
88
- type: Input,
89
- args: ['primary-links']
90
- }], secondary: [{
91
- type: Input,
92
- args: ['secondary-links']
93
- }], metaItems: [{
94
- type: Input,
95
- args: ['meta-items']
96
- }], icon: [{
97
- type: Input
98
- }], busy: [{
99
- type: Input
100
- }], actions: [{
101
- type: Input
102
- }] } });
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtdmlldy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3MvbW9kZWwtdmlldy1sYXlvdXQvbW9kZWwtdmlldy1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3MvbW9kZWwtdmlldy1sYXlvdXQvbW9kZWwtdmlldy1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRXBFLE9BQU8sRUFBa0IsVUFBVSxFQUFjLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEUsT0FBTyxFQUFrQixhQUFhLEVBQTJCLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQVF6RixNQUFNLE9BQU8sd0JBQXdCO0lBa0JuQyxJQUFXLFdBQVc7UUFDcEIsSUFBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztZQUMxQixJQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNuRixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFFRCxJQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7b0JBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNuRixDQUFDLENBQUMsQ0FBQztZQUNMLENBQUM7WUFFRCxJQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDNUMsQ0FBQztRQUNILENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUNELFlBQXFCLFFBQWtCLEVBQVUsTUFBYyxFQUFVLEtBQXFCO1FBQXpFLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVUsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUF0Q3ZGLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLFVBQUssR0FBRyxVQUFVLENBQUM7UUFDNUIsMkNBQTJDO1FBQ25CLFlBQU8sR0FBNEYsSUFBSSxDQUFDO1FBQ2hJLDJDQUEyQztRQUNqQixjQUFTLEdBQTRGLElBQUksQ0FBQztRQUNwSSwyQ0FBMkM7UUFDdEIsY0FBUyxHQUE0QjtRQUN4RCx5RUFBeUU7U0FDMUUsQ0FBQztRQUNPLFNBQUksR0FBa0IsSUFBSSxDQUFDO1FBQzNCLFNBQUksR0FBRyxLQUFLLENBQUM7UUFDYixZQUFPLEdBQXdCLElBQUksQ0FBQztRQUNyQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixhQUFRLEdBQWlCLEVBQUUsQ0FBQztJQXdCOEQsQ0FBQztJQUVuRyxRQUFRO1FBQ04sSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDMUQsSUFBRyxLQUFLLFlBQVksYUFBYSxFQUFHLENBQUM7Z0JBQ25DLElBQUcsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBQzNCLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2xELElBQUcsUUFBUSxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7d0JBQ25DLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUM3QyxJQUFJLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzVDLENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQyxDQUFDO0lBQ0gsQ0FBQztJQUdNLG1CQUFtQixDQUFDLE1BQVc7UUFDcEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVNLHFCQUFxQixDQUFDLE1BQVc7UUFDdEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDL0IsQ0FBQztJQUVNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDOzhHQTVFVSx3QkFBd0I7a0dBQXhCLHdCQUF3QixxUUNYckMsdXZHQWlFQTs7MkZEdERhLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFFRSx1QkFBdUI7K0hBS3hCLEtBQUs7c0JBQWIsS0FBSztnQkFFa0IsT0FBTztzQkFBOUIsS0FBSzt1QkFBQyxlQUFlO2dCQUVJLFNBQVM7c0JBQWxDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUVILFNBQVM7c0JBQTdCLEtBQUs7dUJBQUMsWUFBWTtnQkFHVixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSGVhZGVyTWV0YUl0ZW0sIE1lbnVPcHRpb24sIFZpZXdBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBOYXZpZ2F0aW9uRW5kLCBOYXZpZ2F0aW9uU3RhcnQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxyXG4gIHNlbGVjdG9yOiAnbGliLW1vZGVsLXZpZXctbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtdmlldy1sYXlvdXQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNb2RlbFZpZXdMYXlvdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgcHVibGljIHNob3dSaWdodFBhbmVTTSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJ25vIHRpdGxlJztcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdwcmltYXJ5LWxpbmtzJykgcHJpbWFyeTogeyB0eXBlPzogc3RyaW5nLCB0ZXh0OiBzdHJpbmcsIGxpbms6IHN0cmluZywgaWNvbj86IHN0cmluZywgZXhhY3Q/IDogYm9vbGVhbiB9W10gfCBudWxsID0gbnVsbDtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdzZWNvbmRhcnktbGlua3MnKSBzZWNvbmRhcnk6IHsgdHlwZT86IHN0cmluZywgdGV4dDogc3RyaW5nLCBsaW5rOiBzdHJpbmcsIGljb24/OiBzdHJpbmcsIGV4YWN0PyA6IGJvb2xlYW4gfVtdIHwgbnVsbCA9IG51bGw7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnbWV0YS1pdGVtcycpIG1ldGFJdGVtczogSGVhZGVyTWV0YUl0ZW1bXSB8IG51bGwgPSBbXHJcbiAgICAvLyB7IGtleTogJ3Rlc3QnLCBpY29uOiBJY29ucy5CYWRnZXMsIHRleHQ6ICfOss+Bzq3OuM63zrrOsc69IDIwMCDOsc+Azr/PhM61zrvOrc+DzrzOsc+EzrEnIH1cclxuICBdO1xyXG4gIEBJbnB1dCgpIGljb246IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIGJ1c3kgPSBmYWxzZTtcclxuICBASW5wdXQoKSBhY3Rpb25zOiBWaWV3QWN0aW9uW10gfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIG9wdGlvbnNMb2FkZWQgPSBmYWxzZTtcclxuICBwcml2YXRlIF9vcHRpb25zOiBNZW51T3B0aW9uW10gPSBbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRUYWI6IGFueTtcclxuICBwcml2YXRlIHNlbGVjdGVkVGFiU3ViJDogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xyXG4gIHB1YmxpYyBnZXQgdGFic09wdGlvbnMoKTogTWVudU9wdGlvbltdIHtcclxuICAgIGlmKCF0aGlzLm9wdGlvbnNMb2FkZWQpIHtcclxuICAgICAgdGhpcy5vcHRpb25zTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgaWYodGhpcy5wcmltYXJ5KSB7XHJcbiAgICAgICAgdGhpcy5wcmltYXJ5LmZvckVhY2gocCA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9vcHRpb25zLnB1c2gobmV3IE1lbnVPcHRpb24ocC50ZXh0LCBwLmxpbmssIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBwLmljb24pKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYodGhpcy5zZWNvbmRhcnkpIHtcclxuICAgICAgICB0aGlzLnNlY29uZGFyeS5mb3JFYWNoKHAgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fb3B0aW9ucy5wdXNoKG5ldyBNZW51T3B0aW9uKHAudGV4dCwgcC5saW5rLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgcC5pY29uKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgXHJcbiAgICAgIGlmKHRoaXMuX29wdGlvbnMgJiYgdGhpcy5fb3B0aW9ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFRhYiA9IHRoaXMuX29wdGlvbnNbMF0udmFsdWU7IFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9ucztcclxuICB9XHJcbiAgY29uc3RydWN0b3IoIHByaXZhdGUgbG9jYXRpb246IExvY2F0aW9uLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkgeyB9XHJcbiAgXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGFiU3ViJCA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICBpZihldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgKSB7XHJcbiAgICAgICAgaWYoZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpIHtcclxuICAgICAgICAgIHZhciB1cmxQYXJ0cyA9IGV2ZW50LnVybEFmdGVyUmVkaXJlY3RzLnNwbGl0KCcvJyk7XHJcbiAgICAgICAgICBpZih1cmxQYXJ0cyAmJiB1cmxQYXJ0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxhc3RQYXJ0ID0gdXJsUGFydHNbdXJsUGFydHMubGVuZ3RoLTFdO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFiID0gbGFzdFBhcnQuc3BsaXQoJz8nKVswXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLnNlbGVjdGVkVGFiU3ViJCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFiU3ViJC51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBvblNpZGVQYW5lQWN0aXZhdGVkKCRldmVudDogYW55KTogdm9pZCAge1xyXG4gICAgdGhpcy5zaG93UmlnaHRQYW5lU00gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uU2lkZVBhbmVEZWFjdGl2YXRlZCgkZXZlbnQ6IGFueSk6IHZvaWQgIHtcclxuICAgIHRoaXMuc2hvd1JpZ2h0UGFuZVNNID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VTaWRlUGFuZSgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG5hdmlnYXRlTGluayhsaW5rOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtsaW5rXSwge3JlbGF0aXZlVG86IHRoaXMucm91dGV9KTtcclxuICB9XHJcbn1cclxuIiwiPGxpYi12aWV3LWxheW91dCBbdGl0bGVdPVwidGl0bGUgfHwgJyAnXCIgW21ldGEtaXRlbXNdPVwibWV0YUl0ZW1zXCIgW2FjdGlvbnNdPVwiYWN0aW9uc1wiIFtpY29uXT1cImljb25cIiBbYnVzeV09XCJidXN5XCI+XHJcbiAgPG1haW4gY2xhc3M9XCJtb2RlbC12aWV3LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGVsLXZpZXctY29udGFpbmVyLWlubmVyXCI+XHJcbiAgICAgIDxhc2lkZSBjbGFzcz1cIm1vZGVsLXZpZXctYXNpZGVcIj5cclxuICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJtZW51XCIgY2xhc3M9XCJkZXRhaWxzLXZpZXctYXNpZGUtaGVhZGVyLXNlY3Rpb25cIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RlbC12aWV3LWFzaWRlLWhlYWRlci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGVsLXZpZXctYXNpZGUtaGVhZGVyLWNvbnRhaW5lci1pbm5lclwiPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250ZW50ICpuZ0lmPVwiIWJ1c3lcIj48L25nLWNvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidXN5XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIgcC01XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEyIGgtMTQgbXItNCByb3VuZGVkLWxnIGJnLWdyYXktMjAwIGFuaW1hdGUtcHVsc2VcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC02IHctNDggYmctZ3JheS0yMDAgcm91bmRlZC1sZyBhbmltYXRlLXB1bHNlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm10LTEgaC00IHctNDAgYmctZ3JheS0yMDAgcm91bmRlZC1sZyBhbmltYXRlLXB1bHNlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPCEtLSBtZW51IGl0ZW1zIC0tPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kZWwtdmlldy1tZW51LWNvbnRhaW5lci1tb2JpbGVcIj5cclxuICAgICAgICAgICAgICAgIDxsaWItZHJvcC1kb3duLW1lbnUgW29wdGlvbnNdPVwidGFic09wdGlvbnNcIiBbc2VsZWN0ZWRdPVwic2VsZWN0ZWRUYWJcIiAoc2VsZWN0ZWRDaGFuZ2UpPVwibmF2aWdhdGVMaW5rKCRldmVudClcIj48L2xpYi1kcm9wLWRvd24tbWVudT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RlbC12aWV3LW1lbnUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgPG5hdiBjbGFzcz1cIm1vZGVsLXZpZXctbWVudS1uYXZcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RlbC12aWV3LW1lbnUtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIHByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC0zXCIgKm5nSWY9XCJzZWN0aW9uLnR5cGUgPT09ICdzZXBhcmF0b3InXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YSAqbmdJZj1cInNlY3Rpb24udHlwZSAhPT0gJ3NlcGFyYXRvcidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua0FjdGl2ZV09XCJbJ3ZpZXctbmF2LWxpbmstYWN0aXZlJ11cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rXT1cInNlY3Rpb24ubGlua1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVPcHRpb25zXT1cInsgZXhhY3Q6IGZhbHNlIH1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidmlldy1uYXYtbGlua1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJzZWN0aW9uLmljb25cIiBbY2xhc3NdPVwic2VjdGlvbi5pY29uICsgJyBtci0yJ1wiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7c2VjdGlvbi50ZXh0fX1cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kZWwtdmlldy1tZW51LWl0ZW0tZmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2Ygc2Vjb25kYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImgtM1wiICpuZ0lmPVwic2VjdGlvbi50eXBlID09PSAnc2VwYXJhdG9yJ1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwic2VjdGlvbi50eXBlICE9PSAnc2VwYXJhdG9yJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JvdXRlckxpbmtBY3RpdmVdPVwiWyd2aWV3LW5hdi1saW5rLWFjdGl2ZSddXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcm91dGVyTGlua109XCJzZWN0aW9uLmxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyb3V0ZXJMaW5rQWN0aXZlT3B0aW9uc109XCJ7IGV4YWN0OiBmYWxzZSB9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInZpZXctbmF2LWxpbmtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwic2VjdGlvbi5pY29uXCIgW2NsYXNzXT1cInNlY3Rpb24uaWNvbiArICcgbXItMidcIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7e3NlY3Rpb24udGV4dH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmF2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgPC9hc2lkZT5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGVsLXZpZXctZGV0YWlscy1jb250YWluZXJcIj5cclxuICAgICAgICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9tYWluPlxyXG4iXX0=
@@ -1,106 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/common";
4
- import * as i2 from "@angular/router";
5
- export class SideViewLayoutComponent {
6
- constructor(location, router) {
7
- this.location = location;
8
- this.router = router;
9
- this.title = 'Πληροφορίες';
10
- this.showActions = true;
11
- this.disabled = false;
12
- // tslint:disable-next-line:no-input-rename
13
- this.okLabel = 'Αποθήκευση';
14
- // tslint:disable-next-line:no-input-rename
15
- this.okShow = true;
16
- // tslint:disable-next-line:no-input-rename
17
- this.closeOnOk = true;
18
- // tslint:disable-next-line:no-input-rename
19
- this.cancelLabel = 'Ακύρωση';
20
- // tslint:disable-next-line:no-input-rename
21
- this.cancelShow = true;
22
- // tslint:disable-next-line:no-input-rename
23
- this.forceLocationBack = false;
24
- this.redirectOnClose = true;
25
- // @Output() close = new EventEmitter<any>();
26
- this.cancel = new EventEmitter();
27
- this.ok = new EventEmitter();
28
- }
29
- ngOnInit() {
30
- }
31
- closeSidePane() {
32
- if (this.returnPath) {
33
- this.router.navigateByUrl('/', { skipLocationChange: true }).then(() => this.router.navigateByUrl(this.returnPath || '/'));
34
- }
35
- else {
36
- if ((this.router.url.split('/(')[0] !== this.router.url) && !this.forceLocationBack) {
37
- this.router.navigateByUrl(this.router.url.split('/(')[0]);
38
- }
39
- else if ((this.router.url.split('(')[0] !== this.router.url) && !this.forceLocationBack) {
40
- this.router.navigateByUrl(this.router.url.split('(')[0]);
41
- }
42
- else {
43
- this.location.back();
44
- }
45
- }
46
- }
47
- emitClose() {
48
- this.cancel.emit(false);
49
- if (this.redirectOnClose) {
50
- this.closeSidePane();
51
- }
52
- }
53
- emitCancel() {
54
- this.cancel.emit(false);
55
- if (this.redirectOnClose) {
56
- this.closeSidePane();
57
- }
58
- }
59
- emitOK() {
60
- this.ok.emit(true);
61
- if (this.closeOnOk && this.redirectOnClose) {
62
- this.closeSidePane();
63
- }
64
- }
65
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: SideViewLayoutComponent, deps: [{ token: i1.Location }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
66
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: SideViewLayoutComponent, selector: "lib-side-view-layout", inputs: { title: "title", showActions: "showActions", disabled: "disabled", returnPath: ["return-path", "returnPath"], okLabel: ["ok-label", "okLabel"], okShow: ["ok-show", "okShow"], closeOnOk: ["ok-close-dialog", "closeOnOk"], cancelLabel: ["cancel-label", "cancelLabel"], cancelShow: ["cancel-show", "cancelShow"], forceLocationBack: ["force-location-back", "forceLocationBack"], redirectOnClose: ["redirect-on-close", "redirectOnClose"] }, outputs: { cancel: "cancel", ok: "ok" }, ngImport: i0, template: "<div class=\"side-view-layout-size-box\">\r\n <div class=\"side-view-layout-container\">\r\n <div class=\"side-view-layout-container-inner\">\r\n <div class=\"side-view-layout-header-margins\">\r\n <div class=\"side-view-layout-header-container\">\r\n <h2 class=\"side-view-layout-header-title\" id=\"slide-over-title\">\r\n {{title}}\r\n </h2>\r\n <div class=\"side-view-layout-close-button-container\">\r\n <button (click)=\"emitClose()\" class=\"side-view-layout-close-button\">\r\n <span class=\"sr-only\">Close panel</span>\r\n <!-- Heroicon name: outline/x -->\r\n <svg class=\"side-view-layout-close-button-icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"side-view-layout-content-container\">\r\n <!-- Replace with your content -->\r\n <ng-content></ng-content>\r\n <!-- /End replace -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showActions\" class=\"side-view-layout-actions-container\">\r\n <button *ngIf=\"cancelShow\" (click)=\"emitCancel()\" type=\"button\" class=\"side-view-layout-action-button-cancel\">\r\n {{cancelLabel}}\r\n </button>\r\n <button *ngIf=\"okShow\" (click)=\"emitOK()\" class=\"side-view-layout-action-button-submit\" [disabled]=\"disabled\">\r\n {{okLabel}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
67
- }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: SideViewLayoutComponent, decorators: [{
69
- type: Component,
70
- args: [{ selector: 'lib-side-view-layout', template: "<div class=\"side-view-layout-size-box\">\r\n <div class=\"side-view-layout-container\">\r\n <div class=\"side-view-layout-container-inner\">\r\n <div class=\"side-view-layout-header-margins\">\r\n <div class=\"side-view-layout-header-container\">\r\n <h2 class=\"side-view-layout-header-title\" id=\"slide-over-title\">\r\n {{title}}\r\n </h2>\r\n <div class=\"side-view-layout-close-button-container\">\r\n <button (click)=\"emitClose()\" class=\"side-view-layout-close-button\">\r\n <span class=\"sr-only\">Close panel</span>\r\n <!-- Heroicon name: outline/x -->\r\n <svg class=\"side-view-layout-close-button-icon\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" aria-hidden=\"true\">\r\n <path stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"M6 18L18 6M6 6l12 12\" />\r\n </svg>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"side-view-layout-content-container\">\r\n <!-- Replace with your content -->\r\n <ng-content></ng-content>\r\n <!-- /End replace -->\r\n </div>\r\n </div>\r\n <div *ngIf=\"showActions\" class=\"side-view-layout-actions-container\">\r\n <button *ngIf=\"cancelShow\" (click)=\"emitCancel()\" type=\"button\" class=\"side-view-layout-action-button-cancel\">\r\n {{cancelLabel}}\r\n </button>\r\n <button *ngIf=\"okShow\" (click)=\"emitOK()\" class=\"side-view-layout-action-button-submit\" [disabled]=\"disabled\">\r\n {{okLabel}}\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n" }]
71
- }], ctorParameters: () => [{ type: i1.Location }, { type: i2.Router }], propDecorators: { title: [{
72
- type: Input
73
- }], showActions: [{
74
- type: Input
75
- }], disabled: [{
76
- type: Input
77
- }], returnPath: [{
78
- type: Input,
79
- args: ['return-path']
80
- }], okLabel: [{
81
- type: Input,
82
- args: ['ok-label']
83
- }], okShow: [{
84
- type: Input,
85
- args: ['ok-show']
86
- }], closeOnOk: [{
87
- type: Input,
88
- args: ['ok-close-dialog']
89
- }], cancelLabel: [{
90
- type: Input,
91
- args: ['cancel-label']
92
- }], cancelShow: [{
93
- type: Input,
94
- args: ['cancel-show']
95
- }], forceLocationBack: [{
96
- type: Input,
97
- args: ['force-location-back']
98
- }], redirectOnClose: [{
99
- type: Input,
100
- args: ['redirect-on-close']
101
- }], cancel: [{
102
- type: Output
103
- }], ok: [{
104
- type: Output
105
- }] } });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS12aWV3LWxheW91dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1jb21wb25lbnRzL3NyYy9saWIvbGF5b3V0cy92aWV3cy9zaWRlLXZpZXctbGF5b3V0L3NpZGUtdmlldy1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3Mvc2lkZS12aWV3LWxheW91dC9zaWRlLXZpZXctbGF5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPL0UsTUFBTSxPQUFPLHVCQUF1QjtJQXVCbEMsWUFBb0IsUUFBa0IsRUFBVSxNQUFjO1FBQTFDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBdEJyRCxVQUFLLEdBQWtCLGFBQWEsQ0FBQztRQUNyQyxnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRzFCLDJDQUEyQztRQUN4QixZQUFPLEdBQUcsWUFBWSxDQUFDO1FBQzFDLDJDQUEyQztRQUN6QixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2hDLDJDQUEyQztRQUNqQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQzNDLDJDQUEyQztRQUNwQixnQkFBVyxHQUFHLFNBQVMsQ0FBQztRQUMvQywyQ0FBMkM7UUFDckIsZUFBVSxHQUFHLElBQUksQ0FBQztRQUN4QywyQ0FBMkM7UUFDYixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDbkQsNkNBQTZDO1FBQ25DLFdBQU0sR0FBMEIsSUFBSSxZQUFZLEVBQUUs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O3VCQUFDLHFCQUFxQjtnQkFDQSxlQUFlO3NCQUExQyxLQUFLO3VCQUFDLG1CQUFtQjtnQkFFaEIsTUFBTTtzQkFBZixNQUFNO2dCQUNHLEVBQUU7c0JBQVgsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTG9jYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2lkZS12aWV3LWxheW91dCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGUtdmlldy1sYXlvdXQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTaWRlVmlld0xheW91dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyB8IG51bGwgPSAnzqDOu863z4HOv8+Gzr/Pgc6vzrXPgic7XHJcbiAgQElucHV0KCkgc2hvd0FjdGlvbnMgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgncmV0dXJuLXBhdGgnKSByZXR1cm5QYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnb2stbGFiZWwnKSBva0xhYmVsID0gJ86Rz4DOv864zq7Ous61z4XPg863JztcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdvay1zaG93Jykgb2tTaG93ID0gdHJ1ZTtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdvay1jbG9zZS1kaWFsb2cnKSBjbG9zZU9uT2sgPSB0cnVlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ2NhbmNlbC1sYWJlbCcpIGNhbmNlbExhYmVsID0gJ86RzrrPjc+Bz4nPg863JztcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdjYW5jZWwtc2hvdycpIGNhbmNlbFNob3cgPSB0cnVlO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ2ZvcmNlLWxvY2F0aW9uLWJhY2snKSBmb3JjZUxvY2F0aW9uQmFjayA9IGZhbHNlO1xyXG4gIEBJbnB1dCgncmVkaXJlY3Qtb24tY2xvc2UnKSByZWRpcmVjdE9uQ2xvc2UgPSB0cnVlO1xyXG4gIC8vIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjYW5jZWw6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgb2s6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2NhdGlvbjogTG9jYXRpb24sIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVNpZGVQYW5lKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmV0dXJuUGF0aCkge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKCcvJywgeyBza2lwTG9jYXRpb25DaGFuZ2U6IHRydWUgfSkudGhlbigoKSA9PiB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMucmV0dXJuUGF0aCB8fCAnLycpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICgodGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcvKCcpWzBdICE9PSB0aGlzLnJvdXRlci51cmwpICYmICF0aGlzLmZvcmNlTG9jYXRpb25CYWNrKSB7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh0aGlzLnJvdXRlci51cmwuc3BsaXQoJy8oJylbMF0pO1xyXG4gICAgICB9IGVsc2UgaWYgKCh0aGlzLnJvdXRlci51cmwuc3BsaXQoJygnKVswXSAhPT0gdGhpcy5yb3V0ZXIudXJsKSAmJiAhdGhpcy5mb3JjZUxvY2F0aW9uQmFjaykge1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5yb3V0ZXIudXJsLnNwbGl0KCcoJylbMF0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZW1pdENsb3NlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5jZWwuZW1pdChmYWxzZSk7XHJcbiAgICBpZih0aGlzLnJlZGlyZWN0T25DbG9zZSkge1xyXG4gICAgICB0aGlzLmNsb3NlU2lkZVBhbmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWl0Q2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5jYW5jZWwuZW1pdChmYWxzZSk7XHJcbiAgICBpZih0aGlzLnJlZGlyZWN0T25DbG9zZSkge1xyXG4gICAgICB0aGlzLmNsb3NlU2lkZVBhbmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBlbWl0T0soKTogdm9pZCB7XHJcbiAgICB0aGlzLm9rLmVtaXQodHJ1ZSk7XHJcbiAgICBpZiAodGhpcy5jbG9zZU9uT2sgJiYgdGhpcy5yZWRpcmVjdE9uQ2xvc2UpIHtcclxuICAgICAgdGhpcy5jbG9zZVNpZGVQYW5lKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2lkZS12aWV3LWxheW91dC1zaXplLWJveFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlLXZpZXctbGF5b3V0LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInNpZGUtdmlldy1sYXlvdXQtY29udGFpbmVyLWlubmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaWRlLXZpZXctbGF5b3V0LWhlYWRlci1tYXJnaW5zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtdmlldy1sYXlvdXQtaGVhZGVyLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgPGgyIGNsYXNzPVwic2lkZS12aWV3LWxheW91dC1oZWFkZXItdGl0bGVcIiBpZD1cInNsaWRlLW92ZXItdGl0bGVcIj5cclxuICAgICAgICAgICAge3t0aXRsZX19XHJcbiAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInNpZGUtdmlldy1sYXlvdXQtY2xvc2UtYnV0dG9uLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJlbWl0Q2xvc2UoKVwiIGNsYXNzPVwic2lkZS12aWV3LWxheW91dC1jbG9zZS1idXR0b25cIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIj5DbG9zZSBwYW5lbDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8IS0tIEhlcm9pY29uIG5hbWU6IG91dGxpbmUveCAtLT5cclxuICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwic2lkZS12aWV3LWxheW91dC1jbG9zZS1idXR0b24taWNvblwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwibm9uZVwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIHN0cm9rZS13aWR0aD1cIjJcIiBkPVwiTTYgMThMMTggNk02IDZsMTIgMTJcIiAvPlxyXG4gICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpZGUtdmlldy1sYXlvdXQtY29udGVudC1jb250YWluZXJcIj5cclxuICAgICAgICA8IS0tIFJlcGxhY2Ugd2l0aCB5b3VyIGNvbnRlbnQgLS0+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDwhLS0gL0VuZCByZXBsYWNlIC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dBY3Rpb25zXCIgY2xhc3M9XCJzaWRlLXZpZXctbGF5b3V0LWFjdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCJjYW5jZWxTaG93XCIgKGNsaWNrKT1cImVtaXRDYW5jZWwoKVwiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInNpZGUtdmlldy1sYXlvdXQtYWN0aW9uLWJ1dHRvbi1jYW5jZWxcIj5cclxuICAgICAgICB7e2NhbmNlbExhYmVsfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b24gKm5nSWY9XCJva1Nob3dcIiAoY2xpY2spPVwiZW1pdE9LKClcIiBjbGFzcz1cInNpZGUtdmlldy1sYXlvdXQtYWN0aW9uLWJ1dHRvbi1zdWJtaXRcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cclxuICAgICAgICB7e29rTGFiZWx9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiJdfQ==
@@ -1,104 +0,0 @@
1
- import { Component, Input, Output, EventEmitter, ViewChild } from '@angular/core';
2
- import { fromEvent } from 'rxjs';
3
- import { debounceTime, distinctUntilChanged, filter, map } from 'rxjs/operators';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/router";
6
- import * as i2 from "@angular/common";
7
- export class ViewLayoutComponent {
8
- constructor(route$, router$) {
9
- this.route$ = route$;
10
- this.router$ = router$;
11
- // tslint:disable-next-line:no-input-rename
12
- this.header = true;
13
- this.fluid = false;
14
- this.title = 'no title';
15
- this.icon = null;
16
- this.actions = null;
17
- this.busy = false;
18
- // tslint:disable-next-line:no-input-rename
19
- this.searchPlaceholder = 'αναζήτηση';
20
- this.view = null;
21
- // tslint:disable-next-line:no-input-rename
22
- this.metaItems = [];
23
- // tslint:disable-next-line:no-output-on-prefix
24
- this.onAction = new EventEmitter();
25
- // tslint:disable-next-line:no-output-on-prefix
26
- this.onSearch = new EventEmitter();
27
- }
28
- ngOnInit() {
29
- if (this.searchInput$?.nativeElement) {
30
- fromEvent(this.searchInput$.nativeElement, 'keyup').pipe(map((event) => {
31
- return event.target.value; // Get input value.
32
- }), filter(inputValue => inputValue.length >= 3 || inputValue.length === 0),
33
- // If character length greater than minimumSearchCharacters setting.
34
- debounceTime(1000), // Time in milliseconds between key events.
35
- distinctUntilChanged() // If previous query is different from current.
36
- ).subscribe();
37
- }
38
- }
39
- emitActionClick(action) {
40
- this.onAction.emit(action);
41
- }
42
- routerLinkActionClick(action) {
43
- // console.log('routerLinkActionClick', action);
44
- if (action.outlet) {
45
- this.router$.navigate(['', { outlets: { rightpane: action.link } }]);
46
- }
47
- else {
48
- this.router$.navigate([action.link]);
49
- }
50
- }
51
- searchActionClick(action, text) {
52
- this.onSearch.emit(text);
53
- }
54
- searchActionType(text) {
55
- this.onSearch.emit(this.searchInput$?.nativeElement.value);
56
- }
57
- handleClear(event) {
58
- console.log('handle clear!!!');
59
- event.stopPropagation();
60
- this.onSearch.emit(event.target?.value);
61
- }
62
- switchViewActionClick(action) {
63
- // console.log('switchViewActionClick', action);
64
- this.view = action.param;
65
- if (action && action.param) {
66
- this.router$.navigate([], { queryParams: { view: action.param }, queryParamsHandling: 'merge', skipLocationChange: false });
67
- }
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ViewLayoutComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.6", type: ViewLayoutComponent, selector: "lib-view-layout", inputs: { header: ["show-header", "header"], fluid: "fluid", title: "title", icon: "icon", actions: "actions", busy: "busy", searchPlaceholder: ["search-placeholder", "searchPlaceholder"], view: "view", metaItems: ["meta-items", "metaItems"] }, outputs: { onAction: "onAction", onSearch: "onSearch" }, viewQueries: [{ propertyName: "searchInput$", first: true, predicate: ["search"], descendants: true }], ngImport: i0, template: "<header *ngIf=\"header\" class=\"view-layout-paddings\">\r\n <div class=\"view-layout-title-container\">\r\n <div class=\"view-layout-title-container-inner\">\r\n \r\n <div class=\"flex items-center\">\r\n <i *ngIf=\"icon\" [class]=\"icon + ' title-icon'\" aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">{{title || ' '}}</h1>\r\n </div>\r\n \r\n <div *ngIf=\"metaItems && metaItems.length > 0\" class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-item-container\">\r\n <i *ngIf=\"meta.icon\" [class]=\"meta.icon + ' meta-icon'\" aria-hidden=\"true\"></i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"view-layout-title-container-far\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container mr-1\">\r\n <input id=\"text\"\r\n #search\r\n title=\"search\"\r\n class=\"search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\"\r\n (onsearch)=\"handleClear($event)\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"search-button\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\" type=\"button\" href=\"#\" class=\"p-2 disabled:opacity-75 btn-view-header\" (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i><span *ngIf=\"view === action.param\" class=\"selected-view-indicator\"></span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\" href=\"#\" class=\"p-2 btn-view-header\" [title]=\"action.tooltip\" (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\" [ngClass]=\"{'pr-1': action.text}\"></i>\r\n {{ action.text }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\" class=\"p-2 btn-view-header\" [title]=\"action.tooltip\" (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\" [ngClass]=\"{'pr-1': action.text}\"></i>\r\n {{ action.text }}\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgSwitchDefault, selector: "[ngSwitchDefault]" }] }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.6", ngImport: i0, type: ViewLayoutComponent, decorators: [{
73
- type: Component,
74
- args: [{ selector: 'lib-view-layout', template: "<header *ngIf=\"header\" class=\"view-layout-paddings\">\r\n <div class=\"view-layout-title-container\">\r\n <div class=\"view-layout-title-container-inner\">\r\n \r\n <div class=\"flex items-center\">\r\n <i *ngIf=\"icon\" [class]=\"icon + ' title-icon'\" aria-hidden=\"true\"></i>\r\n <h1 [class]=\"busy ? 'view-layout-title-busy' : 'view-layout-title'\">{{title || ' '}}</h1>\r\n </div>\r\n \r\n <div *ngIf=\"metaItems && metaItems.length > 0\" class=\"meta-container\">\r\n <ng-container *ngFor=\"let meta of metaItems\">\r\n <div class=\"meta-item-container\">\r\n <i *ngIf=\"meta.icon\" [class]=\"meta.icon + ' meta-icon'\" aria-hidden=\"true\"></i>\r\n <span class=\"meta-text\">{{meta.text}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n </div>\r\n <div class=\"view-layout-title-container-far\">\r\n <ng-container *ngFor=\"let action of actions\" [ngSwitch]=\"action.type\">\r\n\r\n <ng-container *ngSwitchCase=\"'search'\">\r\n <label for=\"search\" class=\"sr-only\">Search</label>\r\n <div class=\"search-container mr-1\">\r\n <input id=\"text\"\r\n #search\r\n title=\"search\"\r\n class=\"search-input\"\r\n [placeholder]=\"searchPlaceholder\"\r\n name=\"search\"\r\n (input)=\"searchActionType(search.value)\"\r\n (onsearch)=\"handleClear($event)\">\r\n <button type=\"button\"\r\n href=\"#\"\r\n class=\"search-button\"\r\n [title]=\"action.tooltip\"\r\n (click)=\"searchActionClick(action, search.value)\">\r\n <i [class]=\"action.icon\"></i>\r\n </button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'switch-view'\">\r\n <button [disabled]=\"view === action.param\" type=\"button\" href=\"#\" class=\"p-2 disabled:opacity-75 btn-view-header\" (click)=\"switchViewActionClick(action)\">\r\n <span class=\"inline-block relative\">\r\n <i [class]=\"action.icon\"></i><span *ngIf=\"view === action.param\" class=\"selected-view-indicator\"></span>\r\n </span>\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchCase=\"'router-link'\">\r\n <button type=\"button\" href=\"#\" class=\"p-2 btn-view-header\" [title]=\"action.tooltip\" (click)=\"routerLinkActionClick(action)\">\r\n <i [class]=\"action.icon\" [ngClass]=\"{'pr-1': action.text}\"></i>\r\n {{ action.text }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngSwitchDefault>\r\n <button type=\"button\" class=\"p-2 btn-view-header\" [title]=\"action.tooltip\" (click)=\"emitActionClick(action)\">\r\n <i [class]=\"action.icon\" [ngClass]=\"{'pr-1': action.text}\"></i>\r\n {{ action.text }}\r\n </button>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</header>\r\n<div [class]=\"fluid ? 'view-container-fluid' : 'view-container'\">\r\n <ng-content></ng-content>\r\n</div>" }]
75
- }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }], propDecorators: { searchInput$: [{
76
- type: ViewChild,
77
- args: ['search']
78
- }], header: [{
79
- type: Input,
80
- args: ['show-header']
81
- }], fluid: [{
82
- type: Input
83
- }], title: [{
84
- type: Input
85
- }], icon: [{
86
- type: Input
87
- }], actions: [{
88
- type: Input
89
- }], busy: [{
90
- type: Input
91
- }], searchPlaceholder: [{
92
- type: Input,
93
- args: ['search-placeholder']
94
- }], view: [{
95
- type: Input
96
- }], metaItems: [{
97
- type: Input,
98
- args: ['meta-items']
99
- }], onAction: [{
100
- type: Output
101
- }], onSearch: [{
102
- type: Output
103
- }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy1sYXlvdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3Mvdmlldy1sYXlvdXQvdmlldy1sYXlvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctY29tcG9uZW50cy9zcmMvbGliL2xheW91dHMvdmlld3Mvdmlldy1sYXlvdXQvdmlldy1sYXlvdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU9qRixNQUFNLE9BQU8sbUJBQW1CO0lBb0I5QixZQUFvQixNQUFzQixFQUFVLE9BQWU7UUFBL0MsV0FBTSxHQUFOLE1BQU0sQ0FBZ0I7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFRO1FBakJuRSwyQ0FBMkM7UUFDckIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUMzQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsVUFBSyxHQUFHLFVBQVUsQ0FBQztRQUNuQixTQUFJLEdBQWtCLElBQUksQ0FBQztRQUMzQixZQUFPLEdBQXdCLElBQUksQ0FBQztRQUNwQyxTQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLDJDQUEyQztRQUNkLHNCQUFpQixHQUFrQixXQUFXLENBQUM7UUFDbkUsU0FBSSxHQUFrQixJQUFJLENBQUM7UUFDcEMsMkNBQTJDO1FBQ3RCLGNBQVMsR0FBNEIsRUFBRSxDQUFDO1FBQzdELCtD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QUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUV1QixpQkFBaUI7c0JBQTdDLEtBQUs7dUJBQUMsb0JBQW9CO2dCQUNsQixJQUFJO3NCQUFaLEtBQUs7Z0JBRWUsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZO2dCQUVULFFBQVE7c0JBQWpCLE1BQU07Z0JBRUcsUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN3aXRjaFZpZXdBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZnJvbUV2ZW50IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBIZWFkZXJNZXRhSXRlbSwgUm91dGVyVmlld0FjdGlvbiwgVmlld0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZpZXctbGF5b3V0JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlldy1sYXlvdXQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWaWV3TGF5b3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoJykgcHJpdmF0ZSBzZWFyY2hJbnB1dCQ/OiBFbGVtZW50UmVmO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1pbnB1dC1yZW5hbWVcclxuICBASW5wdXQoJ3Nob3ctaGVhZGVyJykgaGVhZGVyID0gdHJ1ZTtcclxuICBASW5wdXQoKSBmbHVpZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRpdGxlID0gJ25vIHRpdGxlJztcclxuICBASW5wdXQoKSBpY29uOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBhY3Rpb25zOiBWaWV3QWN0aW9uW10gfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBidXN5ID0gZmFsc2U7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWlucHV0LXJlbmFtZVxyXG4gIEBJbnB1dCgnc2VhcmNoLXBsYWNlaG9sZGVyJykgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZyB8IG51bGwgPSAnzrHOvc6xzrbOrs+EzrfPg863JztcclxuICBASW5wdXQoKSB2aWV3OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8taW5wdXQtcmVuYW1lXHJcbiAgQElucHV0KCdtZXRhLWl0ZW1zJykgbWV0YUl0ZW1zOiBIZWFkZXJNZXRhSXRlbVtdIHwgbnVsbCA9IFtdO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1vdXRwdXQtb24tcHJlZml4XHJcbiAgQE91dHB1dCgpIG9uQWN0aW9uOiBFdmVudEVtaXR0ZXI8Vmlld0FjdGlvbj4gPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdBY3Rpb24+KCk7XHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLW91dHB1dC1vbi1wcmVmaXhcclxuICBAT3V0cHV0KCkgb25TZWFyY2g6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGUkOiBBY3RpdmF0ZWRSb3V0ZSwgcHJpdmF0ZSByb3V0ZXIkOiBSb3V0ZXIpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNlYXJjaElucHV0JD8ubmF0aXZlRWxlbWVudCl7XHJcbiAgICAgIGZyb21FdmVudCh0aGlzLnNlYXJjaElucHV0JC5uYXRpdmVFbGVtZW50LCAna2V5dXAnKS5waXBlKFxyXG4gICAgICAgIG1hcCgoZXZlbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIGV2ZW50LnRhcmdldC52YWx1ZTsgLy8gR2V0IGlucHV0IHZhbHVlLlxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGZpbHRlcihpbnB1dFZhbHVlID0+IGlucHV0VmFsdWUubGVuZ3RoID49IDMgfHwgaW5wdXRWYWx1ZS5sZW5ndGggPT09IDApLFxyXG4gICAgICAgIC8vIElmIGNoYXJhY3RlciBsZW5ndGggZ3JlYXRlciB0aGFuIG1pbmltdW1TZWFyY2hDaGFyYWN0ZXJzIHNldHRpbmcuXHJcbiAgICAgICAgZGVib3VuY2VUaW1lKDEwMDApLCAvLyBUaW1lIGluIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIGtleSBldmVudHMuXHJcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSAvLyBJZiBwcmV2aW91cyBxdWVyeSBpcyBkaWZmZXJlbnQgZnJvbSBjdXJyZW50LlxyXG4gICAgICApLnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGVtaXRBY3Rpb25DbGljayhhY3Rpb246IFZpZXdBY3Rpb24pOiB2b2lkIHtcclxuICAgIHRoaXMub25BY3Rpb24uZW1pdChhY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJvdXRlckxpbmtBY3Rpb25DbGljayhhY3Rpb246IFJvdXRlclZpZXdBY3Rpb24gfCBhbnkpOiB2b2lkIHtcclxuICAgIC8vIGNvbnNvbGUubG9nKCdyb3V0ZXJMaW5rQWN0aW9uQ2xpY2snLCBhY3Rpb24pO1xyXG4gICAgaWYgKGFjdGlvbi5vdXRsZXQpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIkLm5hdmlnYXRlKFsnJywgeyBvdXRsZXRzOiB7IHJpZ2h0cGFuZTogYWN0aW9uLmxpbmsgfSB9XSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJvdXRlciQubmF2aWdhdGUoW2FjdGlvbi5saW5rXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2hBY3Rpb25DbGljayhhY3Rpb246IFZpZXdBY3Rpb24sIHRleHQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5vblNlYXJjaC5lbWl0KHRleHQpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoQWN0aW9uVHlwZSh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMub25TZWFyY2guZW1pdCh0aGlzLnNlYXJjaElucHV0JD8ubmF0aXZlRWxlbWVudC52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2xlYXIoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc29sZS5sb2coJ2hhbmRsZSBjbGVhciEhIScpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLm9uU2VhcmNoLmVtaXQoZXZlbnQudGFyZ2V0Py52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3dpdGNoVmlld0FjdGlvbkNsaWNrKGFjdGlvbjogU3dpdGNoVmlld0FjdGlvbiB8IGFueSk6IHZvaWQge1xyXG4gICAgLy8gY29uc29sZS5sb2coJ3N3aXRjaFZpZXdBY3Rpb25DbGljaycsIGFjdGlvbik7XHJcbiAgICB0aGlzLnZpZXcgPSBhY3Rpb24ucGFyYW07XHJcbiAgICBpZiAoYWN0aW9uICYmIGFjdGlvbi5wYXJhbSkge1xyXG4gICAgICB0aGlzLnJvdXRlciQubmF2aWdhdGUoW10sIHsgcXVlcnlQYXJhbXM6IHsgdmlldzogYWN0aW9uLnBhcmFtIH0sIHF1ZXJ5UGFyYW1zSGFuZGxpbmc6ICdtZXJnZScsIHNraXBMb2NhdGlvbkNoYW5nZTogZmFsc2UgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxoZWFkZXIgKm5nSWY9XCJoZWFkZXJcIiBjbGFzcz1cInZpZXctbGF5b3V0LXBhZGRpbmdzXCI+XHJcbiAgPGRpdiBjbGFzcz1cInZpZXctbGF5b3V0LXRpdGxlLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZpZXctbGF5b3V0LXRpdGxlLWNvbnRhaW5lci1pbm5lclwiPlxyXG4gICAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgPGkgKm5nSWY9XCJpY29uXCIgW2NsYXNzXT1cImljb24gKyAnIHRpdGxlLWljb24nXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgICAgIDxoMSBbY2xhc3NdPVwiYnVzeSA/ICd2aWV3LWxheW91dC10aXRsZS1idXN5JyA6ICd2aWV3LWxheW91dC10aXRsZSdcIj57e3RpdGxlIHx8ICcgJ319PC9oMT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIFxyXG4gICAgICA8ZGl2ICpuZ0lmPVwibWV0YUl0ZW1zICYmIG1ldGFJdGVtcy5sZW5ndGggPiAwXCIgY2xhc3M9XCJtZXRhLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG1ldGEgb2YgbWV0YUl0ZW1zXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWV0YS1pdGVtLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aSAqbmdJZj1cIm1ldGEuaWNvblwiIFtjbGFzc109XCJtZXRhLmljb24gKyAnIG1ldGEtaWNvbidcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YS10ZXh0XCI+e3ttZXRhLnRleHR9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2aWV3LWxheW91dC10aXRsZS1jb250YWluZXItZmFyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBhY3Rpb25zXCIgW25nU3dpdGNoXT1cImFjdGlvbi50eXBlXCI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidzZWFyY2gnXCI+XHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwic2VhcmNoXCIgY2xhc3M9XCJzci1vbmx5XCI+U2VhcmNoPC9sYWJlbD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyIG1yLTFcIj5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgICAgICAjc2VhcmNoXHJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cInNlYXJjaFwiXHJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNlYXJjaC1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgbmFtZT1cInNlYXJjaFwiXHJcbiAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwic2VhcmNoQWN0aW9uVHlwZShzZWFyY2gudmFsdWUpXCJcclxuICAgICAgICAgICAgICAgICAgIChvbnNlYXJjaCk9XCJoYW5kbGVDbGVhcigkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3RpdGxlXT1cImFjdGlvbi50b29sdGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VhcmNoQWN0aW9uQ2xpY2soYWN0aW9uLCBzZWFyY2gudmFsdWUpXCI+XHJcbiAgICAgICAgICAgICAgPGkgW2NsYXNzXT1cImFjdGlvbi5pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc3dpdGNoLXZpZXcnXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIFtkaXNhYmxlZF09XCJ2aWV3ID09PSBhY3Rpb24ucGFyYW1cIiB0eXBlPVwiYnV0dG9uXCIgaHJlZj1cIiNcIiBjbGFzcz1cInAtMiBkaXNhYmxlZDpvcGFjaXR5LTc1IGJ0bi12aWV3LWhlYWRlclwiIChjbGljayk9XCJzd2l0Y2hWaWV3QWN0aW9uQ2xpY2soYWN0aW9uKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1ibG9jayByZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgIDxpIFtjbGFzc109XCJhY3Rpb24uaWNvblwiPjwvaT48c3BhbiAqbmdJZj1cInZpZXcgPT09IGFjdGlvbi5wYXJhbVwiIGNsYXNzPVwic2VsZWN0ZWQtdmlldy1pbmRpY2F0b3JcIj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncm91dGVyLWxpbmsnXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBocmVmPVwiI1wiIGNsYXNzPVwicC0yIGJ0bi12aWV3LWhlYWRlclwiIFt0aXRsZV09XCJhY3Rpb24udG9vbHRpcFwiIChjbGljayk9XCJyb3V0ZXJMaW5rQWN0aW9uQ2xpY2soYWN0aW9uKVwiPlxyXG4gICAgICAgICAgICA8aSBbY2xhc3NdPVwiYWN0aW9uLmljb25cIiBbbmdDbGFzc109XCJ7J3ByLTEnOiBhY3Rpb24udGV4dH1cIj48L2k+XHJcbiAgICAgICAgICAgIHt7IGFjdGlvbi50ZXh0IH19XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJwLTIgYnRuLXZpZXctaGVhZGVyXCIgW3RpdGxlXT1cImFjdGlvbi50b29sdGlwXCIgKGNsaWNrKT1cImVtaXRBY3Rpb25DbGljayhhY3Rpb24pXCI+XHJcbiAgICAgICAgICAgIDxpIFtjbGFzc109XCJhY3Rpb24uaWNvblwiIFtuZ0NsYXNzXT1cInsncHItMSc6IGFjdGlvbi50ZXh0fVwiPjwvaT5cclxuICAgICAgICAgICAge3sgYWN0aW9uLnRleHQgfX1cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2hlYWRlcj5cclxuPGRpdiBbY2xhc3NdPVwiZmx1aWQgPyAndmlldy1jb250YWluZXItZmx1aWQnIDogJ3ZpZXctY29udGFpbmVyJ1wiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+Il19