@alfresco/aca-shared 5.1.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/esm2022/lib/components/document-base-page/document-base-page.component.mjs +226 -0
  2. package/esm2022/lib/components/generic-error/generic-error.component.mjs +42 -0
  3. package/esm2022/lib/components/info-drawer/info-drawer.component.mjs +141 -0
  4. package/esm2022/lib/components/locked-by/locked-by.component.mjs +57 -0
  5. package/esm2022/lib/components/open-in-app/open-in-app.component.mjs +73 -0
  6. package/esm2022/lib/components/page-layout/page-layout-content.component.mjs +49 -0
  7. package/esm2022/lib/components/page-layout/page-layout-error.component.mjs +43 -0
  8. package/esm2022/lib/components/page-layout/page-layout-header.component.mjs +43 -0
  9. package/esm2022/lib/components/page-layout/page-layout.component.mjs +64 -0
  10. package/esm2022/lib/components/page-layout/page-layout.module.mjs +43 -0
  11. package/esm2022/lib/components/toolbar/toolbar-action/toolbar-action.component.mjs +63 -0
  12. package/esm2022/lib/components/toolbar/toolbar-button/toolbar-button.component.mjs +79 -0
  13. package/esm2022/lib/components/toolbar/toolbar-menu/toolbar-menu.component.mjs +92 -0
  14. package/esm2022/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.mjs +76 -0
  15. package/esm2022/lib/components/toolbar/toolbar.component.mjs +46 -0
  16. package/esm2022/lib/deprecated/shared-toolbar.module.mjs +44 -0
  17. package/esm2022/lib/deprecated/shared.module.mjs +45 -0
  18. package/esm2022/lib/directives/contextmenu/contextmenu.directive.mjs +114 -0
  19. package/esm2022/lib/directives/pagination.directive.mjs +59 -0
  20. package/esm2022/lib/services/aca-mobile-app-switcher.service.mjs +130 -0
  21. package/esm2022/lib/services/app-hook.service.mjs +78 -0
  22. package/esm2022/lib/services/app-settings.service.mjs +157 -0
  23. package/esm2022/lib/services/app.extension.service.mjs +481 -0
  24. package/esm2022/lib/services/app.service.mjs +239 -0
  25. package/esm2022/lib/services/auto-download.service.mjs +59 -0
  26. package/esm2022/lib/services/content-api.service.mjs +281 -0
  27. package/esm2022/lib/services/navigation-history.service.mjs +55 -0
  28. package/esm2022/lib/services/node-permission.service.mjs +88 -0
  29. package/esm2022/lib/services/router.extension.service.mjs +108 -0
  30. package/esm2022/lib/services/user-profile.service.mjs +76 -0
  31. package/esm2022/lib/testing/lib-testing-module.mjs +163 -0
  32. package/esm2022/public-api.mjs +62 -0
  33. package/esm2022/store/actions/app.actions.mjs +116 -0
  34. package/esm2022/store/actions/context-menu-action-types.mjs +29 -0
  35. package/esm2022/store/actions/contextmenu.actions.mjs +41 -0
  36. package/esm2022/store/actions/library.actions.mjs +67 -0
  37. package/esm2022/store/actions/metadata-aspect.actions.mjs +32 -0
  38. package/esm2022/store/actions/node.actions.mjs +217 -0
  39. package/esm2022/store/actions/router.actions.mjs +56 -0
  40. package/esm2022/store/actions/search-ai.actions.mjs +45 -0
  41. package/esm2022/store/actions/search.actions.mjs +41 -0
  42. package/esm2022/store/actions/snackbar.actions.mjs +68 -0
  43. package/esm2022/store/actions/template.actions.mjs +45 -0
  44. package/esm2022/store/actions/upload.actions.mjs +53 -0
  45. package/esm2022/store/actions/viewer.actions.mjs +93 -0
  46. package/esm2022/store/effects/router.effects.mjs +110 -0
  47. package/esm2022/store/effects/snackbar.effects.mjs +80 -0
  48. package/{fesm2020 → fesm2022}/alfresco-aca-shared-store.mjs +219 -142
  49. package/fesm2022/alfresco-aca-shared-store.mjs.map +1 -0
  50. package/{fesm2020 → fesm2022}/alfresco-aca-shared.mjs +466 -301
  51. package/fesm2022/alfresco-aca-shared.mjs.map +1 -0
  52. package/lib/components/document-base-page/document-base-page.component.d.ts +7 -3
  53. package/lib/components/generic-error/generic-error.component.d.ts +1 -1
  54. package/lib/components/info-drawer/info-drawer.component.d.ts +1 -1
  55. package/lib/components/locked-by/locked-by.component.d.ts +1 -1
  56. package/lib/components/page-layout/page-layout-content.component.d.ts +1 -1
  57. package/lib/components/page-layout/page-layout.component.d.ts +1 -1
  58. package/lib/components/toolbar/toolbar-action/toolbar-action.component.d.ts +1 -1
  59. package/lib/components/toolbar/toolbar-button/toolbar-button.component.d.ts +1 -1
  60. package/lib/components/toolbar/toolbar-menu/toolbar-menu.component.d.ts +1 -1
  61. package/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.d.ts +1 -1
  62. package/lib/components/toolbar/toolbar.component.d.ts +1 -1
  63. package/lib/directives/contextmenu/contextmenu.directive.d.ts +3 -1
  64. package/lib/services/app-hook.service.d.ts +6 -6
  65. package/lib/services/app-settings.service.d.ts +12 -0
  66. package/lib/services/app.service.d.ts +1 -1
  67. package/lib/services/navigation-history.service.d.ts +13 -0
  68. package/lib/services/node-permission.service.d.ts +1 -1
  69. package/package.json +15 -25
  70. package/public-api.d.ts +1 -0
  71. package/store/actions/context-menu-action-types.d.ts +2 -1
  72. package/store/actions/contextmenu.actions.d.ts +7 -0
  73. package/store/actions/search-ai.actions.d.ts +2 -1
  74. package/store/effects/router.effects.d.ts +1 -5
  75. package/store/effects/snackbar.effects.d.ts +0 -29
  76. package/esm2020/lib/components/document-base-page/document-base-page.component.mjs +0 -206
  77. package/esm2020/lib/components/generic-error/generic-error.component.mjs +0 -43
  78. package/esm2020/lib/components/info-drawer/info-drawer.component.mjs +0 -132
  79. package/esm2020/lib/components/locked-by/locked-by.component.mjs +0 -54
  80. package/esm2020/lib/components/open-in-app/open-in-app.component.mjs +0 -68
  81. package/esm2020/lib/components/page-layout/page-layout-content.component.mjs +0 -50
  82. package/esm2020/lib/components/page-layout/page-layout-error.component.mjs +0 -42
  83. package/esm2020/lib/components/page-layout/page-layout-header.component.mjs +0 -42
  84. package/esm2020/lib/components/page-layout/page-layout.component.mjs +0 -61
  85. package/esm2020/lib/components/page-layout/page-layout.module.mjs +0 -42
  86. package/esm2020/lib/components/toolbar/toolbar-action/toolbar-action.component.mjs +0 -58
  87. package/esm2020/lib/components/toolbar/toolbar-button/toolbar-button.component.mjs +0 -74
  88. package/esm2020/lib/components/toolbar/toolbar-menu/toolbar-menu.component.mjs +0 -87
  89. package/esm2020/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.mjs +0 -71
  90. package/esm2020/lib/components/toolbar/toolbar.component.mjs +0 -44
  91. package/esm2020/lib/deprecated/shared-toolbar.module.mjs +0 -43
  92. package/esm2020/lib/deprecated/shared.module.mjs +0 -44
  93. package/esm2020/lib/directives/contextmenu/contextmenu.directive.mjs +0 -104
  94. package/esm2020/lib/directives/pagination.directive.mjs +0 -55
  95. package/esm2020/lib/services/aca-mobile-app-switcher.service.mjs +0 -129
  96. package/esm2020/lib/services/app-hook.service.mjs +0 -79
  97. package/esm2020/lib/services/app-settings.service.mjs +0 -140
  98. package/esm2020/lib/services/app.extension.service.mjs +0 -462
  99. package/esm2020/lib/services/app.service.mjs +0 -221
  100. package/esm2020/lib/services/auto-download.service.mjs +0 -60
  101. package/esm2020/lib/services/content-api.service.mjs +0 -268
  102. package/esm2020/lib/services/node-permission.service.mjs +0 -89
  103. package/esm2020/lib/services/router.extension.service.mjs +0 -105
  104. package/esm2020/lib/services/user-profile.service.mjs +0 -77
  105. package/esm2020/lib/testing/lib-testing-module.mjs +0 -161
  106. package/esm2020/public-api.mjs +0 -61
  107. package/esm2020/store/actions/app.actions.mjs +0 -108
  108. package/esm2020/store/actions/context-menu-action-types.mjs +0 -28
  109. package/esm2020/store/actions/contextmenu.actions.mjs +0 -31
  110. package/esm2020/store/actions/library.actions.mjs +0 -63
  111. package/esm2020/store/actions/metadata-aspect.actions.mjs +0 -31
  112. package/esm2020/store/actions/node.actions.mjs +0 -188
  113. package/esm2020/store/actions/router.actions.mjs +0 -54
  114. package/esm2020/store/actions/search-ai.actions.mjs +0 -41
  115. package/esm2020/store/actions/search.actions.mjs +0 -41
  116. package/esm2020/store/actions/snackbar.actions.mjs +0 -57
  117. package/esm2020/store/actions/template.actions.mjs +0 -47
  118. package/esm2020/store/actions/upload.actions.mjs +0 -49
  119. package/esm2020/store/actions/viewer.actions.mjs +0 -81
  120. package/esm2020/store/effects/router.effects.mjs +0 -114
  121. package/esm2020/store/effects/snackbar.effects.mjs +0 -85
  122. package/fesm2015/alfresco-aca-shared-rules.mjs +0 -795
  123. package/fesm2015/alfresco-aca-shared-rules.mjs.map +0 -1
  124. package/fesm2015/alfresco-aca-shared-store.mjs +0 -1278
  125. package/fesm2015/alfresco-aca-shared-store.mjs.map +0 -1
  126. package/fesm2015/alfresco-aca-shared.mjs +0 -3278
  127. package/fesm2015/alfresco-aca-shared.mjs.map +0 -1
  128. package/fesm2020/alfresco-aca-shared-store.mjs.map +0 -1
  129. package/fesm2020/alfresco-aca-shared.mjs.map +0 -1
  130. /package/{esm2020 → esm2022}/alfresco-aca-shared.mjs +0 -0
  131. /package/{esm2020 → esm2022}/lib/adf-extensions/extensions-data-loader.guard.mjs +0 -0
  132. /package/{esm2020 → esm2022}/lib/components/document-base-page/document-base-page.service.mjs +0 -0
  133. /package/{esm2020 → esm2022}/lib/constants/index.mjs +0 -0
  134. /package/{esm2020 → esm2022}/lib/constants/mime-types.mjs +0 -0
  135. /package/{esm2020 → esm2022}/lib/models/types.mjs +0 -0
  136. /package/{esm2020 → esm2022}/lib/models/viewer.rules.mjs +0 -0
  137. /package/{esm2020 → esm2022}/lib/routing/plugin-enabled.guard.mjs +0 -0
  138. /package/{esm2020 → esm2022}/lib/routing/shared.guard.mjs +0 -0
  139. /package/{esm2020 → esm2022}/lib/utils/node.utils.mjs +0 -0
  140. /package/{esm2020 → esm2022}/rules/alfresco-aca-shared-rules.mjs +0 -0
  141. /package/{esm2020 → esm2022}/rules/app.rules.mjs +0 -0
  142. /package/{esm2020 → esm2022}/rules/navigation.rules.mjs +0 -0
  143. /package/{esm2020 → esm2022}/rules/public-api.mjs +0 -0
  144. /package/{esm2020 → esm2022}/rules/repository.rules.mjs +0 -0
  145. /package/{esm2020 → esm2022}/rules/user.rules.mjs +0 -0
  146. /package/{esm2020 → esm2022}/store/actions/app-action-types.mjs +0 -0
  147. /package/{esm2020 → esm2022}/store/actions/router-action-types.mjs +0 -0
  148. /package/{esm2020 → esm2022}/store/actions/template-action-types.mjs +0 -0
  149. /package/{esm2020 → esm2022}/store/alfresco-aca-shared-store.mjs +0 -0
  150. /package/{esm2020 → esm2022}/store/models/ai-search-by-term-payload.mjs +0 -0
  151. /package/{esm2020 → esm2022}/store/models/delete-status.model.mjs +0 -0
  152. /package/{esm2020 → esm2022}/store/models/deleted-node-info.model.mjs +0 -0
  153. /package/{esm2020 → esm2022}/store/models/modal-configuration.mjs +0 -0
  154. /package/{esm2020 → esm2022}/store/models/node-info.model.mjs +0 -0
  155. /package/{esm2020 → esm2022}/store/models/search-option.model.mjs +0 -0
  156. /package/{esm2020 → esm2022}/store/public-api.mjs +0 -0
  157. /package/{esm2020 → esm2022}/store/selectors/app.selectors.mjs +0 -0
  158. /package/{esm2020 → esm2022}/store/states/app.state.mjs +0 -0
  159. /package/{fesm2020 → fesm2022}/alfresco-aca-shared-rules.mjs +0 -0
  160. /package/{fesm2020 → fesm2022}/alfresco-aca-shared-rules.mjs.map +0 -0
@@ -1,71 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';
25
- import { DynamicExtensionComponent } from '@alfresco/adf-extensions';
26
- import { AppExtensionService } from '../../../services/app.extension.service';
27
- import { MatMenuItem, MatMenuModule } from '@angular/material/menu';
28
- import { CommonModule } from '@angular/common';
29
- import { TranslateModule } from '@ngx-translate/core';
30
- import { MatDividerModule } from '@angular/material/divider';
31
- import { IconComponent } from '@alfresco/adf-core';
32
- import * as i0 from "@angular/core";
33
- import * as i1 from "../../../services/app.extension.service";
34
- import * as i2 from "@angular/common";
35
- import * as i3 from "@ngx-translate/core";
36
- import * as i4 from "@angular/material/menu";
37
- import * as i5 from "@angular/material/divider";
38
- export class ToolbarMenuItemComponent {
39
- constructor(extensions) {
40
- this.extensions = extensions;
41
- }
42
- runAction() {
43
- if (this.hasClickAction(this.actionRef)) {
44
- this.extensions.runActionById(this.actionRef.actions.click, this.menuId
45
- ? {
46
- focusedElementOnCloseSelector: `#${this.menuId.replace(/\\/g, '\\\\').replace(/\./g, '\\.')}`
47
- }
48
- : undefined);
49
- }
50
- }
51
- hasClickAction(actionRef) {
52
- return !!actionRef?.actions?.click;
53
- }
54
- trackByActionId(_, obj) {
55
- return obj.id;
56
- }
57
- }
58
- ToolbarMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarMenuItemComponent, deps: [{ token: i1.AppExtensionService }], target: i0.ɵɵFactoryTarget.Component });
59
- ToolbarMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ToolbarMenuItemComponent, isStandalone: true, selector: "app-toolbar-menu-item", inputs: { actionRef: "actionRef", menuId: "menuId" }, host: { classAttribute: "app-toolbar-menu-item" }, viewQueries: [{ propertyName: "menuItem", first: true, predicate: MatMenuItem, descendants: true }], ngImport: i0, template: "<ng-container [ngSwitch]=\"actionRef.type\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <button [id]=\"actionRef.id\" mat-menu-item role=\"menuitem\" tabindex=\"0\" [disabled]=\"actionRef.disabled\" [matMenuTriggerFor]=\"childMenu\">\n <adf-icon [value]=\"actionRef.icon\"></adf-icon>\n <span data-automation-id=\"menu-item-title\">{{ actionRef.title | translate }}</span>\n </button>\n\n <mat-menu #childMenu=\"matMenu\" class=\"app-create-menu__sub-menu\">\n <ng-container *ngFor=\"let child of actionRef.children; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"child\"></app-toolbar-menu-item>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <mat-divider></mat-divider>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'custom'\">\n <adf-dynamic-component [id]=\"actionRef.component\"></adf-dynamic-component>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button\n [id]=\"actionRef.id\"\n role=\"menuitem\"\n mat-menu-item\n [role]=\"'menuitem'\"\n tabindex=\"0\"\n [disabled]=\"actionRef.disabled\"\n [attr.title]=\"(actionRef.disabled ? actionRef['description-disabled'] : actionRef.description || actionRef.title) | translate\"\n (click)=\"runAction()\"\n >\n <adf-icon [value]=\"actionRef.icon\" class=\"app-toolbar-menu-item--icon\"></adf-icon>\n <span data-automation-id=\"menu-item-title\">{{ actionRef.title | translate }}</span>\n </button>\n </ng-container>\n</ng-container>\n", styles: [".app-toolbar-menu-item:last-child>.mat-divider-horizontal{display:none}.app-toolbar-menu-item--icon{display:inline-flex;vertical-align:middle}\n"], dependencies: [{ kind: "component", type: ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { 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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i4.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i4.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i5.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: IconComponent, selector: "adf-icon", inputs: ["color", "fontSet", "value"] }, { kind: "component", type: DynamicExtensionComponent, selector: "adf-dynamic-component", inputs: ["id", "data"] }], encapsulation: i0.ViewEncapsulation.None });
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarMenuItemComponent, decorators: [{
61
- type: Component,
62
- args: [{ standalone: true, imports: [CommonModule, TranslateModule, MatMenuModule, MatDividerModule, IconComponent, DynamicExtensionComponent], selector: 'app-toolbar-menu-item', encapsulation: ViewEncapsulation.None, host: { class: 'app-toolbar-menu-item' }, template: "<ng-container [ngSwitch]=\"actionRef.type\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <button [id]=\"actionRef.id\" mat-menu-item role=\"menuitem\" tabindex=\"0\" [disabled]=\"actionRef.disabled\" [matMenuTriggerFor]=\"childMenu\">\n <adf-icon [value]=\"actionRef.icon\"></adf-icon>\n <span data-automation-id=\"menu-item-title\">{{ actionRef.title | translate }}</span>\n </button>\n\n <mat-menu #childMenu=\"matMenu\" class=\"app-create-menu__sub-menu\">\n <ng-container *ngFor=\"let child of actionRef.children; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"child\"></app-toolbar-menu-item>\n </ng-container>\n </mat-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'separator'\">\n <mat-divider></mat-divider>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'custom'\">\n <adf-dynamic-component [id]=\"actionRef.component\"></adf-dynamic-component>\n </ng-container>\n\n <ng-container *ngSwitchDefault>\n <button\n [id]=\"actionRef.id\"\n role=\"menuitem\"\n mat-menu-item\n [role]=\"'menuitem'\"\n tabindex=\"0\"\n [disabled]=\"actionRef.disabled\"\n [attr.title]=\"(actionRef.disabled ? actionRef['description-disabled'] : actionRef.description || actionRef.title) | translate\"\n (click)=\"runAction()\"\n >\n <adf-icon [value]=\"actionRef.icon\" class=\"app-toolbar-menu-item--icon\"></adf-icon>\n <span data-automation-id=\"menu-item-title\">{{ actionRef.title | translate }}</span>\n </button>\n </ng-container>\n</ng-container>\n", styles: [".app-toolbar-menu-item:last-child>.mat-divider-horizontal{display:none}.app-toolbar-menu-item--icon{display:inline-flex;vertical-align:middle}\n"] }]
63
- }], ctorParameters: function () { return [{ type: i1.AppExtensionService }]; }, propDecorators: { actionRef: [{
64
- type: Input
65
- }], menuId: [{
66
- type: Input
67
- }], menuItem: [{
68
- type: ViewChild,
69
- args: [MatMenuItem]
70
- }] } });
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLW1lbnUtaXRlbS90b29sYmFyLW1lbnUtaXRlbS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2Etc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXItbWVudS1pdGVtL3Rvb2xiYXItbWVudS1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBb0IseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7O0FBV25ELE1BQU0sT0FBTyx3QkFBd0I7SUFTbkMsWUFBb0IsVUFBK0I7UUFBL0IsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7SUFBRyxDQUFDO0lBRXZELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQzVCLElBQUksQ0FBQyxNQUFNO2dCQUNULENBQUMsQ0FBQztvQkFDRSw2QkFBNkIsRUFBRSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFO2lCQUM5RjtnQkFDSCxDQUFDLENBQUMsU0FBUyxDQUNkLENBQUM7U0FDSDtJQUNILENBQUM7SUFFTyxjQUFjLENBQUMsU0FBMkI7UUFDaEQsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUVELGVBQWUsQ0FBQyxDQUFTLEVBQUUsR0FBcUI7UUFDOUMsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDO0lBQ2hCLENBQUM7O3NIQTlCVSx3QkFBd0I7MEdBQXhCLHdCQUF3QixvT0FNeEIsV0FBVyxnRENoRHhCLHVqREFzQ0EsME1ESWEsd0JBQXdCLGtHQVB6QixZQUFZLHVhQUFFLGVBQWUsMkZBQUUsYUFBYSwrWUFBRSxnQkFBZ0IsbUlBQUUsYUFBYSw0RkFBRSx5QkFBeUI7NEZBT3ZHLHdCQUF3QjtrQkFUcEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsZUFBZSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUseUJBQXlCLENBQUMsWUFDekcsdUJBQXVCLGlCQUdsQixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFOzBHQUl4QyxTQUFTO3NCQURSLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsU0FBUzt1QkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRlbnRBY3Rpb25SZWYsIER5bmFtaWNFeHRlbnNpb25Db21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWV4dGVuc2lvbnMnO1xuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2FwcC5leHRlbnNpb24uc2VydmljZSc7XG5pbXBvcnQgeyBNYXRNZW51SXRlbSwgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGl2aWRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpdmlkZXInO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBUcmFuc2xhdGVNb2R1bGUsIE1hdE1lbnVNb2R1bGUsIE1hdERpdmlkZXJNb2R1bGUsIEljb25Db21wb25lbnQsIER5bmFtaWNFeHRlbnNpb25Db21wb25lbnRdLFxuICBzZWxlY3RvcjogJ2FwcC10b29sYmFyLW1lbnUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sYmFyLW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2xiYXItbWVudS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtdG9vbGJhci1tZW51LWl0ZW0nIH1cbn0pXG5leHBvcnQgY2xhc3MgVG9vbGJhck1lbnVJdGVtQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgYWN0aW9uUmVmOiBDb250ZW50QWN0aW9uUmVmO1xuICBASW5wdXQoKVxuICBtZW51SWQ/OiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZChNYXRNZW51SXRlbSlcbiAgbWVudUl0ZW06IE1hdE1lbnVJdGVtO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZXh0ZW5zaW9uczogQXBwRXh0ZW5zaW9uU2VydmljZSkge31cblxuICBydW5BY3Rpb24oKSB7XG4gICAgaWYgKHRoaXMuaGFzQ2xpY2tBY3Rpb24odGhpcy5hY3Rpb25SZWYpKSB7XG4gICAgICB0aGlzLmV4dGVuc2lvbnMucnVuQWN0aW9uQnlJZChcbiAgICAgICAgdGhpcy5hY3Rpb25SZWYuYWN0aW9ucy5jbGljayxcbiAgICAgICAgdGhpcy5tZW51SWRcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgZm9jdXNlZEVsZW1lbnRPbkNsb3NlU2VsZWN0b3I6IGAjJHt0aGlzLm1lbnVJZC5yZXBsYWNlKC9cXFxcL2csICdcXFxcXFxcXCcpLnJlcGxhY2UoL1xcLi9nLCAnXFxcXC4nKX1gXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBoYXNDbGlja0FjdGlvbihhY3Rpb25SZWY6IENvbnRlbnRBY3Rpb25SZWYpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFhY3Rpb25SZWY/LmFjdGlvbnM/LmNsaWNrO1xuICB9XG5cbiAgdHJhY2tCeUFjdGlvbklkKF86IG51bWJlciwgb2JqOiBDb250ZW50QWN0aW9uUmVmKTogc3RyaW5nIHtcbiAgICByZXR1cm4gb2JqLmlkO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJhY3Rpb25SZWYudHlwZVwiPlxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInbWVudSdcIj5cbiAgICA8YnV0dG9uIFtpZF09XCJhY3Rpb25SZWYuaWRcIiBtYXQtbWVudS1pdGVtIHJvbGU9XCJtZW51aXRlbVwiIHRhYmluZGV4PVwiMFwiIFtkaXNhYmxlZF09XCJhY3Rpb25SZWYuZGlzYWJsZWRcIiBbbWF0TWVudVRyaWdnZXJGb3JdPVwiY2hpbGRNZW51XCI+XG4gICAgICA8YWRmLWljb24gW3ZhbHVlXT1cImFjdGlvblJlZi5pY29uXCI+PC9hZGYtaWNvbj5cbiAgICAgIDxzcGFuIGRhdGEtYXV0b21hdGlvbi1pZD1cIm1lbnUtaXRlbS10aXRsZVwiPnt7IGFjdGlvblJlZi50aXRsZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cblxuICAgIDxtYXQtbWVudSAjY2hpbGRNZW51PVwibWF0TWVudVwiIGNsYXNzPVwiYXBwLWNyZWF0ZS1tZW51X19zdWItbWVudVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgYWN0aW9uUmVmLmNoaWxkcmVuOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uSWRcIj5cbiAgICAgICAgPGFwcC10b29sYmFyLW1lbnUtaXRlbSBbYWN0aW9uUmVmXT1cImNoaWxkXCI+PC9hcHAtdG9vbGJhci1tZW51LWl0ZW0+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L21hdC1tZW51PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInc2VwYXJhdG9yJ1wiPlxuICAgIDxtYXQtZGl2aWRlcj48L21hdC1kaXZpZGVyPlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCInY3VzdG9tJ1wiPlxuICAgIDxhZGYtZHluYW1pYy1jb21wb25lbnQgW2lkXT1cImFjdGlvblJlZi5jb21wb25lbnRcIj48L2FkZi1keW5hbWljLWNvbXBvbmVudD5cbiAgPC9uZy1jb250YWluZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxuICAgIDxidXR0b25cbiAgICAgIFtpZF09XCJhY3Rpb25SZWYuaWRcIlxuICAgICAgcm9sZT1cIm1lbnVpdGVtXCJcbiAgICAgIG1hdC1tZW51LWl0ZW1cbiAgICAgIFtyb2xlXT1cIidtZW51aXRlbSdcIlxuICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgIFtkaXNhYmxlZF09XCJhY3Rpb25SZWYuZGlzYWJsZWRcIlxuICAgICAgW2F0dHIudGl0bGVdPVwiKGFjdGlvblJlZi5kaXNhYmxlZCA/IGFjdGlvblJlZlsnZGVzY3JpcHRpb24tZGlzYWJsZWQnXSA6IGFjdGlvblJlZi5kZXNjcmlwdGlvbiB8fCBhY3Rpb25SZWYudGl0bGUpIHwgdHJhbnNsYXRlXCJcbiAgICAgIChjbGljayk9XCJydW5BY3Rpb24oKVwiXG4gICAgPlxuICAgICAgPGFkZi1pY29uIFt2YWx1ZV09XCJhY3Rpb25SZWYuaWNvblwiIGNsYXNzPVwiYXBwLXRvb2xiYXItbWVudS1pdGVtLS1pY29uXCI+PC9hZGYtaWNvbj5cbiAgICAgIDxzcGFuIGRhdGEtYXV0b21hdGlvbi1pZD1cIm1lbnUtaXRlbS10aXRsZVwiPnt7IGFjdGlvblJlZi50aXRsZSB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
@@ -1,44 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { Component, Input, ViewEncapsulation } from '@angular/core';
25
- import { CommonModule } from '@angular/common';
26
- import { ToolbarActionComponent } from './toolbar-action/toolbar-action.component';
27
- import { MatToolbarModule } from '@angular/material/toolbar';
28
- import * as i0 from "@angular/core";
29
- import * as i1 from "@angular/common";
30
- import * as i2 from "@angular/material/toolbar";
31
- export class ToolbarComponent {
32
- trackByActionId(_, action) {
33
- return action.id;
34
- }
35
- }
36
- ToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
37
- ToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: ToolbarComponent, isStandalone: true, selector: "aca-toolbar", inputs: { items: "items" }, ngImport: i0, template: "<mat-toolbar class=\"aca-toolbar\">\n <ng-container *ngFor=\"let item of items; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"item\"></aca-toolbar-action>\n </ng-container>\n</mat-toolbar>\n", styles: ["aca-toolbar .aca-toolbar{min-height:48px;color:var(--adf-theme-foreground-text-color-054);background-color:inherit;border:none;padding:0;column-gap:5px}aca-toolbar .aca-toolbar-divider{height:24px;width:1px;background:var(--adf-theme-foreground-text-color-025);margin-left:5px;margin-right:5px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["data", "type", "color", "actionRef"] }, { kind: "ngmodule", type: MatToolbarModule }, { kind: "component", type: i2.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }], encapsulation: i0.ViewEncapsulation.None });
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ToolbarComponent, decorators: [{
39
- type: Component,
40
- args: [{ selector: 'aca-toolbar', standalone: true, imports: [CommonModule, ToolbarActionComponent, MatToolbarModule], encapsulation: ViewEncapsulation.None, template: "<mat-toolbar class=\"aca-toolbar\">\n <ng-container *ngFor=\"let item of items; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"item\"></aca-toolbar-action>\n </ng-container>\n</mat-toolbar>\n", styles: ["aca-toolbar .aca-toolbar{min-height:48px;color:var(--adf-theme-foreground-text-color-054);background-color:inherit;border:none;padding:0;column-gap:5px}aca-toolbar .aca-toolbar-divider{height:24px;width:1px;background:var(--adf-theme-foreground-text-color-025);margin-left:5px;margin-right:5px}\n"] }]
41
- }], propDecorators: { items: [{
42
- type: Input
43
- }] } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbGJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2Etc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBVTdELE1BQU0sT0FBTyxnQkFBZ0I7SUFHM0IsZUFBZSxDQUFDLENBQVMsRUFBRSxNQUF3QjtRQUNqRCxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7OEdBTFUsZ0JBQWdCO2tHQUFoQixnQkFBZ0IsbUdDdEM3Qix1TkFLQSxpV0Q0QlksWUFBWSw0SkFBRSxzQkFBc0IsOEdBQUUsZ0JBQWdCOzRGQUtyRCxnQkFBZ0I7a0JBUjVCLFNBQVM7K0JBQ0UsYUFBYSxjQUNYLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFHbEQsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29udGVudEFjdGlvblJlZiB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBUb29sYmFyQWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi90b29sYmFyLWFjdGlvbi90b29sYmFyLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2EtdG9vbGJhcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFRvb2xiYXJBY3Rpb25Db21wb25lbnQsIE1hdFRvb2xiYXJNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9vbGJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2xiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBUb29sYmFyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXM6IENvbnRlbnRBY3Rpb25SZWZbXTtcblxuICB0cmFja0J5QWN0aW9uSWQoXzogbnVtYmVyLCBhY3Rpb246IENvbnRlbnRBY3Rpb25SZWYpIHtcbiAgICByZXR1cm4gYWN0aW9uLmlkO1xuICB9XG59XG4iLCI8bWF0LXRvb2xiYXIgY2xhc3M9XCJhY2EtdG9vbGJhclwiPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uSWRcIj5cbiAgICA8YWNhLXRvb2xiYXItYWN0aW9uIFthY3Rpb25SZWZdPVwiaXRlbVwiPjwvYWNhLXRvb2xiYXItYWN0aW9uPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbWF0LXRvb2xiYXI+XG4iXX0=
@@ -1,43 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { NgModule } from '@angular/core';
25
- import { ToolbarButtonComponent } from '../components/toolbar/toolbar-button/toolbar-button.component';
26
- import { ToolbarActionComponent } from '../components/toolbar/toolbar-action/toolbar-action.component';
27
- import { ToolbarMenuItemComponent } from '../components/toolbar/toolbar-menu-item/toolbar-menu-item.component';
28
- import { ToolbarMenuComponent } from '../components/toolbar/toolbar-menu/toolbar-menu.component';
29
- import * as i0 from "@angular/core";
30
- // @deprecated
31
- export class SharedToolbarModule {
32
- }
33
- SharedToolbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
34
- SharedToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SharedToolbarModule, imports: [ToolbarButtonComponent, ToolbarActionComponent, ToolbarMenuItemComponent, ToolbarMenuComponent], exports: [ToolbarButtonComponent, ToolbarActionComponent, ToolbarMenuItemComponent, ToolbarMenuComponent] });
35
- SharedToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedToolbarModule, imports: [ToolbarButtonComponent, ToolbarActionComponent, ToolbarMenuItemComponent, ToolbarMenuComponent] });
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedToolbarModule, decorators: [{
37
- type: NgModule,
38
- args: [{
39
- imports: [ToolbarButtonComponent, ToolbarActionComponent, ToolbarMenuItemComponent, ToolbarMenuComponent],
40
- exports: [ToolbarButtonComponent, ToolbarActionComponent, ToolbarMenuItemComponent, ToolbarMenuComponent]
41
- }]
42
- }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLXRvb2xiYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2RlcHJlY2F0ZWQvc2hhcmVkLXRvb2xiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUN2RyxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFakcsY0FBYztBQUtkLE1BQU0sT0FBTyxtQkFBbUI7O2lIQUFuQixtQkFBbUI7a0hBQW5CLG1CQUFtQixZQUhwQixzQkFBc0IsRUFBRSxzQkFBc0IsRUFBRSx3QkFBd0IsRUFBRSxvQkFBb0IsYUFDOUYsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CO2tIQUU3RixtQkFBbUIsWUFIcEIsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9COzRGQUc3RixtQkFBbUI7a0JBSi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsd0JBQXdCLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3pHLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLHNCQUFzQixFQUFFLHdCQUF3QixFQUFFLG9CQUFvQixDQUFDO2lCQUMxRyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVG9vbGJhckJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLWJ1dHRvbi90b29sYmFyLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJhckFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLWFjdGlvbi90b29sYmFyLWFjdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVG9vbGJhck1lbnVJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy90b29sYmFyL3Rvb2xiYXItbWVudS1pdGVtL3Rvb2xiYXItbWVudS1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBUb29sYmFyTWVudUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdG9vbGJhci90b29sYmFyLW1lbnUvdG9vbGJhci1tZW51LmNvbXBvbmVudCc7XG5cbi8vIEBkZXByZWNhdGVkXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbVG9vbGJhckJ1dHRvbkNvbXBvbmVudCwgVG9vbGJhckFjdGlvbkNvbXBvbmVudCwgVG9vbGJhck1lbnVJdGVtQ29tcG9uZW50LCBUb29sYmFyTWVudUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtUb29sYmFyQnV0dG9uQ29tcG9uZW50LCBUb29sYmFyQWN0aW9uQ29tcG9uZW50LCBUb29sYmFyTWVudUl0ZW1Db21wb25lbnQsIFRvb2xiYXJNZW51Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZWRUb29sYmFyTW9kdWxlIHt9XG4iXX0=
@@ -1,44 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { NgModule } from '@angular/core';
25
- import { MatButtonModule } from '@angular/material/button';
26
- import { MatIconModule } from '@angular/material/icon';
27
- import { MatDialogModule } from '@angular/material/dialog';
28
- import { TranslateModule } from '@ngx-translate/core';
29
- import { ContextActionsDirective } from '../directives/contextmenu/contextmenu.directive';
30
- import * as i0 from "@angular/core";
31
- // @deprecated
32
- export class SharedModule {
33
- }
34
- SharedModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
- SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, imports: [MatButtonModule, MatIconModule, MatDialogModule, TranslateModule, ContextActionsDirective], exports: [MatButtonModule, MatIconModule, MatDialogModule, TranslateModule, ContextActionsDirective] });
36
- SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, imports: [MatButtonModule, MatIconModule, MatDialogModule, TranslateModule, MatButtonModule, MatIconModule, MatDialogModule, TranslateModule] });
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SharedModule, decorators: [{
38
- type: NgModule,
39
- args: [{
40
- imports: [MatButtonModule, MatIconModule, MatDialogModule, TranslateModule, ContextActionsDirective],
41
- exports: [MatButtonModule, MatIconModule, MatDialogModule, TranslateModule, ContextActionsDirective]
42
- }]
43
- }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1zaGFyZWQvc3JjL2xpYi9kZXByZWNhdGVkL3NoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFFMUYsY0FBYztBQUtkLE1BQU0sT0FBTyxZQUFZOzswR0FBWixZQUFZOzJHQUFaLFlBQVksWUFIYixlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLGFBQ3pGLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSx1QkFBdUI7MkdBRXhGLFlBQVksWUFIYixlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQ2hFLGVBQWUsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWU7NEZBRS9ELFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixDQUFDO29CQUNwRyxPQUFPLEVBQUUsQ0FBQyxlQUFlLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsdUJBQXVCLENBQUM7aUJBQ3JHIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgQ29udGV4dEFjdGlvbnNEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2NvbnRleHRtZW51L2NvbnRleHRtZW51LmRpcmVjdGl2ZSc7XG5cbi8vIEBkZXByZWNhdGVkXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQ29udGV4dEFjdGlvbnNEaXJlY3RpdmVdLFxuICBleHBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIFRyYW5zbGF0ZU1vZHVsZSwgQ29udGV4dEFjdGlvbnNEaXJlY3RpdmVdXG59KVxuZXhwb3J0IGNsYXNzIFNoYXJlZE1vZHVsZSB7fVxuIl19
@@ -1,104 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { Directive, HostListener, Input } from '@angular/core';
25
- import { debounceTime, takeUntil } from 'rxjs/operators';
26
- import { Subject } from 'rxjs';
27
- import { Store } from '@ngrx/store';
28
- import { ContextMenu } from '@alfresco/aca-shared/store';
29
- import * as i0 from "@angular/core";
30
- import * as i1 from "@ngrx/store";
31
- export class ContextActionsDirective {
32
- onContextMenuEvent(event) {
33
- if (event) {
34
- event.preventDefault();
35
- if (this.enabled) {
36
- const target = this.getTarget(event);
37
- if (target) {
38
- this.execute(event, target);
39
- }
40
- }
41
- }
42
- }
43
- constructor(store) {
44
- this.store = store;
45
- this.execute$ = new Subject();
46
- this.onDestroy$ = new Subject();
47
- // eslint-disable-next-line
48
- this.enabled = true;
49
- }
50
- ngOnInit() {
51
- this.execute$.pipe(debounceTime(300), takeUntil(this.onDestroy$)).subscribe((event) => {
52
- this.store.dispatch(new ContextMenu(event));
53
- });
54
- }
55
- ngOnDestroy() {
56
- this.onDestroy$.next(true);
57
- this.onDestroy$.complete();
58
- }
59
- execute(event, target) {
60
- if (!this.isSelected(target)) {
61
- target.dispatchEvent(new MouseEvent('click'));
62
- }
63
- if (this.isEmptyTable(target)) {
64
- return null;
65
- }
66
- this.execute$.next(event);
67
- }
68
- getTarget(event) {
69
- const target = event.target;
70
- return this.findAncestor(target, 'adf-datatable-cell');
71
- }
72
- isSelected(target) {
73
- if (!target) {
74
- return false;
75
- }
76
- return this.findAncestor(target, 'adf-datatable-row').classList.contains('adf-is-selected');
77
- }
78
- isEmptyTable(target) {
79
- return this.findAncestor(target, 'adf-datatable-cell').classList.contains('adf-no-content-container');
80
- }
81
- findAncestor(el, className) {
82
- while (el && !el.classList.contains(className)) {
83
- el = el.parentElement;
84
- }
85
- return el;
86
- }
87
- }
88
- ContextActionsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextActionsDirective, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Directive });
89
- ContextActionsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: ContextActionsDirective, isStandalone: true, selector: "[acaContextActions]", inputs: { enabled: ["acaContextEnable", "enabled"] }, host: { listeners: { "contextmenu": "onContextMenuEvent($event)" } }, exportAs: ["acaContextActions"], ngImport: i0 });
90
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ContextActionsDirective, decorators: [{
91
- type: Directive,
92
- args: [{
93
- standalone: true,
94
- selector: '[acaContextActions]',
95
- exportAs: 'acaContextActions'
96
- }]
97
- }], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { enabled: [{
98
- type: Input,
99
- args: ['acaContextEnable']
100
- }], onContextMenuEvent: [{
101
- type: HostListener,
102
- args: ['contextmenu', ['$event']]
103
- }] } });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dG1lbnUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLXNoYXJlZC9zcmMvbGliL2RpcmVjdGl2ZXMvY29udGV4dG1lbnUvY29udGV4dG1lbnUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQVksV0FBVyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQU9uRSxNQUFNLE9BQU8sdUJBQXVCO0lBU2xDLGtCQUFrQixDQUFDLEtBQWlCO1FBQ2xDLElBQUksS0FBSyxFQUFFO1lBQ1QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckMsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQzdCO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxZQUFvQixLQUFzQjtRQUF0QixVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQXJCbEMsYUFBUSxHQUFpQixJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQy9DLGVBQVUsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUV0RCwyQkFBMkI7UUFFM0IsWUFBTyxHQUFHLElBQUksQ0FBQztJQWdCOEIsQ0FBQztJQUU5QyxRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFpQixFQUFFLEVBQUU7WUFDaEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQWlCLEVBQUUsTUFBZTtRQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7U0FDL0M7UUFFRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDN0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTyxTQUFTLENBQUMsS0FBaUI7UUFDakMsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQWlCLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxVQUFVLENBQUMsTUFBZTtRQUNoQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFlO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDeEcsQ0FBQztJQUVPLFlBQVksQ0FBQyxFQUFXLEVBQUUsU0FBaUI7UUFDakQsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM5QyxFQUFFLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQztTQUN2QjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7cUhBckVVLHVCQUF1Qjt5R0FBdkIsdUJBQXVCOzRGQUF2Qix1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCOzRGQU9DLE9BQU87c0JBRE4sS0FBSzt1QkFBQyxrQkFBa0I7Z0JBSXpCLGtCQUFrQjtzQkFEakIsWUFBWTt1QkFBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFwcFN0b3JlLCBDb250ZXh0TWVudSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnW2FjYUNvbnRleHRBY3Rpb25zXScsXG4gIGV4cG9ydEFzOiAnYWNhQ29udGV4dEFjdGlvbnMnXG59KVxuZXhwb3J0IGNsYXNzIENvbnRleHRBY3Rpb25zRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGV4ZWN1dGUkOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xuICBvbkRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgQElucHV0KCdhY2FDb250ZXh0RW5hYmxlJylcbiAgZW5hYmxlZCA9IHRydWU7XG5cbiAgQEhvc3RMaXN0ZW5lcignY29udGV4dG1lbnUnLCBbJyRldmVudCddKVxuICBvbkNvbnRleHRNZW51RXZlbnQoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIGlmICh0aGlzLmVuYWJsZWQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdGhpcy5nZXRUYXJnZXQoZXZlbnQpO1xuICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgdGhpcy5leGVjdXRlKGV2ZW50LCB0YXJnZXQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdG9yZTogU3RvcmU8QXBwU3RvcmU+KSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuZXhlY3V0ZSQucGlwZShkZWJvdW5jZVRpbWUoMzAwKSwgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IENvbnRleHRNZW51KGV2ZW50KSk7XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGV4ZWN1dGUoZXZlbnQ6IE1vdXNlRXZlbnQsIHRhcmdldDogRWxlbWVudCkge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKHRhcmdldCkpIHtcbiAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCdjbGljaycpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0VtcHR5VGFibGUodGFyZ2V0KSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgdGhpcy5leGVjdXRlJC5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFyZ2V0KGV2ZW50OiBNb3VzZUV2ZW50KTogRWxlbWVudCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQ7XG4gICAgcmV0dXJuIHRoaXMuZmluZEFuY2VzdG9yKHRhcmdldCwgJ2FkZi1kYXRhdGFibGUtY2VsbCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1NlbGVjdGVkKHRhcmdldDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGFyZ2V0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmluZEFuY2VzdG9yKHRhcmdldCwgJ2FkZi1kYXRhdGFibGUtcm93JykuY2xhc3NMaXN0LmNvbnRhaW5zKCdhZGYtaXMtc2VsZWN0ZWQnKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNFbXB0eVRhYmxlKHRhcmdldDogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZpbmRBbmNlc3Rvcih0YXJnZXQsICdhZGYtZGF0YXRhYmxlLWNlbGwnKS5jbGFzc0xpc3QuY29udGFpbnMoJ2FkZi1uby1jb250ZW50LWNvbnRhaW5lcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBmaW5kQW5jZXN0b3IoZWw6IEVsZW1lbnQsIGNsYXNzTmFtZTogc3RyaW5nKTogRWxlbWVudCB7XG4gICAgd2hpbGUgKGVsICYmICFlbC5jbGFzc0xpc3QuY29udGFpbnMoY2xhc3NOYW1lKSkge1xuICAgICAgZWwgPSBlbC5wYXJlbnRFbGVtZW50O1xuICAgIH1cbiAgICByZXR1cm4gZWw7XG4gIH1cbn1cbiJdfQ==
@@ -1,55 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { Directive } from '@angular/core';
25
- import { PaginationComponent, UserPreferencesService, AppConfigService } from '@alfresco/adf-core';
26
- import * as i0 from "@angular/core";
27
- import * as i1 from "@alfresco/adf-core";
28
- export class PaginationDirective {
29
- constructor(pagination, preferences, config) {
30
- this.pagination = pagination;
31
- this.preferences = preferences;
32
- this.config = config;
33
- this.subscriptions = [];
34
- }
35
- ngOnInit() {
36
- this.pagination.supportedPageSizes = this.config.get('pagination.supportedPageSizes');
37
- this.subscriptions.push(this.pagination.changePageSize.subscribe((event) => {
38
- this.preferences.paginationSize = event.maxItems;
39
- }));
40
- }
41
- ngOnDestroy() {
42
- this.subscriptions.forEach((subscription) => subscription.unsubscribe());
43
- this.subscriptions = [];
44
- }
45
- }
46
- PaginationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationDirective, deps: [{ token: i1.PaginationComponent }, { token: i1.UserPreferencesService }, { token: i1.AppConfigService }], target: i0.ɵɵFactoryTarget.Directive });
47
- PaginationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: PaginationDirective, isStandalone: true, selector: "[acaPagination]", ngImport: i0 });
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: PaginationDirective, decorators: [{
49
- type: Directive,
50
- args: [{
51
- standalone: true,
52
- selector: '[acaPagination]'
53
- }]
54
- }], ctorParameters: function () { return [{ type: i1.PaginationComponent }, { type: i1.UserPreferencesService }, { type: i1.AppConfigService }]; } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2Etc2hhcmVkL3NyYy9saWIvZGlyZWN0aXZlcy9wYWdpbmF0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBbUIsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBT3BILE1BQU0sT0FBTyxtQkFBbUI7SUFHOUIsWUFBb0IsVUFBK0IsRUFBVSxXQUFtQyxFQUFVLE1BQXdCO1FBQTlHLGVBQVUsR0FBVixVQUFVLENBQXFCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQXdCO1FBQVUsV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFGMUgsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO0lBRTBGLENBQUM7SUFFdEksUUFBUTtRQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQztRQUV0RixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBc0IsRUFBRSxFQUFFO1lBQ2xFLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDbkQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO0lBQzFCLENBQUM7O2lIQWxCVSxtQkFBbUI7cUdBQW5CLG1CQUFtQjs0RkFBbkIsbUJBQW1CO2tCQUovQixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsaUJBQWlCO2lCQUM1QiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uQ29tcG9uZW50LCBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLCBQYWdpbmF0aW9uTW9kZWwsIEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1thY2FQYWdpbmF0aW9uXSdcbn0pXG5leHBvcnQgY2xhc3MgUGFnaW5hdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcGFnaW5hdGlvbjogUGFnaW5hdGlvbkNvbXBvbmVudCwgcHJpdmF0ZSBwcmVmZXJlbmNlczogVXNlclByZWZlcmVuY2VzU2VydmljZSwgcHJpdmF0ZSBjb25maWc6IEFwcENvbmZpZ1NlcnZpY2UpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5wYWdpbmF0aW9uLnN1cHBvcnRlZFBhZ2VTaXplcyA9IHRoaXMuY29uZmlnLmdldCgncGFnaW5hdGlvbi5zdXBwb3J0ZWRQYWdlU2l6ZXMnKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgdGhpcy5wYWdpbmF0aW9uLmNoYW5nZVBhZ2VTaXplLnN1YnNjcmliZSgoZXZlbnQ6IFBhZ2luYXRpb25Nb2RlbCkgPT4ge1xuICAgICAgICB0aGlzLnByZWZlcmVuY2VzLnBhZ2luYXRpb25TaXplID0gZXZlbnQubWF4SXRlbXM7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuZm9yRWFjaCgoc3Vic2NyaXB0aW9uKSA9PiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25zID0gW107XG4gIH1cbn1cbiJdfQ==
@@ -1,129 +0,0 @@
1
- /*!
2
- * Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
3
- *
4
- * Alfresco Example Content Application
5
- *
6
- * This file is part of the Alfresco Example Content Application.
7
- * If the software was purchased under a paid Alfresco license, the terms of
8
- * the paid license agreement will prevail. Otherwise, the software is
9
- * provided under the following open source license terms:
10
- *
11
- * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
12
- * it under the terms of the GNU Lesser General Public License as published by
13
- * the Free Software Foundation, either version 3 of the License, or
14
- * (at your option) any later version.
15
- *
16
- * The Alfresco Example Content Application is distributed in the hope that it will be useful,
17
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
18
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
- * GNU Lesser General Public License for more details.
20
- *
21
- * You should have received a copy of the GNU Lesser General Public License
22
- * from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
23
- */
24
- import { AppConfigService } from '@alfresco/adf-core';
25
- import { inject, Injectable } from '@angular/core';
26
- import { MatDialog } from '@angular/material/dialog';
27
- import { OpenInAppComponent } from '../components/open-in-app/open-in-app.component';
28
- import * as i0 from "@angular/core";
29
- export class AcaMobileAppSwitcherService {
30
- constructor() {
31
- this.config = inject(AppConfigService);
32
- this.dialog = inject(MatDialog);
33
- }
34
- get appStoreUrl() {
35
- const defaultValue = 'https://apps.apple.com/us/app/alfresco-mobile-workspace/id1514434480';
36
- return this.config.get('mobileAppSwitch.appStoreUrl', defaultValue);
37
- }
38
- get sessionTimeout() {
39
- return this.config.get('mobileAppSwitch.sessionTimeout', 12);
40
- }
41
- getIPhoneRedirectUrl(url) {
42
- const prefix = this.config.get('mobileAppSwitch.iphoneUrl', 'iosamw://');
43
- return prefix + url;
44
- }
45
- getAndroidRedirectUrl(url) {
46
- const prefix = this.config.get('mobileAppSwitch.androidUrlPart1', 'intent:///');
47
- const suffix = this.config.get('mobileAppSwitch.androidUrlPart2', '#Intent;scheme=androidamw;package=com.alfresco.content.app;end');
48
- return prefix + url + suffix;
49
- }
50
- resolveExistenceOfDialog() {
51
- const url = this.getCurrentUrl();
52
- const queryParams = url.split('?')[1];
53
- let queryParamsList = [];
54
- let hideBanner = false;
55
- if (queryParams !== null && queryParams !== undefined) {
56
- queryParamsList = queryParams.split('&');
57
- hideBanner = queryParamsList.some((param) => param.split('=')[0] === 'mobileapps' && param.split('=')[1] === 'true');
58
- }
59
- if (!hideBanner) {
60
- this.verifySessionExistsForDialog();
61
- }
62
- }
63
- verifySessionExistsForDialog() {
64
- const sessionTime = sessionStorage.getItem('mobile_notification_expires_in');
65
- if (sessionTime !== null) {
66
- const currentTime = new Date().getTime();
67
- const sessionConvertedTime = parseFloat(sessionTime);
68
- const timeDifference = (currentTime - sessionConvertedTime) / (1000 * 60 * 60);
69
- if (timeDifference > this.sessionTimeout) {
70
- this.clearSessionExpireTime();
71
- this.identifyBrowserAndSetRedirectURL();
72
- }
73
- }
74
- else {
75
- this.identifyBrowserAndSetRedirectURL();
76
- }
77
- }
78
- identifyBrowserAndSetRedirectURL() {
79
- const ua = navigator.userAgent.toLowerCase();
80
- const isAndroid = ua.indexOf('android') > -1;
81
- const isIPadInSafari = /Macintosh/i.test(ua) && navigator.maxTouchPoints && navigator.maxTouchPoints > 1;
82
- const isIOS = ua.indexOf('iphone') > -1 || ua.indexOf('ipad') > -1 || ua.indexOf('ipod') > -1 || isIPadInSafari;
83
- const currentUrl = this.getCurrentUrl();
84
- if (isIOS === true) {
85
- this.redirectUrl = this.getIPhoneRedirectUrl(currentUrl);
86
- }
87
- else if (isAndroid === true) {
88
- this.redirectUrl = this.getAndroidRedirectUrl(currentUrl);
89
- }
90
- if (this.redirectUrl !== undefined && this.redirectUrl !== null) {
91
- this.openDialog(this.redirectUrl, this.appStoreUrl);
92
- }
93
- }
94
- openDialog(redirectUrl, appStoreUrl) {
95
- if (!this.dialogRef) {
96
- this.dialogRef = this.dialog.open(OpenInAppComponent, {
97
- data: {
98
- redirectUrl,
99
- appStoreUrl
100
- },
101
- hasBackdrop: false,
102
- width: '100%',
103
- role: 'dialog',
104
- position: { bottom: '0' }
105
- });
106
- }
107
- }
108
- clearSessionExpireTime() {
109
- sessionStorage.removeItem('mobile_notification_expires_in');
110
- }
111
- getCurrentUrl() {
112
- return window.location.href;
113
- }
114
- closeDialog() {
115
- if (this.dialogRef) {
116
- this.dialog.closeAll();
117
- this.dialogRef = null;
118
- }
119
- }
120
- }
121
- AcaMobileAppSwitcherService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaMobileAppSwitcherService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
122
- AcaMobileAppSwitcherService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaMobileAppSwitcherService, providedIn: 'root' });
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaMobileAppSwitcherService, decorators: [{
124
- type: Injectable,
125
- args: [{
126
- providedIn: 'root'
127
- }]
128
- }] });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNhLW1vYmlsZS1hcHAtc3dpdGNoZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9hY2EtbW9iaWxlLWFwcC1zd2l0Y2hlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdEQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFNBQVMsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQzs7QUFLckYsTUFBTSxPQUFPLDJCQUEyQjtJQUh4QztRQU1VLFdBQU0sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNsQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBbUdwQztJQWpHQyxJQUFJLFdBQVc7UUFDYixNQUFNLFlBQVksR0FBRyxzRUFBc0UsQ0FBQztRQUM1RixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFTLDZCQUE2QixFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBUyxnQ0FBZ0MsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBVztRQUM5QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBUywyQkFBMkIsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUNqRixPQUFPLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFDdEIsQ0FBQztJ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TUFBTTs0RkFFUCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBPcGVuSW5BcHBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL29wZW4taW4tYXBwL29wZW4taW4tYXBwLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEFjYU1vYmlsZUFwcFN3aXRjaGVyU2VydmljZSB7XG4gIHB1YmxpYyByZWRpcmVjdFVybDogc3RyaW5nO1xuICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPE9wZW5JbkFwcENvbXBvbmVudD47XG4gIHByaXZhdGUgY29uZmlnID0gaW5qZWN0KEFwcENvbmZpZ1NlcnZpY2UpO1xuICBwcml2YXRlIGRpYWxvZyA9IGluamVjdChNYXREaWFsb2cpO1xuXG4gIGdldCBhcHBTdG9yZVVybCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9ICdodHRwczovL2FwcHMuYXBwbGUuY29tL3VzL2FwcC9hbGZyZXNjby1tb2JpbGUtd29ya3NwYWNlL2lkMTUxNDQzNDQ4MCc7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldDxzdHJpbmc+KCdtb2JpbGVBcHBTd2l0Y2guYXBwU3RvcmVVcmwnLCBkZWZhdWx0VmFsdWUpO1xuICB9XG5cbiAgZ2V0IHNlc3Npb25UaW1lb3V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmdldDxudW1iZXI+KCdtb2JpbGVBcHBTd2l0Y2guc2Vzc2lvblRpbWVvdXQnLCAxMik7XG4gIH1cblxuICBnZXRJUGhvbmVSZWRpcmVjdFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5jb25maWcuZ2V0PHN0cmluZz4oJ21vYmlsZUFwcFN3aXRjaC5pcGhvbmVVcmwnLCAnaW9zYW13Oi8vJyk7XG4gICAgcmV0dXJuIHByZWZpeCArIHVybDtcbiAgfVxuXG4gIGdldEFuZHJvaWRSZWRpcmVjdFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlZml4ID0gdGhpcy5jb25maWcuZ2V0PHN0cmluZz4oJ21vYmlsZUFwcFN3aXRjaC5hbmRyb2lkVXJsUGFydDEnLCAnaW50ZW50Oi8vLycpO1xuICAgIGNvbnN0IHN1ZmZpeCA9IHRoaXMuY29uZmlnLmdldDxzdHJpbmc+KCdtb2JpbGVBcHBTd2l0Y2guYW5kcm9pZFVybFBhcnQyJywgJyNJbnRlbnQ7c2NoZW1lPWFuZHJvaWRhbXc7cGFja2FnZT1jb20uYWxmcmVzY28uY29udGVudC5hcHA7ZW5kJyk7XG4gICAgcmV0dXJuIHByZWZpeCArIHVybCArIHN1ZmZpeDtcbiAgfVxuXG4gIHJlc29sdmVFeGlzdGVuY2VPZkRpYWxvZygpOiB2b2lkIHtcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuZ2V0Q3VycmVudFVybCgpO1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zOiBzdHJpbmcgPSB1cmwuc3BsaXQoJz8nKVsxXTtcbiAgICBsZXQgcXVlcnlQYXJhbXNMaXN0ID0gW107XG4gICAgbGV0IGhpZGVCYW5uZXIgPSBmYWxzZTtcbiAgICBpZiAocXVlcnlQYXJhbXMgIT09IG51bGwgJiYgcXVlcnlQYXJhbXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcXVlcnlQYXJhbXNMaXN0ID0gcXVlcnlQYXJhbXMuc3BsaXQoJyYnKTtcbiAgICAgIGhpZGVCYW5uZXIgPSBxdWVyeVBhcmFtc0xpc3Quc29tZSgocGFyYW0pID0+IHBhcmFtLnNwbGl0KCc9JylbMF0gPT09ICdtb2JpbGVhcHBzJyAmJiBwYXJhbS5zcGxpdCgnPScpWzFdID09PSAndHJ1ZScpO1xuICAgIH1cbiAgICBpZiAoIWhpZGVCYW5uZXIpIHtcbiAgICAgIHRoaXMudmVyaWZ5U2Vzc2lvbkV4aXN0c0ZvckRpYWxvZygpO1xuICAgIH1cbiAgfVxuXG4gIHZlcmlmeVNlc3Npb25FeGlzdHNGb3JEaWFsb2coKTogdm9pZCB7XG4gICAgY29uc3Qgc2Vzc2lvblRpbWU6IHN0cmluZyA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oJ21vYmlsZV9ub3RpZmljYXRpb25fZXhwaXJlc19pbicpO1xuICAgIGlmIChzZXNzaW9uVGltZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgY3VycmVudFRpbWU6IG51bWJlciA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgY29uc3Qgc2Vzc2lvbkNvbnZlcnRlZFRpbWU6IG51bWJlciA9IHBhcnNlRmxvYXQoc2Vzc2lvblRpbWUpO1xuICAgICAgY29uc3QgdGltZURpZmZlcmVuY2U6IG51bWJlciA9IChjdXJyZW50VGltZSAtIHNlc3Npb25Db252ZXJ0ZWRUaW1lKSAvICgxMDAwICogNjAgKiA2MCk7XG5cbiAgICAgIGlmICh0aW1lRGlmZmVyZW5jZSA+IHRoaXMuc2Vzc2lvblRpbWVvdXQpIHtcbiAgICAgICAgdGhpcy5jbGVhclNlc3Npb25FeHBpcmVUaW1lKCk7XG4gICAgICAgIHRoaXMuaWRlbnRpZnlCcm93c2VyQW5kU2V0UmVkaXJlY3RVUkwoKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pZGVudGlmeUJyb3dzZXJBbmRTZXRSZWRpcmVjdFVSTCgpO1xuICAgIH1cbiAgfVxuXG4gIGlkZW50aWZ5QnJvd3NlckFuZFNldFJlZGlyZWN0VVJMKCk6IHZvaWQge1xuICAgIGNvbnN0IHVhOiBzdHJpbmcgPSBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgaXNBbmRyb2lkOiBib29sZWFuID0gdWEuaW5kZXhPZignYW5kcm9pZCcpID4gLTE7XG4gICAgY29uc3QgaXNJUGFkSW5TYWZhcmkgPSAvTWFjaW50b3NoL2kudGVzdCh1YSkgJiYgbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzICYmIG5hdmlnYXRvci5tYXhUb3VjaFBvaW50cyA+IDE7XG4gICAgY29uc3QgaXNJT1M6IGJvb2xlYW4gPSB1YS5pbmRleE9mKCdpcGhvbmUnKSA+IC0xIHx8IHVhLmluZGV4T2YoJ2lwYWQnKSA+IC0xIHx8IHVhLmluZGV4T2YoJ2lwb2QnKSA+IC0xIHx8IGlzSVBhZEluU2FmYXJpO1xuICAgIGNvbnN0IGN1cnJlbnRVcmw6IHN0cmluZyA9IHRoaXMuZ2V0Q3VycmVudFVybCgpO1xuXG4gICAgaWYgKGlzSU9TID09PSB0cnVlKSB7XG4gICAgICB0aGlzLnJlZGlyZWN0VXJsID0gdGhpcy5nZXRJUGhvbmVSZWRpcmVjdFVybChjdXJyZW50VXJsKTtcbiAgICB9IGVsc2UgaWYgKGlzQW5kcm9pZCA9PT0gdHJ1ZSkge1xuICAgICAgdGhpcy5yZWRpcmVjdFVybCA9IHRoaXMuZ2V0QW5kcm9pZFJlZGlyZWN0VXJsKGN1cnJlbnRVcmwpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnJlZGlyZWN0VXJsICE9PSB1bmRlZmluZWQgJiYgdGhpcy5yZWRpcmVjdFVybCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5vcGVuRGlhbG9nKHRoaXMucmVkaXJlY3RVcmwsIHRoaXMuYXBwU3RvcmVVcmwpO1xuICAgIH1cbiAgfVxuXG4gIG9wZW5EaWFsb2cocmVkaXJlY3RVcmw6IHN0cmluZywgYXBwU3RvcmVVcmw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlhbG9nUmVmKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW4oT3BlbkluQXBwQ29tcG9uZW50LCB7XG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICByZWRpcmVjdFVybCxcbiAgICAgICAgICBhcHBTdG9yZVVybFxuICAgICAgICB9LFxuICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgIHJvbGU6ICdkaWFsb2cnLFxuICAgICAgICBwb3NpdGlvbjogeyBib3R0b206ICcwJyB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBjbGVhclNlc3Npb25FeHBpcmVUaW1lKCk6IHZvaWQge1xuICAgIHNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0oJ21vYmlsZV9ub3RpZmljYXRpb25fZXhwaXJlc19pbicpO1xuICB9XG5cbiAgZ2V0Q3VycmVudFVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZjtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpYWxvZ1JlZikge1xuICAgICAgdGhpcy5kaWFsb2cuY2xvc2VBbGwoKTtcbiAgICAgIHRoaXMuZGlhbG9nUmVmID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiJdfQ==