@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.
- package/esm2022/lib/components/document-base-page/document-base-page.component.mjs +226 -0
- package/esm2022/lib/components/generic-error/generic-error.component.mjs +42 -0
- package/esm2022/lib/components/info-drawer/info-drawer.component.mjs +141 -0
- package/esm2022/lib/components/locked-by/locked-by.component.mjs +57 -0
- package/esm2022/lib/components/open-in-app/open-in-app.component.mjs +73 -0
- package/esm2022/lib/components/page-layout/page-layout-content.component.mjs +49 -0
- package/esm2022/lib/components/page-layout/page-layout-error.component.mjs +43 -0
- package/esm2022/lib/components/page-layout/page-layout-header.component.mjs +43 -0
- package/esm2022/lib/components/page-layout/page-layout.component.mjs +64 -0
- package/esm2022/lib/components/page-layout/page-layout.module.mjs +43 -0
- package/esm2022/lib/components/toolbar/toolbar-action/toolbar-action.component.mjs +63 -0
- package/esm2022/lib/components/toolbar/toolbar-button/toolbar-button.component.mjs +79 -0
- package/esm2022/lib/components/toolbar/toolbar-menu/toolbar-menu.component.mjs +92 -0
- package/esm2022/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.mjs +76 -0
- package/esm2022/lib/components/toolbar/toolbar.component.mjs +46 -0
- package/esm2022/lib/deprecated/shared-toolbar.module.mjs +44 -0
- package/esm2022/lib/deprecated/shared.module.mjs +45 -0
- package/esm2022/lib/directives/contextmenu/contextmenu.directive.mjs +114 -0
- package/esm2022/lib/directives/pagination.directive.mjs +59 -0
- package/esm2022/lib/services/aca-mobile-app-switcher.service.mjs +130 -0
- package/esm2022/lib/services/app-hook.service.mjs +78 -0
- package/esm2022/lib/services/app-settings.service.mjs +157 -0
- package/esm2022/lib/services/app.extension.service.mjs +481 -0
- package/esm2022/lib/services/app.service.mjs +239 -0
- package/esm2022/lib/services/auto-download.service.mjs +59 -0
- package/esm2022/lib/services/content-api.service.mjs +281 -0
- package/esm2022/lib/services/navigation-history.service.mjs +55 -0
- package/esm2022/lib/services/node-permission.service.mjs +88 -0
- package/esm2022/lib/services/router.extension.service.mjs +108 -0
- package/esm2022/lib/services/user-profile.service.mjs +76 -0
- package/esm2022/lib/testing/lib-testing-module.mjs +163 -0
- package/esm2022/public-api.mjs +62 -0
- package/esm2022/store/actions/app.actions.mjs +116 -0
- package/esm2022/store/actions/context-menu-action-types.mjs +29 -0
- package/esm2022/store/actions/contextmenu.actions.mjs +41 -0
- package/esm2022/store/actions/library.actions.mjs +67 -0
- package/esm2022/store/actions/metadata-aspect.actions.mjs +32 -0
- package/esm2022/store/actions/node.actions.mjs +217 -0
- package/esm2022/store/actions/router.actions.mjs +56 -0
- package/esm2022/store/actions/search-ai.actions.mjs +45 -0
- package/esm2022/store/actions/search.actions.mjs +41 -0
- package/esm2022/store/actions/snackbar.actions.mjs +68 -0
- package/esm2022/store/actions/template.actions.mjs +45 -0
- package/esm2022/store/actions/upload.actions.mjs +53 -0
- package/esm2022/store/actions/viewer.actions.mjs +93 -0
- package/esm2022/store/effects/router.effects.mjs +110 -0
- package/esm2022/store/effects/snackbar.effects.mjs +80 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-shared-store.mjs +219 -142
- package/fesm2022/alfresco-aca-shared-store.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-shared.mjs +466 -301
- package/fesm2022/alfresco-aca-shared.mjs.map +1 -0
- package/lib/components/document-base-page/document-base-page.component.d.ts +7 -3
- package/lib/components/generic-error/generic-error.component.d.ts +1 -1
- package/lib/components/info-drawer/info-drawer.component.d.ts +1 -1
- package/lib/components/locked-by/locked-by.component.d.ts +1 -1
- package/lib/components/page-layout/page-layout-content.component.d.ts +1 -1
- package/lib/components/page-layout/page-layout.component.d.ts +1 -1
- package/lib/components/toolbar/toolbar-action/toolbar-action.component.d.ts +1 -1
- package/lib/components/toolbar/toolbar-button/toolbar-button.component.d.ts +1 -1
- package/lib/components/toolbar/toolbar-menu/toolbar-menu.component.d.ts +1 -1
- package/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.d.ts +1 -1
- package/lib/components/toolbar/toolbar.component.d.ts +1 -1
- package/lib/directives/contextmenu/contextmenu.directive.d.ts +3 -1
- package/lib/services/app-hook.service.d.ts +6 -6
- package/lib/services/app-settings.service.d.ts +12 -0
- package/lib/services/app.service.d.ts +1 -1
- package/lib/services/navigation-history.service.d.ts +13 -0
- package/lib/services/node-permission.service.d.ts +1 -1
- package/package.json +15 -25
- package/public-api.d.ts +1 -0
- package/store/actions/context-menu-action-types.d.ts +2 -1
- package/store/actions/contextmenu.actions.d.ts +7 -0
- package/store/actions/search-ai.actions.d.ts +2 -1
- package/store/effects/router.effects.d.ts +1 -5
- package/store/effects/snackbar.effects.d.ts +0 -29
- package/esm2020/lib/components/document-base-page/document-base-page.component.mjs +0 -206
- package/esm2020/lib/components/generic-error/generic-error.component.mjs +0 -43
- package/esm2020/lib/components/info-drawer/info-drawer.component.mjs +0 -132
- package/esm2020/lib/components/locked-by/locked-by.component.mjs +0 -54
- package/esm2020/lib/components/open-in-app/open-in-app.component.mjs +0 -68
- package/esm2020/lib/components/page-layout/page-layout-content.component.mjs +0 -50
- package/esm2020/lib/components/page-layout/page-layout-error.component.mjs +0 -42
- package/esm2020/lib/components/page-layout/page-layout-header.component.mjs +0 -42
- package/esm2020/lib/components/page-layout/page-layout.component.mjs +0 -61
- package/esm2020/lib/components/page-layout/page-layout.module.mjs +0 -42
- package/esm2020/lib/components/toolbar/toolbar-action/toolbar-action.component.mjs +0 -58
- package/esm2020/lib/components/toolbar/toolbar-button/toolbar-button.component.mjs +0 -74
- package/esm2020/lib/components/toolbar/toolbar-menu/toolbar-menu.component.mjs +0 -87
- package/esm2020/lib/components/toolbar/toolbar-menu-item/toolbar-menu-item.component.mjs +0 -71
- package/esm2020/lib/components/toolbar/toolbar.component.mjs +0 -44
- package/esm2020/lib/deprecated/shared-toolbar.module.mjs +0 -43
- package/esm2020/lib/deprecated/shared.module.mjs +0 -44
- package/esm2020/lib/directives/contextmenu/contextmenu.directive.mjs +0 -104
- package/esm2020/lib/directives/pagination.directive.mjs +0 -55
- package/esm2020/lib/services/aca-mobile-app-switcher.service.mjs +0 -129
- package/esm2020/lib/services/app-hook.service.mjs +0 -79
- package/esm2020/lib/services/app-settings.service.mjs +0 -140
- package/esm2020/lib/services/app.extension.service.mjs +0 -462
- package/esm2020/lib/services/app.service.mjs +0 -221
- package/esm2020/lib/services/auto-download.service.mjs +0 -60
- package/esm2020/lib/services/content-api.service.mjs +0 -268
- package/esm2020/lib/services/node-permission.service.mjs +0 -89
- package/esm2020/lib/services/router.extension.service.mjs +0 -105
- package/esm2020/lib/services/user-profile.service.mjs +0 -77
- package/esm2020/lib/testing/lib-testing-module.mjs +0 -161
- package/esm2020/public-api.mjs +0 -61
- package/esm2020/store/actions/app.actions.mjs +0 -108
- package/esm2020/store/actions/context-menu-action-types.mjs +0 -28
- package/esm2020/store/actions/contextmenu.actions.mjs +0 -31
- package/esm2020/store/actions/library.actions.mjs +0 -63
- package/esm2020/store/actions/metadata-aspect.actions.mjs +0 -31
- package/esm2020/store/actions/node.actions.mjs +0 -188
- package/esm2020/store/actions/router.actions.mjs +0 -54
- package/esm2020/store/actions/search-ai.actions.mjs +0 -41
- package/esm2020/store/actions/search.actions.mjs +0 -41
- package/esm2020/store/actions/snackbar.actions.mjs +0 -57
- package/esm2020/store/actions/template.actions.mjs +0 -47
- package/esm2020/store/actions/upload.actions.mjs +0 -49
- package/esm2020/store/actions/viewer.actions.mjs +0 -81
- package/esm2020/store/effects/router.effects.mjs +0 -114
- package/esm2020/store/effects/snackbar.effects.mjs +0 -85
- package/fesm2015/alfresco-aca-shared-rules.mjs +0 -795
- package/fesm2015/alfresco-aca-shared-rules.mjs.map +0 -1
- package/fesm2015/alfresco-aca-shared-store.mjs +0 -1278
- package/fesm2015/alfresco-aca-shared-store.mjs.map +0 -1
- package/fesm2015/alfresco-aca-shared.mjs +0 -3278
- package/fesm2015/alfresco-aca-shared.mjs.map +0 -1
- package/fesm2020/alfresco-aca-shared-store.mjs.map +0 -1
- package/fesm2020/alfresco-aca-shared.mjs.map +0 -1
- /package/{esm2020 → esm2022}/alfresco-aca-shared.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/adf-extensions/extensions-data-loader.guard.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/document-base-page/document-base-page.service.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/constants/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/constants/mime-types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/models/viewer.rules.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/routing/plugin-enabled.guard.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/routing/shared.guard.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/node.utils.mjs +0 -0
- /package/{esm2020 → esm2022}/rules/alfresco-aca-shared-rules.mjs +0 -0
- /package/{esm2020 → esm2022}/rules/app.rules.mjs +0 -0
- /package/{esm2020 → esm2022}/rules/navigation.rules.mjs +0 -0
- /package/{esm2020 → esm2022}/rules/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/rules/repository.rules.mjs +0 -0
- /package/{esm2020 → esm2022}/rules/user.rules.mjs +0 -0
- /package/{esm2020 → esm2022}/store/actions/app-action-types.mjs +0 -0
- /package/{esm2020 → esm2022}/store/actions/router-action-types.mjs +0 -0
- /package/{esm2020 → esm2022}/store/actions/template-action-types.mjs +0 -0
- /package/{esm2020 → esm2022}/store/alfresco-aca-shared-store.mjs +0 -0
- /package/{esm2020 → esm2022}/store/models/ai-search-by-term-payload.mjs +0 -0
- /package/{esm2020 → esm2022}/store/models/delete-status.model.mjs +0 -0
- /package/{esm2020 → esm2022}/store/models/deleted-node-info.model.mjs +0 -0
- /package/{esm2020 → esm2022}/store/models/modal-configuration.mjs +0 -0
- /package/{esm2020 → esm2022}/store/models/node-info.model.mjs +0 -0
- /package/{esm2020 → esm2022}/store/models/search-option.model.mjs +0 -0
- /package/{esm2020 → esm2022}/store/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/store/selectors/app.selectors.mjs +0 -0
- /package/{esm2020 → esm2022}/store/states/app.state.mjs +0 -0
- /package/{fesm2020 → fesm2022}/alfresco-aca-shared-rules.mjs +0 -0
- /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
|