@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,79 +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 { Injectable } from '@angular/core';
25
- import { Subject } from 'rxjs';
26
- import * as i0 from "@angular/core";
27
- export class AppHookService {
28
- constructor() {
29
- /**
30
- * Gets emitted when user delete the node
31
- */
32
- this.nodesDeleted = new Subject();
33
- /**
34
- * Gets emitted when user delete the library
35
- */
36
- this.libraryDeleted = new Subject();
37
- /**
38
- * Gets emitted when user create the library
39
- */
40
- this.libraryCreated = new Subject();
41
- /**
42
- * Gets emitted when user update the library
43
- */
44
- this.libraryUpdated = new Subject();
45
- /**
46
- * Gets emitted when user join the library
47
- */
48
- this.libraryJoined = new Subject();
49
- /**
50
- * Gets emitted when user left the library
51
- */
52
- this.libraryLeft = new Subject();
53
- /**
54
- * Gets emitted when library throws 400 error code
55
- */
56
- this.library400Error = new Subject();
57
- /**
58
- * Gets emitted when user join the library
59
- */
60
- this.joinLibraryToggle = new Subject();
61
- /**
62
- * Gets emitted when user unlink the node
63
- */
64
- this.linksUnshared = new Subject();
65
- /**
66
- * Gets emitted when user mark the favorite library
67
- */
68
- this.favoriteLibraryToggle = new Subject();
69
- }
70
- }
71
- AppHookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppHookService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
72
- AppHookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppHookService, providedIn: 'root' });
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppHookService, decorators: [{
74
- type: Injectable,
75
- args: [{
76
- providedIn: 'root'
77
- }]
78
- }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWhvb2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1zaGFyZWQvc3JjL2xpYi9zZXJ2aWNlcy9hcHAtaG9vay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQU0vQixNQUFNLE9BQU8sY0FBYztJQUgzQjtRQUlFOztXQUVHO1FBQ0gsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRWxDOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRXZDOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO1FBRTFDOztXQUVHO1FBQ0gsbUJBQWMsR0FBRyxJQUFJLE9BQU8sRUFBYSxDQUFDO1FBRTFDOztXQUVHO1FBQ0gsa0JBQWEsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRXRDOztXQUVHO1FBQ0gsZ0JBQVcsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRXBDOztXQUVHO1FBQ0gsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBRXJDOztXQUVHO1FBQ0gsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUUxQzs7V0FFRztRQUNILGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUVuQzs7V0FFRztRQUNILDBCQUFxQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7S0FDNUM7OzRHQWxEWSxjQUFjO2dIQUFkLGNBQWMsY0FGYixNQUFNOzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNpdGVFbnRyeSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBcHBIb29rU2VydmljZSB7XG4gIC8qKlxuICAgKiBHZXRzIGVtaXR0ZWQgd2hlbiB1c2VyIGRlbGV0ZSB0aGUgbm9kZVxuICAgKi9cbiAgbm9kZXNEZWxldGVkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGVtaXR0ZWQgd2hlbiB1c2VyIGRlbGV0ZSB0aGUgbGlicmFyeVxuICAgKi9cbiAgbGlicmFyeURlbGV0ZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEdldHMgZW1pdHRlZCB3aGVuIHVzZXIgY3JlYXRlIHRoZSBsaWJyYXJ5XG4gICAqL1xuICBsaWJyYXJ5Q3JlYXRlZCA9IG5ldyBTdWJqZWN0PFNpdGVFbnRyeT4oKTtcblxuICAvKipcbiAgICogR2V0cyBlbWl0dGVkIHdoZW4gdXNlciB1cGRhdGUgdGhlIGxpYnJhcnlcbiAgICovXG4gIGxpYnJhcnlVcGRhdGVkID0gbmV3IFN1YmplY3Q8U2l0ZUVudHJ5PigpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGVtaXR0ZWQgd2hlbiB1c2VyIGpvaW4gdGhlIGxpYnJhcnlcbiAgICovXG4gIGxpYnJhcnlKb2luZWQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEdldHMgZW1pdHRlZCB3aGVuIHVzZXIgbGVmdCB0aGUgbGlicmFyeVxuICAgKi9cbiAgbGlicmFyeUxlZnQgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEdldHMgZW1pdHRlZCB3aGVuIGxpYnJhcnkgdGhyb3dzIDQwMCBlcnJvciBjb2RlXG4gICAqL1xuICBsaWJyYXJ5NDAwRXJyb3IgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG5cbiAgLyoqXG4gICAqIEdldHMgZW1pdHRlZCB3aGVuIHVzZXIgam9pbiB0aGUgbGlicmFyeVxuICAgKi9cbiAgam9pbkxpYnJhcnlUb2dnbGUgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIEdldHMgZW1pdHRlZCB3aGVuIHVzZXIgdW5saW5rIHRoZSBub2RlXG4gICAqL1xuICBsaW5rc1Vuc2hhcmVkID0gbmV3IFN1YmplY3Q8YW55PigpO1xuXG4gIC8qKlxuICAgKiBHZXRzIGVtaXR0ZWQgd2hlbiB1c2VyIG1hcmsgdGhlIGZhdm9yaXRlIGxpYnJhcnlcbiAgICovXG4gIGZhdm9yaXRlTGlicmFyeVRvZ2dsZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbn1cbiJdfQ==
@@ -1,140 +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 { inject, Injectable } from '@angular/core';
25
- import { AppConfigService, CloseButtonPosition } from '@alfresco/adf-core';
26
- import { DefaultMimeTypes } from '../constants/mime-types';
27
- import * as i0 from "@angular/core";
28
- export class AppSettingsService {
29
- constructor() {
30
- this.appConfig = inject(AppConfigService);
31
- }
32
- /**
33
- * Get the application copyright text from the app settings.
34
- */
35
- get appCopyright() {
36
- return this.appConfig.get('application.copyright', '');
37
- }
38
- /**
39
- * Get the AOS (Alfresco Office Services) host URL from the app settings.
40
- */
41
- get aosHost() {
42
- return this.appConfig.get('aosHost');
43
- }
44
- /**
45
- * Get the default landing page from the app settings.
46
- * Default value: `/personal-files`.
47
- */
48
- get landingPage() {
49
- return this.appConfig.get('landingPage', '/personal-files');
50
- }
51
- /**
52
- * Get the list of mime types from the app settings.
53
- */
54
- get mimeTypes() {
55
- return this.appConfig.get('mimeTypes', DefaultMimeTypes);
56
- }
57
- /**
58
- * Get the application name from the app settings.
59
- */
60
- get appName() {
61
- return this.appConfig.get('application.name', 'Alfresco Content Application');
62
- }
63
- /**
64
- * Get the application version from the app settings.
65
- */
66
- get appVersion() {
67
- return this.appConfig.get('application.version', '1.0.0');
68
- }
69
- /**
70
- * Get the application logo URL from the app settings.
71
- */
72
- get appLogoUrl() {
73
- return this.appConfig.get('application.logo', 'assets/images/app-logo.svg');
74
- }
75
- /**
76
- * Get the custom CSS stylesheet path from the app settings.
77
- */
78
- get customCssPath() {
79
- return this.appConfig.get('customCssPath', '');
80
- }
81
- /**
82
- * Get the custom web font path from the app settings.
83
- */
84
- get webFontPath() {
85
- return this.appConfig.get('webFontPath', '');
86
- }
87
- /**
88
- * Get the base share URL from the app settings.
89
- */
90
- get baseShareUrl() {
91
- let result = this.appConfig.get('baseShareUrl', '');
92
- if (!result.endsWith('/')) {
93
- result += '/';
94
- }
95
- return result;
96
- }
97
- /**
98
- * Get the viewer close button position from the app settings.
99
- */
100
- get viewerCloseButtonPosition() {
101
- return this.appConfig.get('viewer.closeButtonPosition', CloseButtonPosition.Right);
102
- }
103
- /**
104
- * Get the viewer max retries from the app settings.
105
- */
106
- get viewerMaxRetries() {
107
- return this.appConfig.get('viewer.maxRetries', 1);
108
- }
109
- /**
110
- * Enabled state of the comment feature for upload dialog
111
- */
112
- get uploadAllowComments() {
113
- return this.appConfig.get('adf-version-manager.allowComments', true);
114
- }
115
- /**
116
- * Enabled state of the download feature for upload dialog
117
- */
118
- get uploadAllowDownload() {
119
- return this.appConfig.get('adf-version-manager.allowDownload', true);
120
- }
121
- /**
122
- * Gets the enablement of the file auto tryDownload feature from the app settings.
123
- */
124
- get autoDownloadEnabled() {
125
- return this.appConfig.get('viewer.enableFileAutoDownload', true);
126
- }
127
- /**
128
- * Gets the file auto tryDownload size threshold in MB from the app settings.
129
- */
130
- get authDownloadThreshold() {
131
- return this.appConfig.get('viewer.fileAutoDownloadSizeThresholdInMB', 15);
132
- }
133
- }
134
- AppSettingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppSettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
135
- AppSettingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppSettingsService, providedIn: 'root' });
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AppSettingsService, decorators: [{
137
- type: Injectable,
138
- args: [{ providedIn: 'root' }]
139
- }] });
140
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXNldHRpbmdzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2Etc2hhcmVkL3NyYy9saWIvc2VydmljZXMvYXBwLXNldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMzRSxPQUFPLEVBQW9CLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRzdFLE1BQU0sT0FBTyxrQkFBa0I7SUFEL0I7UUFFVSxjQUFTLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FzSDlDO0lBcEhDOztPQUVHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBUyx1QkFBdUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRDs7O09BR0c7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQXFCLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVMsa0JBQWtCLEVBQUUsOEJBQThCLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVMsa0JBQWtCLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLFlBQVk7UUFDZCxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBUyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekIsTUFBTSxJQUFJLEdBQUcsQ0FBQztTQUNmO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSx5QkFBeUI7UUFDM0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsRUFBRSxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFTLG1CQUFtQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7T0FFRztJQUNILElBQUksbUJBQW1CO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVUsbUNBQW1DLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxtQkFBbUI7UUFDckIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBVSxtQ0FBbUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFJLG1CQUFtQjtRQUNyQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFVLCtCQUErQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7T0FFRztJQUNILElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQVMsMENBQTBDLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEYsQ0FBQzs7Z0hBdEhVLGtCQUFrQjtvSEFBbEIsa0JBQWtCLGNBREwsTUFBTTs0RkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIENsb3NlQnV0dG9uUG9zaXRpb24gfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgQWxmcmVzY29NaW1lVHlwZSwgRGVmYXVsdE1pbWVUeXBlcyB9IGZyb20gJy4uL2NvbnN0YW50cy9taW1lLXR5cGVzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBBcHBTZXR0aW5nc1NlcnZpY2Uge1xuICBwcml2YXRlIGFwcENvbmZpZyA9IGluamVjdChBcHBDb25maWdTZXJ2aWNlKTtcblxuICAvKipcbiAgICogR2V0IHRoZSBhcHBsaWNhdGlvbiBjb3B5cmlnaHQgdGV4dCBmcm9tIHRoZSBhcHAgc2V0dGluZ3MuXG4gICAqL1xuICBnZXQgYXBwQ29weXJpZ2h0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KCdhcHBsaWNhdGlvbi5jb3B5cmlnaHQnLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBBT1MgKEFsZnJlc2NvIE9mZmljZSBTZXJ2aWNlcykgaG9zdCBVUkwgZnJvbSB0aGUgYXBwIHNldHRpbmdzLlxuICAgKi9cbiAgZ2V0IGFvc0hvc3QoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oJ2Fvc0hvc3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGRlZmF1bHQgbGFuZGluZyBwYWdlIGZyb20gdGhlIGFwcCBzZXR0aW5ncy5cbiAgICogRGVmYXVsdCB2YWx1ZTogYC9wZXJzb25hbC1maWxlc2AuXG4gICAqL1xuICBnZXQgbGFuZGluZ1BhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oJ2xhbmRpbmdQYWdlJywgJy9wZXJzb25hbC1maWxlcycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbGlzdCBvZiBtaW1lIHR5cGVzIGZyb20gdGhlIGFwcCBzZXR0aW5ncy5cbiAgICovXG4gIGdldCBtaW1lVHlwZXMoKTogQWxmcmVzY29NaW1lVHlwZVtdIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PEFsZnJlc2NvTWltZVR5cGVbXT4oJ21pbWVUeXBlcycsIERlZmF1bHRNaW1lVHlwZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgYXBwbGljYXRpb24gbmFtZSBmcm9tIHRoZSBhcHAgc2V0dGluZ3MuXG4gICAqL1xuICBnZXQgYXBwTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPignYXBwbGljYXRpb24ubmFtZScsICdBbGZyZXNjbyBDb250ZW50IEFwcGxpY2F0aW9uJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBhcHBsaWNhdGlvbiB2ZXJzaW9uIGZyb20gdGhlIGFwcCBzZXR0aW5ncy5cbiAgICovXG4gIGdldCBhcHBWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldDxzdHJpbmc+KCdhcHBsaWNhdGlvbi52ZXJzaW9uJywgJzEuMC4wJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBhcHBsaWNhdGlvbiBsb2dvIFVSTCBmcm9tIHRoZSBhcHAgc2V0dGluZ3MuXG4gICAqL1xuICBnZXQgYXBwTG9nb1VybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPignYXBwbGljYXRpb24ubG9nbycsICdhc3NldHMvaW1hZ2VzL2FwcC1sb2dvLnN2ZycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VzdG9tIENTUyBzdHlsZXNoZWV0IHBhdGggZnJvbSB0aGUgYXBwIHNldHRpbmdzLlxuICAgKi9cbiAgZ2V0IGN1c3RvbUNzc1BhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oJ2N1c3RvbUNzc1BhdGgnLCAnJyk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjdXN0b20gd2ViIGZvbnQgcGF0aCBmcm9tIHRoZSBhcHAgc2V0dGluZ3MuXG4gICAqL1xuICBnZXQgd2ViRm9udFBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PHN0cmluZz4oJ3dlYkZvbnRQYXRoJywgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgYmFzZSBzaGFyZSBVUkwgZnJvbSB0aGUgYXBwIHNldHRpbmdzLlxuICAgKi9cbiAgZ2V0IGJhc2VTaGFyZVVybCgpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQgPSB0aGlzLmFwcENvbmZpZy5nZXQ8c3RyaW5nPignYmFzZVNoYXJlVXJsJywgJycpO1xuICAgIGlmICghcmVzdWx0LmVuZHNXaXRoKCcvJykpIHtcbiAgICAgIHJlc3VsdCArPSAnLyc7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB2aWV3ZXIgY2xvc2UgYnV0dG9uIHBvc2l0aW9uIGZyb20gdGhlIGFwcCBzZXR0aW5ncy5cbiAgICovXG4gIGdldCB2aWV3ZXJDbG9zZUJ1dHRvblBvc2l0aW9uKCk6IENsb3NlQnV0dG9uUG9zaXRpb24ge1xuICAgIHJldHVybiB0aGlzLmFwcENvbmZpZy5nZXQoJ3ZpZXdlci5jbG9zZUJ1dHRvblBvc2l0aW9uJywgQ2xvc2VCdXR0b25Qb3NpdGlvbi5SaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB2aWV3ZXIgbWF4IHJldHJpZXMgZnJvbSB0aGUgYXBwIHNldHRpbmdzLlxuICAgKi9cbiAgZ2V0IHZpZXdlck1heFJldHJpZXMoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PG51bWJlcj4oJ3ZpZXdlci5tYXhSZXRyaWVzJywgMSk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlZCBzdGF0ZSBvZiB0aGUgY29tbWVudCBmZWF0dXJlIGZvciB1cGxvYWQgZGlhbG9nXG4gICAqL1xuICBnZXQgdXBsb2FkQWxsb3dDb21tZW50cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PGJvb2xlYW4+KCdhZGYtdmVyc2lvbi1tYW5hZ2VyLmFsbG93Q29tbWVudHMnLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVkIHN0YXRlIG9mIHRoZSBkb3dubG9hZCBmZWF0dXJlIGZvciB1cGxvYWQgZGlhbG9nXG4gICAqL1xuICBnZXQgdXBsb2FkQWxsb3dEb3dubG9hZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PGJvb2xlYW4+KCdhZGYtdmVyc2lvbi1tYW5hZ2VyLmFsbG93RG93bmxvYWQnLCB0cnVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBlbmFibGVtZW50IG9mIHRoZSBmaWxlIGF1dG8gdHJ5RG93bmxvYWQgZmVhdHVyZSBmcm9tIHRoZSBhcHAgc2V0dGluZ3MuXG4gICAqL1xuICBnZXQgYXV0b0Rvd25sb2FkRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hcHBDb25maWcuZ2V0PGJvb2xlYW4+KCd2aWV3ZXIuZW5hYmxlRmlsZUF1dG9Eb3dubG9hZCcsIHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGZpbGUgYXV0byB0cnlEb3dubG9hZCBzaXplIHRocmVzaG9sZCBpbiBNQiBmcm9tIHRoZSBhcHAgc2V0dGluZ3MuXG4gICAqL1xuICBnZXQgYXV0aERvd25sb2FkVGhyZXNob2xkKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYXBwQ29uZmlnLmdldDxudW1iZXI+KCd2aWV3ZXIuZmlsZUF1dG9Eb3dubG9hZFNpemVUaHJlc2hvbGRJbk1CJywgMTUpO1xuICB9XG59XG4iXX0=