@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
@@ -0,0 +1,93 @@
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
+ export var ViewerActionTypes;
25
+ (function (ViewerActionTypes) {
26
+ ViewerActionTypes["ViewFile"] = "VIEW_FILE";
27
+ ViewerActionTypes["ViewNode"] = "VIEW_NODE";
28
+ ViewerActionTypes["ViewNodeVersion"] = "VIEW_NODE_VERSION";
29
+ ViewerActionTypes["FullScreen"] = "FULLSCREEN_VIEWER";
30
+ ViewerActionTypes["ClosePreview"] = "CLOSE_PREVIEW";
31
+ ViewerActionTypes["RefreshPreview"] = "REFRESH_PREVIEW";
32
+ ViewerActionTypes["PluginPreview"] = "PLUGIN_PREVIEW";
33
+ })(ViewerActionTypes || (ViewerActionTypes = {}));
34
+ export class ViewFileAction {
35
+ payload;
36
+ parentId;
37
+ type = ViewerActionTypes.ViewFile;
38
+ constructor(payload, parentId) {
39
+ this.payload = payload;
40
+ this.parentId = parentId;
41
+ }
42
+ }
43
+ export class ViewNodeAction {
44
+ nodeId;
45
+ viewNodeExtras;
46
+ type = ViewerActionTypes.ViewNode;
47
+ constructor(nodeId, viewNodeExtras) {
48
+ this.nodeId = nodeId;
49
+ this.viewNodeExtras = viewNodeExtras;
50
+ }
51
+ }
52
+ export class ViewNodeVersionAction {
53
+ nodeId;
54
+ versionId;
55
+ viewNodeExtras;
56
+ type = ViewerActionTypes.ViewNodeVersion;
57
+ constructor(nodeId, versionId, viewNodeExtras) {
58
+ this.nodeId = nodeId;
59
+ this.versionId = versionId;
60
+ this.viewNodeExtras = viewNodeExtras;
61
+ }
62
+ }
63
+ export class FullscreenViewerAction {
64
+ payload;
65
+ type = ViewerActionTypes.FullScreen;
66
+ constructor(payload) {
67
+ this.payload = payload;
68
+ }
69
+ }
70
+ export class ClosePreviewAction {
71
+ payload;
72
+ type = ViewerActionTypes.ClosePreview;
73
+ constructor(payload) {
74
+ this.payload = payload;
75
+ }
76
+ }
77
+ export class RefreshPreviewAction {
78
+ node;
79
+ type = ViewerActionTypes.RefreshPreview;
80
+ constructor(node) {
81
+ this.node = node;
82
+ }
83
+ }
84
+ export class PluginPreviewAction {
85
+ pluginRoute;
86
+ nodeId;
87
+ type = ViewerActionTypes.PluginPreview;
88
+ constructor(pluginRoute, nodeId) {
89
+ this.pluginRoute = pluginRoute;
90
+ this.nodeId = nodeId;
91
+ }
92
+ }
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2Etc2hhcmVkL3N0b3JlL3NyYy9hY3Rpb25zL3ZpZXdlci5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBS0gsTUFBTSxDQUFOLElBQVksaUJBUVg7QUFSRCxXQUFZLGlCQUFpQjtJQUMzQiwyQ0FBc0IsQ0FBQTtJQUN0QiwyQ0FBc0IsQ0FBQTtJQUN0QiwwREFBcUMsQ0FBQTtJQUNyQyxxREFBZ0MsQ0FBQTtJQUNoQyxtREFBOEIsQ0FBQTtJQUM5Qix1REFBa0MsQ0FBQTtJQUNsQyxxREFBZ0MsQ0FBQTtBQUNsQyxDQUFDLEVBUlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVE1QjtBQU9ELE1BQU0sT0FBTyxjQUFjO0lBR047SUFBNEI7SUFGdEMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztJQUUzQyxZQUFtQixPQUFtQixFQUFTLFFBQWlCO1FBQTdDLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFBUyxhQUFRLEdBQVIsUUFBUSxDQUFTO0lBQUcsQ0FBQztDQUNyRTtBQUVELE1BQU0sT0FBTyxjQUFjO0lBR047SUFBdUI7SUFGakMsSUFBSSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQztJQUUzQyxZQUFtQixNQUFjLEVBQVMsY0FBK0I7UUFBdEQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFTLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtJQUFHLENBQUM7Q0FDOUU7QUFFRCxNQUFNLE9BQU8scUJBQXFCO0lBR2I7SUFBdUI7SUFBMEI7SUFGM0QsSUFBSSxHQUFHLGlCQUFpQixDQUFDLGVBQWUsQ0FBQztJQUVsRCxZQUFtQixNQUFjLEVBQVMsU0FBaUIsRUFBUyxjQUErQjtRQUFoRixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQVMsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUFTLG1CQUFjLEdBQWQsY0FBYyxDQUFpQjtJQUFHLENBQUM7Q0FDeEc7QUFFRCxNQUFNLE9BQU8sc0JBQXNCO0lBR2Q7SUFGVixJQUFJLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBRTdDLFlBQW1CLE9BQWtCO1FBQWxCLFlBQU8sR0FBUCxPQUFPLENBQVc7SUFBRyxDQUFDO0NBQzFDO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtJQUVWO0lBRFYsSUFBSSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQztJQUMvQyxZQUFtQixPQUFtQjtRQUFuQixZQUFPLEdBQVAsT0FBTyxDQUFZO0lBQUcsQ0FBQztDQUMzQztBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFFWjtJQURWLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxjQUFjLENBQUM7SUFDakQsWUFBbUIsSUFBVTtRQUFWLFNBQUksR0FBSixJQUFJLENBQU07SUFBRyxDQUFDO0NBQ2xDO0FBRUQsTUFBTSxPQUFPLG1CQUFtQjtJQUdYO0lBQTRCO0lBRnRDLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUM7SUFFaEQsWUFBbUIsV0FBbUIsRUFBUyxNQUFjO1FBQTFDLGdCQUFXLEdBQVgsV0FBVyxDQUFRO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFHLENBQUM7Q0FDbEUiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgTm9kZSwgTm9kZUVudHJ5IH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5cbmV4cG9ydCBlbnVtIFZpZXdlckFjdGlvblR5cGVzIHtcbiAgVmlld0ZpbGUgPSAnVklFV19GSUxFJyxcbiAgVmlld05vZGUgPSAnVklFV19OT0RFJyxcbiAgVmlld05vZGVWZXJzaW9uID0gJ1ZJRVdfTk9ERV9WRVJTSU9OJyxcbiAgRnVsbFNjcmVlbiA9ICdGVUxMU0NSRUVOX1ZJRVdFUicsXG4gIENsb3NlUHJldmlldyA9ICdDTE9TRV9QUkVWSUVXJyxcbiAgUmVmcmVzaFByZXZpZXcgPSAnUkVGUkVTSF9QUkVWSUVXJyxcbiAgUGx1Z2luUHJldmlldyA9ICdQTFVHSU5fUFJFVklFVydcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWaWV3Tm9kZUV4dHJhcyB7XG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICBwYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgVmlld0ZpbGVBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gVmlld2VyQWN0aW9uVHlwZXMuVmlld0ZpbGU7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBOb2RlRW50cnksIHB1YmxpYyBwYXJlbnRJZD86IHN0cmluZykge31cbn1cblxuZXhwb3J0IGNsYXNzIFZpZXdOb2RlQWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFZpZXdlckFjdGlvblR5cGVzLlZpZXdOb2RlO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBub2RlSWQ6IHN0cmluZywgcHVibGljIHZpZXdOb2RlRXh0cmFzPzogVmlld05vZGVFeHRyYXMpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBWaWV3Tm9kZVZlcnNpb25BY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gVmlld2VyQWN0aW9uVHlwZXMuVmlld05vZGVWZXJzaW9uO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBub2RlSWQ6IHN0cmluZywgcHVibGljIHZlcnNpb25JZDogc3RyaW5nLCBwdWJsaWMgdmlld05vZGVFeHRyYXM/OiBWaWV3Tm9kZUV4dHJhcykge31cbn1cblxuZXhwb3J0IGNsYXNzIEZ1bGxzY3JlZW5WaWV3ZXJBY3Rpb24gaW1wbGVtZW50cyBBY3Rpb24ge1xuICByZWFkb25seSB0eXBlID0gVmlld2VyQWN0aW9uVHlwZXMuRnVsbFNjcmVlbjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcGF5bG9hZDogTm9kZUVudHJ5KSB7fVxufVxuXG5leHBvcnQgY2xhc3MgQ2xvc2VQcmV2aWV3QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFZpZXdlckFjdGlvblR5cGVzLkNsb3NlUHJldmlldztcbiAgY29uc3RydWN0b3IocHVibGljIHBheWxvYWQ/OiBOb2RlRW50cnkpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBSZWZyZXNoUHJldmlld0FjdGlvbiBpbXBsZW1lbnRzIEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGUgPSBWaWV3ZXJBY3Rpb25UeXBlcy5SZWZyZXNoUHJldmlldztcbiAgY29uc3RydWN0b3IocHVibGljIG5vZGU6IE5vZGUpIHt9XG59XG5cbmV4cG9ydCBjbGFzcyBQbHVnaW5QcmV2aWV3QWN0aW9uIGltcGxlbWVudHMgQWN0aW9uIHtcbiAgcmVhZG9ubHkgdHlwZSA9IFZpZXdlckFjdGlvblR5cGVzLlBsdWdpblByZXZpZXc7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHBsdWdpblJvdXRlOiBzdHJpbmcsIHB1YmxpYyBub2RlSWQ6IHN0cmluZykge31cbn1cbiJdfQ==
@@ -0,0 +1,110 @@
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 { Router } from '@angular/router';
26
+ import { Actions, createEffect, ofType } from '@ngrx/effects';
27
+ import { map } from 'rxjs/operators';
28
+ import { Location } from '@angular/common';
29
+ import { RouterActionTypes } from '../actions/router-action-types';
30
+ import { NotificationService } from '@alfresco/adf-core';
31
+ import * as i0 from "@angular/core";
32
+ class RouterEffects {
33
+ notificationService = inject(NotificationService);
34
+ actions$ = inject(Actions);
35
+ router = inject(Router);
36
+ location = inject(Location);
37
+ navigateUrl$ = createEffect(() => this.actions$.pipe(ofType(RouterActionTypes.NavigateUrl), map((action) => {
38
+ if (action.payload) {
39
+ this.router.navigateByUrl(action.payload);
40
+ }
41
+ })), { dispatch: false });
42
+ navigateRoute$ = createEffect(() => this.actions$.pipe(ofType(RouterActionTypes.NavigateRoute), map((action) => {
43
+ this.router.navigate(action.payload);
44
+ })), { dispatch: false });
45
+ navigateToFolder$ = createEffect(() => this.actions$.pipe(ofType(RouterActionTypes.NavigateFolder), map((action) => {
46
+ if (action.payload?.entry) {
47
+ this.navigateToFolder(action.payload.entry);
48
+ }
49
+ })), { dispatch: false });
50
+ navigateToParentFolder$ = createEffect(() => this.actions$.pipe(ofType(RouterActionTypes.NavigateParentFolder), map((action) => {
51
+ if (action.payload?.entry) {
52
+ this.navigateToParentFolder(action.payload.entry);
53
+ }
54
+ })), { dispatch: false });
55
+ navigateToPreviousPage$ = createEffect(() => this.actions$.pipe(ofType(RouterActionTypes.NavigateToPreviousPage), map(() => this.location.back())), { dispatch: false });
56
+ navigateToFolder(node) {
57
+ let link = null;
58
+ const { path, id } = node;
59
+ if (path?.name && path?.elements) {
60
+ const isLibraryPath = this.isLibraryContent(path);
61
+ const parent = path.elements[path.elements.length - 1];
62
+ const area = isLibraryPath ? '/libraries' : '/personal-files';
63
+ if (!isLibraryPath) {
64
+ link = [area, id];
65
+ }
66
+ else {
67
+ // parent.id could be 'Site' folder or child as 'documentLibrary'
68
+ link = [area, parent.name === 'Sites' ? {} : id];
69
+ }
70
+ setTimeout(() => {
71
+ this.router.navigate(link);
72
+ }, 10);
73
+ }
74
+ else {
75
+ this.router.navigate(['/personal-files', node.id]);
76
+ }
77
+ }
78
+ navigateToParentFolder(node) {
79
+ let link = null;
80
+ const { path } = node;
81
+ if (path?.name && path?.elements) {
82
+ const isLibraryPath = this.isLibraryContent(path);
83
+ const parent = path.elements[path.elements.length - 1];
84
+ const area = isLibraryPath ? '/libraries' : '/personal-files';
85
+ if (!isLibraryPath) {
86
+ link = [area, parent.id];
87
+ }
88
+ else {
89
+ // parent.id could be 'Site' folder or child as 'documentLibrary'
90
+ link = [area, parent.name === 'Sites' ? {} : parent.id];
91
+ }
92
+ setTimeout(() => {
93
+ this.router.navigate(link);
94
+ }, 10);
95
+ }
96
+ else {
97
+ this.notificationService.showError('APP.MESSAGES.ERRORS.CANNOT_NAVIGATE_LOCATION');
98
+ }
99
+ }
100
+ isLibraryContent(path) {
101
+ return path && path.elements.length >= 2 && path.elements[1].name === 'Sites';
102
+ }
103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: RouterEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
104
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: RouterEffects });
105
+ }
106
+ export { RouterEffects };
107
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: RouterEffects, decorators: [{
108
+ type: Injectable
109
+ }] });
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2Etc2hhcmVkL3N0b3JlL3NyYy9lZmZlY3RzL3JvdXRlci5lZmZlY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU5RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV6RCxNQUNhLGFBQWE7SUFDaEIsbUJBQW1CLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFDbEQsUUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hCLFFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFcEMsWUFBWSxHQUFHLFlBQVksQ0FDekIsR0FBRyxFQUFFLENBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBb0IsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQ3hELEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ2IsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFO1lBQ2xCLElBQUksQ0FB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Q0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ1I7YUFBTTtZQUNMLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNwRjtJQUNILENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxJQUFjO1FBQ3JDLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxPQUFPLENBQUM7SUFDaEYsQ0FBQzt1R0FySFUsYUFBYTsyR0FBYixhQUFhOztTQUFiLGFBQWE7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY3Rpb25zLCBjcmVhdGVFZmZlY3QsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgTm9kZSwgUGF0aEluZm8gfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IExvY2F0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5hdmlnYXRlUm91dGVBY3Rpb24sIE5hdmlnYXRlVG9Gb2xkZXIsIE5hdmlnYXRlVG9QYXJlbnRGb2xkZXIsIE5hdmlnYXRlVG9QcmV2aW91c1BhZ2UsIE5hdmlnYXRlVXJsQWN0aW9uIH0gZnJvbSAnLi4vYWN0aW9ucy9yb3V0ZXIuYWN0aW9ucyc7XG5pbXBvcnQgeyBSb3V0ZXJBY3Rpb25UeXBlcyB9IGZyb20gJy4uL2FjdGlvbnMvcm91dGVyLWFjdGlvbi10eXBlcyc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJvdXRlckVmZmVjdHMge1xuICBwcml2YXRlIG5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoTm90aWZpY2F0aW9uU2VydmljZSk7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gIHByaXZhdGUgbG9jYXRpb24gPSBpbmplY3QoTG9jYXRpb24pO1xuXG4gIG5hdmlnYXRlVXJsJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGU8TmF2aWdhdGVVcmxBY3Rpb24+KFJvdXRlckFjdGlvblR5cGVzLk5hdmlnYXRlVXJsKSxcbiAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAoYWN0aW9uLnBheWxvYWQpIHtcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYWN0aW9uLnBheWxvYWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIG5hdmlnYXRlUm91dGUkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZTxOYXZpZ2F0ZVJvdXRlQWN0aW9uPihSb3V0ZXJBY3Rpb25UeXBlcy5OYXZpZ2F0ZVJvdXRlKSxcbiAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShhY3Rpb24ucGF5bG9hZCk7XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICBuYXZpZ2F0ZVRvRm9sZGVyJCA9IGNyZWF0ZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICBvZlR5cGU8TmF2aWdhdGVUb0ZvbGRlcj4oUm91dGVyQWN0aW9uVHlwZXMuTmF2aWdhdGVGb2xkZXIpLFxuICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICAgIGlmIChhY3Rpb24ucGF5bG9hZD8uZW50cnkpIHtcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb0ZvbGRlcihhY3Rpb24ucGF5bG9hZC5lbnRyeSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgbmF2aWdhdGVUb1BhcmVudEZvbGRlciQgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlPE5hdmlnYXRlVG9QYXJlbnRGb2xkZXI+KFJvdXRlckFjdGlvblR5cGVzLk5hdmlnYXRlUGFyZW50Rm9sZGVyKSxcbiAgICAgICAgbWFwKChhY3Rpb24pID0+IHtcbiAgICAgICAgICBpZiAoYWN0aW9uLnBheWxvYWQ/LmVudHJ5KSB7XG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9QYXJlbnRGb2xkZXIoYWN0aW9uLnBheWxvYWQuZW50cnkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICksXG4gICAgeyBkaXNwYXRjaDogZmFsc2UgfVxuICApO1xuXG4gIG5hdmlnYXRlVG9QcmV2aW91c1BhZ2UkID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZTxOYXZpZ2F0ZVRvUHJldmlvdXNQYWdlPihSb3V0ZXJBY3Rpb25UeXBlcy5OYXZpZ2F0ZVRvUHJldmlvdXNQYWdlKSxcbiAgICAgICAgbWFwKCgpID0+IHRoaXMubG9jYXRpb24uYmFjaygpKVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvRm9sZGVyKG5vZGU6IE5vZGUpIHtcbiAgICBsZXQgbGluazogYW55W10gPSBudWxsO1xuICAgIGNvbnN0IHsgcGF0aCwgaWQgfSA9IG5vZGU7XG5cbiAgICBpZiAocGF0aD8ubmFtZSAmJiBwYXRoPy5lbGVtZW50cykge1xuICAgICAgY29uc3QgaXNMaWJyYXJ5UGF0aCA9IHRoaXMuaXNMaWJyYXJ5Q29udGVudChwYXRoKTtcblxuICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5lbGVtZW50c1twYXRoLmVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgY29uc3QgYXJlYSA9IGlzTGlicmFyeVBhdGggPyAnL2xpYnJhcmllcycgOiAnL3BlcnNvbmFsLWZpbGVzJztcblxuICAgICAgaWYgKCFpc0xpYnJhcnlQYXRoKSB7XG4gICAgICAgIGxpbmsgPSBbYXJlYSwgaWRdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gcGFyZW50LmlkIGNvdWxkIGJlICdTaXRlJyBmb2xkZXIgb3IgY2hpbGQgYXMgJ2RvY3VtZW50TGlicmFyeSdcbiAgICAgICAgbGluayA9IFthcmVhLCBwYXJlbnQubmFtZSA9PT0gJ1NpdGVzJyA/IHt9IDogaWRdO1xuICAgICAgfVxuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUobGluayk7XG4gICAgICB9LCAxMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL3BlcnNvbmFsLWZpbGVzJywgbm9kZS5pZF0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb1BhcmVudEZvbGRlcihub2RlOiBOb2RlKSB7XG4gICAgbGV0IGxpbms6IGFueVtdID0gbnVsbDtcbiAgICBjb25zdCB7IHBhdGggfSA9IG5vZGU7XG5cbiAgICBpZiAocGF0aD8ubmFtZSAmJiBwYXRoPy5lbGVtZW50cykge1xuICAgICAgY29uc3QgaXNMaWJyYXJ5UGF0aCA9IHRoaXMuaXNMaWJyYXJ5Q29udGVudChwYXRoKTtcblxuICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5lbGVtZW50c1twYXRoLmVsZW1lbnRzLmxlbmd0aCAtIDFdO1xuICAgICAgY29uc3QgYXJlYSA9IGlzTGlicmFyeVBhdGggPyAnL2xpYnJhcmllcycgOiAnL3BlcnNvbmFsLWZpbGVzJztcblxuICAgICAgaWYgKCFpc0xpYnJhcnlQYXRoKSB7XG4gICAgICAgIGxpbmsgPSBbYXJlYSwgcGFyZW50LmlkXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHBhcmVudC5pZCBjb3VsZCBiZSAnU2l0ZScgZm9sZGVyIG9yIGNoaWxkIGFzICdkb2N1bWVudExpYnJhcnknXG4gICAgICAgIGxpbmsgPSBbYXJlYSwgcGFyZW50Lm5hbWUgPT09ICdTaXRlcycgPyB7fSA6IHBhcmVudC5pZF07XG4gICAgICB9XG5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShsaW5rKTtcbiAgICAgIH0sIDEwKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25TZXJ2aWNlLnNob3dFcnJvcignQVBQLk1FU1NBR0VTLkVSUk9SUy5DQU5OT1RfTkFWSUdBVEVfTE9DQVRJT04nKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGlzTGlicmFyeUNvbnRlbnQocGF0aDogUGF0aEluZm8pOiBib29sZWFuIHtcbiAgICByZXR1cm4gcGF0aCAmJiBwYXRoLmVsZW1lbnRzLmxlbmd0aCA+PSAyICYmIHBhdGguZWxlbWVudHNbMV0ubmFtZSA9PT0gJ1NpdGVzJztcbiAgfVxufVxuIl19
@@ -0,0 +1,80 @@
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 { SnackbarContentComponent, TranslationService } from '@alfresco/adf-core';
25
+ import { inject, Injectable } from '@angular/core';
26
+ import { MatSnackBar } from '@angular/material/snack-bar';
27
+ import { Actions, createEffect, ofType } from '@ngrx/effects';
28
+ import { Store } from '@ngrx/store';
29
+ import { map } from 'rxjs/operators';
30
+ import { SnackbarActionTypes } from '../actions/snackbar.actions';
31
+ import * as i0 from "@angular/core";
32
+ class SnackbarEffects {
33
+ store = inject((Store));
34
+ actions$ = inject(Actions);
35
+ snackBar = inject(MatSnackBar);
36
+ translationService = inject(TranslationService);
37
+ infoEffect = createEffect(() => this.actions$.pipe(ofType(SnackbarActionTypes.Info), map((action) => {
38
+ this.showSnackBar(action, 'adf-info-snackbar');
39
+ })), { dispatch: false });
40
+ warningEffect = createEffect(() => this.actions$.pipe(ofType(SnackbarActionTypes.Warning), map((action) => {
41
+ this.showSnackBar(action, 'adf-warning-snackbar');
42
+ })), { dispatch: false });
43
+ errorEffect = createEffect(() => this.actions$.pipe(ofType(SnackbarActionTypes.Error), map((action) => {
44
+ this.showSnackBar(action, 'adf-error-snackbar');
45
+ })), { dispatch: false });
46
+ showSnackBar(action, panelClass) {
47
+ const message = this.translate(action.payload, action.params);
48
+ let actionName = null;
49
+ if (action.userAction) {
50
+ actionName = this.translate(action.userAction.title);
51
+ }
52
+ const snackBarRef = this.snackBar.openFromComponent(SnackbarContentComponent, {
53
+ ...(action.duration !== undefined && action.duration !== null && { duration: action.duration }),
54
+ panelClass,
55
+ data: {
56
+ message,
57
+ actionLabel: actionName,
58
+ actionIcon: 'close',
59
+ actionIconAriaLabel: 'CLOSE',
60
+ showAction: true,
61
+ callActionOnIconClick: false
62
+ }
63
+ });
64
+ if (action.userAction) {
65
+ snackBarRef.onAction().subscribe(() => {
66
+ this.store.dispatch(action.userAction.action);
67
+ });
68
+ }
69
+ }
70
+ translate(message, params) {
71
+ return this.translationService.instant(message, params);
72
+ }
73
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SnackbarEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
74
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SnackbarEffects });
75
+ }
76
+ export { SnackbarEffects };
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.9", ngImport: i0, type: SnackbarEffects, decorators: [{
78
+ type: Injectable
79
+ }] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuZWZmZWN0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1zaGFyZWQvc3RvcmUvc3JjL2VmZmVjdHMvc25hY2tiYXIuZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSx3QkFBd0IsRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBa0IsbUJBQW1CLEVBQWtFLE1BQU0sNkJBQTZCLENBQUM7O0FBRWxKLE1BQ2EsZUFBZTtJQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFDLENBQUEsS0FBZSxDQUFBLENBQUMsQ0FBQztJQUNoQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzNCLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0Isa0JBQWtCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFFeEQsVUFBVSxHQUFHLFlBQVksQ0FDdkIsR0FBRyxFQUFFLENBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLE1BQU0sQ0FBcUIsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQ3BELEdBQUcsQ0FBQyxDQUFDLE1BQTBCLEVBQUUsRUFBRTtRQUNqQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ2pELENBQUMsQ0FBQyxDQUNILEVBQ0gsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQ3BCLENBQUM7SUFFRixhQUFhLEdBQUcsWUFBWSxDQUMxQixHQUFHLEVBQUUsQ0FDSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUF3QixtQkFBbUIsQ0FBQyxPQUFPLENBQUMsRUFDMUQsR0FBRyxDQUFDLENBQUMsTUFBNkIsRUFBRSxFQUFFO1FBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQ0gsRUFDSCxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FDcEIsQ0FBQztJQUVGLFdBQVcsR0FBRyxZQUFZLENBQ3hCLEdBQUcsRUFBRSxDQUNILElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQXNCLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxFQUN0RCxHQUFHLENBQUMsQ0FBQyxNQUEyQixFQUFFLEVBQUU7UUFDbEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUNsRCxDQUFDLENBQUMsQ0FDSCxFQUNILEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUNwQixDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQXNCLEVBQUUsVUFBa0I7UUFDN0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5RCxJQUFJLFVBQVUsR0FBVyxJQUFJLENBQUM7UUFDOUIsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3JCLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEQ7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUF5Qyx3QkFBd0IsRUFBRTtZQUNwSCxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsS0FBSyxTQUFTLElBQUksTUFBTSxDQUFDLFFBQVEsS0FBSyxJQUFJLElBQUksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQy9GLFVBQVU7WUFDVixJQUFJLEVBQUU7Z0JBQ0osT0FBTztnQkFDUCxXQUFXLEVBQUUsVUFBVTtnQkFDdkIsVUFBVSxFQUFFLE9BQU87Z0JBQ25CLG1CQUFtQixFQUFFLE9BQU87Z0JBQzVCLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixxQkFBcUIsRUFBRSxLQUFLO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQ3JCLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sU0FBUyxDQUFDLE9BQWUsRUFBRSxNQUFZO1FBQzdDLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQzt1R0FwRVUsZUFBZTsyR0FBZixlQUFlOztTQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNCBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBTbmFja2JhckNvbnRlbnRDb21wb25lbnQsIFNuYWNrQmFyRGF0YSwgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQXBwU3RvcmUgfSBmcm9tICcuLi9zdGF0ZXMvYXBwLnN0YXRlJztcbmltcG9ydCB7IFNuYWNrYmFyQWN0aW9uLCBTbmFja2JhckFjdGlvblR5cGVzLCBTbmFja2JhckVycm9yQWN0aW9uLCBTbmFja2JhckluZm9BY3Rpb24sIFNuYWNrYmFyV2FybmluZ0FjdGlvbiB9IGZyb20gJy4uL2FjdGlvbnMvc25hY2tiYXIuYWN0aW9ucyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTbmFja2JhckVmZmVjdHMge1xuICBwcml2YXRlIHN0b3JlID0gaW5qZWN0KFN0b3JlPEFwcFN0b3JlPik7XG4gIHByaXZhdGUgYWN0aW9ucyQgPSBpbmplY3QoQWN0aW9ucyk7XG4gIHByaXZhdGUgc25hY2tCYXIgPSBpbmplY3QoTWF0U25hY2tCYXIpO1xuICBwcml2YXRlIHRyYW5zbGF0aW9uU2VydmljZSA9IGluamVjdChUcmFuc2xhdGlvblNlcnZpY2UpO1xuXG4gIGluZm9FZmZlY3QgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlPFNuYWNrYmFySW5mb0FjdGlvbj4oU25hY2tiYXJBY3Rpb25UeXBlcy5JbmZvKSxcbiAgICAgICAgbWFwKChhY3Rpb246IFNuYWNrYmFySW5mb0FjdGlvbikgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd1NuYWNrQmFyKGFjdGlvbiwgJ2FkZi1pbmZvLXNuYWNrYmFyJyk7XG4gICAgICAgIH0pXG4gICAgICApLFxuICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH1cbiAgKTtcblxuICB3YXJuaW5nRWZmZWN0ID0gY3JlYXRlRWZmZWN0KFxuICAgICgpID0+XG4gICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgIG9mVHlwZTxTbmFja2Jhcldhcm5pbmdBY3Rpb24+KFNuYWNrYmFyQWN0aW9uVHlwZXMuV2FybmluZyksXG4gICAgICAgIG1hcCgoYWN0aW9uOiBTbmFja2Jhcldhcm5pbmdBY3Rpb24pID0+IHtcbiAgICAgICAgICB0aGlzLnNob3dTbmFja0JhcihhY3Rpb24sICdhZGYtd2FybmluZy1zbmFja2JhcicpO1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgZXJyb3JFZmZlY3QgPSBjcmVhdGVFZmZlY3QoXG4gICAgKCkgPT5cbiAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgICAgb2ZUeXBlPFNuYWNrYmFyRXJyb3JBY3Rpb24+KFNuYWNrYmFyQWN0aW9uVHlwZXMuRXJyb3IpLFxuICAgICAgICBtYXAoKGFjdGlvbjogU25hY2tiYXJFcnJvckFjdGlvbikgPT4ge1xuICAgICAgICAgIHRoaXMuc2hvd1NuYWNrQmFyKGFjdGlvbiwgJ2FkZi1lcnJvci1zbmFja2JhcicpO1xuICAgICAgICB9KVxuICAgICAgKSxcbiAgICB7IGRpc3BhdGNoOiBmYWxzZSB9XG4gICk7XG5cbiAgcHJpdmF0ZSBzaG93U25hY2tCYXIoYWN0aW9uOiBTbmFja2JhckFjdGlvbiwgcGFuZWxDbGFzczogc3RyaW5nKSB7XG4gICAgY29uc3QgbWVzc2FnZSA9IHRoaXMudHJhbnNsYXRlKGFjdGlvbi5wYXlsb2FkLCBhY3Rpb24ucGFyYW1zKTtcblxuICAgIGxldCBhY3Rpb25OYW1lOiBzdHJpbmcgPSBudWxsO1xuICAgIGlmIChhY3Rpb24udXNlckFjdGlvbikge1xuICAgICAgYWN0aW9uTmFtZSA9IHRoaXMudHJhbnNsYXRlKGFjdGlvbi51c2VyQWN0aW9uLnRpdGxlKTtcbiAgICB9XG4gICAgY29uc3Qgc25hY2tCYXJSZWYgPSB0aGlzLnNuYWNrQmFyLm9wZW5Gcm9tQ29tcG9uZW50PFNuYWNrYmFyQ29udGVudENvbXBvbmVudCwgU25hY2tCYXJEYXRhPihTbmFja2JhckNvbnRlbnRDb21wb25lbnQsIHtcbiAgICAgIC4uLihhY3Rpb24uZHVyYXRpb24gIT09IHVuZGVmaW5lZCAmJiBhY3Rpb24uZHVyYXRpb24gIT09IG51bGwgJiYgeyBkdXJhdGlvbjogYWN0aW9uLmR1cmF0aW9uIH0pLFxuICAgICAgcGFuZWxDbGFzcyxcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgYWN0aW9uTGFiZWw6IGFjdGlvbk5hbWUsXG4gICAgICAgIGFjdGlvbkljb246ICdjbG9zZScsXG4gICAgICAgIGFjdGlvbkljb25BcmlhTGFiZWw6ICdDTE9TRScsXG4gICAgICAgIHNob3dBY3Rpb246IHRydWUsXG4gICAgICAgIGNhbGxBY3Rpb25Pbkljb25DbGljazogZmFsc2VcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhY3Rpb24udXNlckFjdGlvbikge1xuICAgICAgc25hY2tCYXJSZWYub25BY3Rpb24oKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGFjdGlvbi51c2VyQWN0aW9uLmFjdGlvbik7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyYW5zbGF0ZShtZXNzYWdlOiBzdHJpbmcsIHBhcmFtcz86IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRpb25TZXJ2aWNlLmluc3RhbnQobWVzc2FnZSwgcGFyYW1zKTtcbiAgfVxufVxuIl19