@alfresco/aca-content 4.0.0-A.2-9984
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/README.md +24 -0
- package/assets/app.extensions.json +2496 -0
- package/assets/i18n/ar.json +634 -0
- package/assets/i18n/cs.json +634 -0
- package/assets/i18n/da.json +634 -0
- package/assets/i18n/de.json +634 -0
- package/assets/i18n/en.json +634 -0
- package/assets/i18n/es.json +634 -0
- package/assets/i18n/fi.json +634 -0
- package/assets/i18n/fr.json +634 -0
- package/assets/i18n/it.json +634 -0
- package/assets/i18n/ja.json +634 -0
- package/assets/i18n/nb.json +634 -0
- package/assets/i18n/nl.json +634 -0
- package/assets/i18n/pl.json +634 -0
- package/assets/i18n/pt-BR.json +634 -0
- package/assets/i18n/ru.json +634 -0
- package/assets/i18n/sv.json +634 -0
- package/assets/i18n/zh-CN.json +634 -0
- package/assets/images/Wallpaper-BG-generic.svg +39 -0
- package/assets/images/adf-move-file-24px.svg +1 -0
- package/assets/images/baseline-library_books-24px.svg +2 -0
- package/assets/images/baseline-lock-24px.svg +1 -0
- package/assets/images/join-library.svg +32 -0
- package/assets/images/mastHead-bg-shapesPattern.svg +53 -0
- package/esm2020/alfresco-aca-content.mjs +5 -0
- package/esm2020/lib/aca-content.module.mjs +364 -0
- package/esm2020/lib/aca-content.routes.mjs +582 -0
- package/esm2020/lib/components/common/common.module.mjs +49 -0
- package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +58 -0
- package/esm2020/lib/components/common/location-link/location-link.component.mjs +178 -0
- package/esm2020/lib/components/common/logout/logout.component.mjs +61 -0
- package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +66 -0
- package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +59 -0
- package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +66 -0
- package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +33 -0
- package/esm2020/lib/components/context-menu/context-menu.component.mjs +103 -0
- package/esm2020/lib/components/context-menu/context-menu.module.mjs +77 -0
- package/esm2020/lib/components/context-menu/context-menu.service.mjs +104 -0
- package/esm2020/lib/components/context-menu/direction.token.mjs +30 -0
- package/esm2020/lib/components/context-menu/interfaces.mjs +26 -0
- package/esm2020/lib/components/create-menu/create-menu.component.mjs +74 -0
- package/esm2020/lib/components/create-menu/create-menu.module.mjs +45 -0
- package/esm2020/lib/components/details/details.component.mjs +100 -0
- package/esm2020/lib/components/dl-custom-components/document-list-custom-components.module.mjs +49 -0
- package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +93 -0
- package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +52 -0
- package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +114 -0
- package/esm2020/lib/components/favorites/favorites.component.mjs +99 -0
- package/esm2020/lib/components/files/files.component.mjs +312 -0
- package/esm2020/lib/components/header/header.component.mjs +98 -0
- package/esm2020/lib/components/header/header.module.mjs +46 -0
- package/esm2020/lib/components/home/home.component.mjs +50 -0
- package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +57 -0
- package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +93 -0
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +144 -0
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +43 -0
- package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +89 -0
- package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +96 -0
- package/esm2020/lib/components/layout/app-layout/app-layout.component.mjs +147 -0
- package/esm2020/lib/components/layout/layout.module.mjs +75 -0
- package/esm2020/lib/components/libraries/libraries.component.mjs +71 -0
- package/esm2020/lib/components/main-action/main-action.component.mjs +60 -0
- package/esm2020/lib/components/main-action/main-action.module.mjs +46 -0
- package/esm2020/lib/components/node-version/node-version-form.component.mjs +71 -0
- package/esm2020/lib/components/node-version/node-version.module.mjs +79 -0
- package/esm2020/lib/components/recent-files/recent-files.component.mjs +82 -0
- package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +60 -0
- package/esm2020/lib/components/search/search-input/search-input.component.mjs +263 -0
- package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +88 -0
- package/esm2020/lib/components/search/search-input.module.mjs +48 -0
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +92 -0
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +140 -0
- package/esm2020/lib/components/search/search-results/search-results.component.mjs +218 -0
- package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +94 -0
- package/esm2020/lib/components/search/search-results.module.mjs +86 -0
- package/esm2020/lib/components/shared-files/shared-files.component.mjs +79 -0
- package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +81 -0
- package/esm2020/lib/components/shared-link-view/shared-link-view.module.mjs +66 -0
- package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +58 -0
- package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +54 -0
- package/esm2020/lib/components/sidenav/directives/action.directive.mjs +75 -0
- package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +93 -0
- package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +102 -0
- package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +99 -0
- package/esm2020/lib/components/sidenav/sidenav-wrapper/sidenav-wrapper.component.mjs +45 -0
- package/esm2020/lib/components/sidenav/sidenav.component.mjs +76 -0
- package/esm2020/lib/components/sidenav/sidenav.module.mjs +104 -0
- package/esm2020/lib/components/toolbar/document-display-mode/document-display-mode.component.mjs +85 -0
- package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +151 -0
- package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +80 -0
- package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +102 -0
- package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +76 -0
- package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +99 -0
- package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +81 -0
- package/esm2020/lib/components/toolbar/toolbar.module.mjs +89 -0
- package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +102 -0
- package/esm2020/lib/components/trashcan/trashcan.component.mjs +64 -0
- package/esm2020/lib/components/trashcan/trashcan.module.mjs +71 -0
- package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +34 -0
- package/esm2020/lib/components/view-profile/view-profile.component.mjs +158 -0
- package/esm2020/lib/components/view-profile/view-profile.guard.mjs +31 -0
- package/esm2020/lib/components/view-profile/view-profile.module.mjs +43 -0
- package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +120 -0
- package/esm2020/lib/directives/directives.module.mjs +43 -0
- package/esm2020/lib/directives/document-list.directive.mjs +142 -0
- package/esm2020/lib/extensions/core.extensions.module.mjs +66 -0
- package/esm2020/lib/material.module.mjs +58 -0
- package/esm2020/lib/services/content-management.service.mjs +871 -0
- package/esm2020/lib/services/content-service-extension.service.mjs +47 -0
- package/esm2020/lib/services/content-url.service.mjs +73 -0
- package/esm2020/lib/services/node-actions.service.mjs +601 -0
- package/esm2020/lib/services/node-template.service.mjs +150 -0
- package/esm2020/lib/store/app-store.module.mjs +96 -0
- package/esm2020/lib/store/effects/app.effects.mjs +62 -0
- package/esm2020/lib/store/effects/contextmenu.effects.mjs +56 -0
- package/esm2020/lib/store/effects/download.effects.mjs +160 -0
- package/esm2020/lib/store/effects/favorite.effects.mjs +77 -0
- package/esm2020/lib/store/effects/library.effects.mjs +112 -0
- package/esm2020/lib/store/effects/node.effects.mjs +310 -0
- package/esm2020/lib/store/effects/search.effects.mjs +55 -0
- package/esm2020/lib/store/effects/template.effects.mjs +122 -0
- package/esm2020/lib/store/effects/upload.effects.mjs +169 -0
- package/esm2020/lib/store/effects/viewer.effects.mjs +176 -0
- package/esm2020/lib/store/effects.mjs +36 -0
- package/esm2020/lib/store/initial-state.mjs +66 -0
- package/esm2020/lib/store/reducers/app.reducer.mjs +218 -0
- package/esm2020/public-api.mjs +9 -0
- package/fesm2015/alfresco-aca-content.mjs +9937 -0
- package/fesm2015/alfresco-aca-content.mjs.map +1 -0
- package/fesm2020/alfresco-aca-content.mjs +10103 -0
- package/fesm2020/alfresco-aca-content.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/aca-content.module.d.ts +49 -0
- package/lib/aca-content.routes.d.ts +28 -0
- package/lib/components/common/common.module.d.ts +14 -0
- package/lib/components/common/language-picker/language-picker.component.d.ts +5 -0
- package/lib/components/common/location-link/location-link.component.d.ts +49 -0
- package/lib/components/common/logout/logout.component.d.ts +10 -0
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +44 -0
- package/lib/components/context-menu/context-menu-item.component.d.ts +13 -0
- package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +36 -0
- package/lib/components/context-menu/context-menu-overlay.d.ts +30 -0
- package/lib/components/context-menu/context-menu.component.d.ts +49 -0
- package/lib/components/context-menu/context-menu.module.d.ts +18 -0
- package/lib/components/context-menu/context-menu.service.d.ts +44 -0
- package/lib/components/context-menu/direction.token.d.ts +26 -0
- package/lib/components/context-menu/interfaces.d.ts +31 -0
- package/lib/components/create-menu/create-menu.component.d.ts +43 -0
- package/lib/components/create-menu/create-menu.module.d.ts +10 -0
- package/lib/components/details/details.component.d.ts +47 -0
- package/lib/components/dl-custom-components/document-list-custom-components.module.d.ts +13 -0
- package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +43 -0
- package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +17 -0
- package/lib/components/favorite-libraries/favorite-libraries.component.d.ts +55 -0
- package/lib/components/favorites/favorites.component.d.ts +50 -0
- package/lib/components/files/files.component.d.ts +80 -0
- package/lib/components/header/header.component.d.ts +59 -0
- package/lib/components/header/header.module.d.ts +11 -0
- package/lib/components/home/home.component.d.ts +37 -0
- package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +11 -0
- package/lib/components/info-drawer/info.drawer.module.d.ts +19 -0
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +65 -0
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +7 -0
- package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +50 -0
- package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +36 -0
- package/lib/components/layout/app-layout/app-layout.component.d.ts +63 -0
- package/lib/components/layout/layout.module.d.ts +16 -0
- package/lib/components/libraries/libraries.component.d.ts +45 -0
- package/lib/components/main-action/main-action.component.d.ts +42 -0
- package/lib/components/main-action/main-action.module.d.ts +11 -0
- package/lib/components/node-version/node-version-form.component.d.ts +47 -0
- package/lib/components/node-version/node-version.module.d.ts +16 -0
- package/lib/components/recent-files/recent-files.component.d.ts +49 -0
- package/lib/components/search/search-action-menu/search-action-menu.component.d.ts +39 -0
- package/lib/components/search/search-input/search-input.component.d.ts +82 -0
- package/lib/components/search/search-input-control/search-input-control.component.d.ts +51 -0
- package/lib/components/search/search-input.module.d.ts +12 -0
- package/lib/components/search/search-libraries-results/search-libraries-query-builder.service.d.ts +57 -0
- package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +58 -0
- package/lib/components/search/search-results/search-results.component.d.ts +70 -0
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +49 -0
- package/lib/components/search/search-results.module.d.ts +21 -0
- package/lib/components/shared-files/shared-files.component.d.ts +48 -0
- package/lib/components/shared-link-view/shared-link-view.component.d.ts +48 -0
- package/lib/components/shared-link-view/shared-link-view.module.d.ts +14 -0
- package/lib/components/sidenav/components/button-menu.component.d.ts +38 -0
- package/lib/components/sidenav/components/expand-menu.component.d.ts +36 -0
- package/lib/components/sidenav/directives/action.directive.d.ts +14 -0
- package/lib/components/sidenav/directives/active-link.directive.d.ts +46 -0
- package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +45 -0
- package/lib/components/sidenav/directives/menu-panel.directive.d.ts +43 -0
- package/lib/components/sidenav/sidenav-wrapper/sidenav-wrapper.component.d.ts +12 -0
- package/lib/components/sidenav/sidenav.component.d.ts +44 -0
- package/lib/components/sidenav/sidenav.module.d.ts +21 -0
- package/lib/components/toolbar/document-display-mode/document-display-mode.component.d.ts +13 -0
- package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +48 -0
- package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +43 -0
- package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +43 -0
- package/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.d.ts +11 -0
- package/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.d.ts +42 -0
- package/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.d.ts +10 -0
- package/lib/components/toolbar/toolbar.module.d.ts +20 -0
- package/lib/components/toolbar/view-node/view-node.component.d.ts +17 -0
- package/lib/components/trashcan/trashcan.component.d.ts +43 -0
- package/lib/components/trashcan/trashcan.module.d.ts +15 -0
- package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +14 -0
- package/lib/components/view-profile/view-profile.component.d.ts +36 -0
- package/lib/components/view-profile/view-profile.guard.d.ts +12 -0
- package/lib/components/view-profile/view-profile.module.d.ts +9 -0
- package/lib/dialogs/node-template/create-from-template.dialog.d.ts +50 -0
- package/lib/directives/directives.module.d.ts +9 -0
- package/lib/directives/document-list.directive.d.ts +57 -0
- package/lib/extensions/core.extensions.module.d.ts +14 -0
- package/lib/material.module.d.ts +14 -0
- package/lib/services/content-management.service.d.ts +101 -0
- package/lib/services/content-service-extension.service.d.ts +11 -0
- package/lib/services/content-url.service.d.ts +17 -0
- package/lib/services/node-actions.service.d.ts +93 -0
- package/lib/services/node-template.service.d.ts +34 -0
- package/lib/store/app-store.module.d.ts +10 -0
- package/lib/store/effects/app.effects.d.ts +42 -0
- package/lib/store/effects/contextmenu.effects.d.ts +12 -0
- package/lib/store/effects/download.effects.d.ts +50 -0
- package/lib/store/effects/favorite.effects.d.ts +39 -0
- package/lib/store/effects/library.effects.d.ts +44 -0
- package/lib/store/effects/node.effects.d.ts +57 -0
- package/lib/store/effects/search.effects.d.ts +35 -0
- package/lib/store/effects/template.effects.d.ts +55 -0
- package/lib/store/effects/upload.effects.d.ts +53 -0
- package/lib/store/effects/viewer.effects.d.ts +56 -0
- package/lib/store/effects.d.ts +35 -0
- package/lib/store/initial-state.d.ts +27 -0
- package/lib/store/reducers/app.reducer.d.ts +27 -0
- package/package.json +34 -0
- package/public-api.d.ts +5 -0
- package/ui/application.scss +49 -0
- package/ui/colors.scss +98 -0
- package/ui/custom-theme.scss +28 -0
- package/ui/dynamic-theme/custom-background-color.scss +16 -0
- package/ui/dynamic-theme/custom-palette-creator.scss +138 -0
- package/ui/dynamic-theme/custom-text-color.scss +8 -0
- package/ui/dynamic-theme/custom-theme-palettes.scss +29 -0
- package/ui/dynamic-theme/custom-theme.scss.tpl +60 -0
- package/ui/dynamic-theme/index.scss +1 -0
- package/ui/dynamic-theme/theme-configuration.scss.tpl +14 -0
- package/ui/dynamic-theme/typography.scss +63 -0
- package/ui/mixins.scss +26 -0
- package/ui/overrides/adf-about.theme.scss +39 -0
- package/ui/overrides/adf-pagination.theme.scss +47 -0
- package/ui/overrides/adf-style-fixes.theme.scss +18 -0
- package/ui/overrides/ay11.scss +204 -0
- package/ui/theme.scss +57 -0
- package/ui/variables/font-family.scss +1 -0
- package/ui/variables/variables.scss +83 -0
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Alfresco Example Content Application
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
|
6
|
+
*
|
|
7
|
+
* This file is part of the Alfresco Example Content Application.
|
|
8
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
9
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
10
|
+
* provided under the following open source license terms:
|
|
11
|
+
*
|
|
12
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
13
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
14
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
15
|
+
* (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
24
|
+
*/
|
|
25
|
+
import { Component, ViewEncapsulation, Output, EventEmitter, Input } from '@angular/core';
|
|
26
|
+
import { Store } from '@ngrx/store';
|
|
27
|
+
import { Subject } from 'rxjs';
|
|
28
|
+
import { getHeaderColor, getAppName, getLogoPath, getHeaderImagePath, getHeaderTextColor } from '@alfresco/aca-shared/store';
|
|
29
|
+
import { AppExtensionService } from '@alfresco/aca-shared';
|
|
30
|
+
import { takeUntil } from 'rxjs/operators';
|
|
31
|
+
import { AppConfigService } from '@alfresco/adf-core';
|
|
32
|
+
import { isContentServiceEnabled } from '@alfresco/aca-shared/rules';
|
|
33
|
+
import * as i0 from "@angular/core";
|
|
34
|
+
import * as i1 from "@ngrx/store";
|
|
35
|
+
import * as i2 from "@alfresco/aca-shared";
|
|
36
|
+
import * as i3 from "@alfresco/adf-core";
|
|
37
|
+
import * as i4 from "@angular/common";
|
|
38
|
+
import * as i5 from "../search/search-input/search-input.component";
|
|
39
|
+
export class AppHeaderComponent {
|
|
40
|
+
constructor(store, appExtensions, appConfigService) {
|
|
41
|
+
this.store = store;
|
|
42
|
+
this.appExtensions = appExtensions;
|
|
43
|
+
this.appConfigService = appConfigService;
|
|
44
|
+
this.onDestroy$ = new Subject();
|
|
45
|
+
this.toggleClicked = new EventEmitter();
|
|
46
|
+
this.expandedSidenav = true;
|
|
47
|
+
this.data = {};
|
|
48
|
+
this.actions = [];
|
|
49
|
+
this.headerColor$ = store.select(getHeaderColor);
|
|
50
|
+
this.headerTextColor$ = store.select(getHeaderTextColor);
|
|
51
|
+
this.appName$ = store.select(getAppName);
|
|
52
|
+
this.logo$ = store.select(getLogoPath);
|
|
53
|
+
this.landingPage = this.appConfigService.get('landingPage', '/personal-files');
|
|
54
|
+
store.select(getHeaderImagePath).subscribe((path) => {
|
|
55
|
+
document.body.style.setProperty('--header-background-image', `url('${path}')`);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
get isSidenavExpanded() {
|
|
59
|
+
return !this.data.isMenuMinimized ?? this.expandedSidenav;
|
|
60
|
+
}
|
|
61
|
+
ngOnInit() {
|
|
62
|
+
this.appExtensions
|
|
63
|
+
.getHeaderActions()
|
|
64
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
65
|
+
.subscribe((actions) => {
|
|
66
|
+
this.actions = actions;
|
|
67
|
+
});
|
|
68
|
+
this.headerTextColor$.subscribe((color) => {
|
|
69
|
+
document.documentElement.style.setProperty('--adf-header-text-color', color);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
onToggleSidenav(_event) {
|
|
73
|
+
this.data.layout.toggleMenu();
|
|
74
|
+
}
|
|
75
|
+
isContentServiceEnabled() {
|
|
76
|
+
return isContentServiceEnabled();
|
|
77
|
+
}
|
|
78
|
+
ngOnDestroy() {
|
|
79
|
+
this.onDestroy$.next(true);
|
|
80
|
+
this.onDestroy$.complete();
|
|
81
|
+
}
|
|
82
|
+
trackByActionId(_, action) {
|
|
83
|
+
return action.id;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
AppHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppHeaderComponent, deps: [{ token: i1.Store }, { token: i2.AppExtensionService }, { token: i3.AppConfigService }], target: i0.ɵɵFactoryTarget.Component });
|
|
87
|
+
AppHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: AppHeaderComponent, selector: "app-header", inputs: { expandedSidenav: "expandedSidenav", data: "data" }, outputs: { toggleClicked: "toggleClicked" }, host: { classAttribute: "app-header" }, ngImport: i0, template: "<adf-layout-header\n [logo]=\"logo$ | async\"\n [redirectUrl]=\"landingPage\"\n [tooltip]=\"appName$ | async\"\n [color]=\"headerColor$ | async\"\n [title]=\"appName$ | async\"\n (clicked)=\"onToggleSidenav($event)\"\n [expandedSidenav]=\"isSidenavExpanded\"\n>\n <div class=\"adf-toolbar--spacer adf-toolbar-divider\"></div>\n\n <aca-search-input *ngIf=\"isContentServiceEnabled()\"></aca-search-input>\n\n <adf-toolbar-divider></adf-toolbar-divider>\n\n <ng-container *ngFor=\"let actionRef of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"actionRef\"> </aca-toolbar-action>\n </ng-container>\n</adf-layout-header>\n", styles: [".app-header{box-shadow:0 3px 5px -1px #00000005,0 6px 10px #00000004,0 1px 18px #00000003;z-index:2}.app-header .mat-toolbar{background-image:var(--header-background-image)!important;background-repeat:no-repeat!important}.app-header .mat-toolbar .aca-current-user{color:var(--theme-foreground-text-color)!important}.app-header .mat-toolbar .adf-toolbar-divider div{background-color:var(--theme-foreground-text-color)!important}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.HeaderLayoutComponent, selector: "adf-layout-header", inputs: ["title", "logo", "redirectUrl", "tooltip", "color", "showSidenavToggle", "expandedSidenav", "position"], outputs: ["clicked"] }, { kind: "component", type: i3.ToolbarDividerComponent, selector: "adf-toolbar-divider" }, { kind: "component", type: i5.SearchInputComponent, selector: "aca-search-input" }, { kind: "component", type: i2.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["type", "color", "actionRef"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None });
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppHeaderComponent, decorators: [{
|
|
89
|
+
type: Component,
|
|
90
|
+
args: [{ selector: 'app-header', encapsulation: ViewEncapsulation.None, host: { class: 'app-header' }, template: "<adf-layout-header\n [logo]=\"logo$ | async\"\n [redirectUrl]=\"landingPage\"\n [tooltip]=\"appName$ | async\"\n [color]=\"headerColor$ | async\"\n [title]=\"appName$ | async\"\n (clicked)=\"onToggleSidenav($event)\"\n [expandedSidenav]=\"isSidenavExpanded\"\n>\n <div class=\"adf-toolbar--spacer adf-toolbar-divider\"></div>\n\n <aca-search-input *ngIf=\"isContentServiceEnabled()\"></aca-search-input>\n\n <adf-toolbar-divider></adf-toolbar-divider>\n\n <ng-container *ngFor=\"let actionRef of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"actionRef\"> </aca-toolbar-action>\n </ng-container>\n</adf-layout-header>\n", styles: [".app-header{box-shadow:0 3px 5px -1px #00000005,0 6px 10px #00000004,0 1px 18px #00000003;z-index:2}.app-header .mat-toolbar{background-image:var(--header-background-image)!important;background-repeat:no-repeat!important}.app-header .mat-toolbar .aca-current-user{color:var(--theme-foreground-text-color)!important}.app-header .mat-toolbar .adf-toolbar-divider div{background-color:var(--theme-foreground-text-color)!important}\n"] }]
|
|
91
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.AppExtensionService }, { type: i3.AppConfigService }]; }, propDecorators: { toggleClicked: [{
|
|
92
|
+
type: Output
|
|
93
|
+
}], expandedSidenav: [{
|
|
94
|
+
type: Input
|
|
95
|
+
}], data: [{
|
|
96
|
+
type: Input
|
|
97
|
+
}] } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDN0csT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBWSxjQUFjLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQTBCLE1BQU0sb0JBQW9CLENBQUM7QUFDOUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7QUFTckUsTUFBTSxPQUFPLGtCQUFrQjtJQXNCN0IsWUFBbUIsS0FBc0IsRUFBVSxhQUFrQyxFQUFVLGdCQUFrQztRQUE5RyxVQUFLLEdBQUwsS0FBSyxDQUFpQjtRQUFVLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFyQnpILGVBQVUsR0FBcUIsSUFBSSxPQUFPLEVBQVcsQ0FBQztRQUc5RCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFMUIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFFdkIsU0FBSSxHQUFtRSxFQUFFLENBQUM7UUFZbkYsWUFBTyxHQUE0QixFQUFFLENBQUM7UUFHcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFFL0UsS0FBSyxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2xELFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQywyQkFBMkIsRUFBRSxRQUFRLElBQUksSUFBSSxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBdEJELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzVELENBQUM7SUFzQkQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhO2FBQ2YsZ0JBQWdCLEVBQUU7YUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDaEMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9FLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFlO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsT0FBTyx1QkFBdUIsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZUFBZSxDQUFDLENBQVMsRUFBRSxNQUF3QjtRQUNqRCxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7K0dBOURVLGtCQUFrQjttR0FBbEIsa0JBQWtCLHFNQzFDL0Isc3BCQW1CQTsyRkR1QmEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7NkpBTTdCLGFBQWE7c0JBRFosTUFBTTtnQkFHRSxlQUFlO3NCQUF2QixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3RW5jYXBzdWxhdGlvbiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250ZW50QWN0aW9uUmVmIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IEFwcFN0b3JlLCBnZXRIZWFkZXJDb2xvciwgZ2V0QXBwTmFtZSwgZ2V0TG9nb1BhdGgsIGdldEhlYWRlckltYWdlUGF0aCwgZ2V0SGVhZGVyVGV4dENvbG9yIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UsIFNpZGVuYXZMYXlvdXRDb21wb25lbnQgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgaXNDb250ZW50U2VydmljZUVuYWJsZWQgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9ydWxlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1oZWFkZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtaGVhZGVyJyB9XG59KVxuZXhwb3J0IGNsYXNzIEFwcEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBAT3V0cHV0KClcbiAgdG9nZ2xlQ2xpY2tlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBASW5wdXQoKSBleHBhbmRlZFNpZGVuYXYgPSB0cnVlO1xuXG4gIEBJbnB1dCgpIGRhdGE6IHsgbGF5b3V0PzogU2lkZW5hdkxheW91dENvbXBvbmVudDsgaXNNZW51TWluaW1pemVkPzogYm9vbGVhbiB9ID0ge307XG5cbiAgZ2V0IGlzU2lkZW5hdkV4cGFuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5kYXRhLmlzTWVudU1pbmltaXplZCA/PyB0aGlzLmV4cGFuZGVkU2lkZW5hdjtcbiAgfVxuXG4gIGFwcE5hbWUkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGhlYWRlckNvbG9yJDogT2JzZXJ2YWJsZTxhbnk+O1xuICBoZWFkZXJUZXh0Q29sb3IkOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGxvZ28kOiBPYnNlcnZhYmxlPHN0cmluZz47XG4gIGxhbmRpbmdQYWdlOiBzdHJpbmc7XG5cbiAgYWN0aW9uczogQXJyYXk8Q29udGVudEFjdGlvblJlZj4gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RvcmU6IFN0b3JlPEFwcFN0b3JlPiwgcHJpdmF0ZSBhcHBFeHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlLCBwcml2YXRlIGFwcENvbmZpZ1NlcnZpY2U6IEFwcENvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLmhlYWRlckNvbG9yJCA9IHN0b3JlLnNlbGVjdChnZXRIZWFkZXJDb2xvcik7XG4gICAgdGhpcy5oZWFkZXJUZXh0Q29sb3IkID0gc3RvcmUuc2VsZWN0KGdldEhlYWRlclRleHRDb2xvcik7XG4gICAgdGhpcy5hcHBOYW1lJCA9IHN0b3JlLnNlbGVjdChnZXRBcHBOYW1lKTtcbiAgICB0aGlzLmxvZ28kID0gc3RvcmUuc2VsZWN0KGdldExvZ29QYXRoKTtcbiAgICB0aGlzLmxhbmRpbmdQYWdlID0gdGhpcy5hcHBDb25maWdTZXJ2aWNlLmdldCgnbGFuZGluZ1BhZ2UnLCAnL3BlcnNvbmFsLWZpbGVzJyk7XG5cbiAgICBzdG9yZS5zZWxlY3QoZ2V0SGVhZGVySW1hZ2VQYXRoKS5zdWJzY3JpYmUoKHBhdGgpID0+IHtcbiAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoJy0taGVhZGVyLWJhY2tncm91bmQtaW1hZ2UnLCBgdXJsKCcke3BhdGh9JylgKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYXBwRXh0ZW5zaW9uc1xuICAgICAgLmdldEhlYWRlckFjdGlvbnMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChhY3Rpb25zKSA9PiB7XG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IGFjdGlvbnM7XG4gICAgICB9KTtcblxuICAgIHRoaXMuaGVhZGVyVGV4dENvbG9yJC5zdWJzY3JpYmUoKGNvbG9yKSA9PiB7XG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tYWRmLWhlYWRlci10ZXh0LWNvbG9yJywgY29sb3IpO1xuICAgIH0pO1xuICB9XG5cbiAgb25Ub2dnbGVTaWRlbmF2KF9ldmVudDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGF0YS5sYXlvdXQudG9nZ2xlTWVudSgpO1xuICB9XG5cbiAgaXNDb250ZW50U2VydmljZUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzQ29udGVudFNlcnZpY2VFbmFibGVkKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHRyYWNrQnlBY3Rpb25JZChfOiBudW1iZXIsIGFjdGlvbjogQ29udGVudEFjdGlvblJlZikge1xuICAgIHJldHVybiBhY3Rpb24uaWQ7XG4gIH1cbn1cbiIsIjxhZGYtbGF5b3V0LWhlYWRlclxuICBbbG9nb109XCJsb2dvJCB8IGFzeW5jXCJcbiAgW3JlZGlyZWN0VXJsXT1cImxhbmRpbmdQYWdlXCJcbiAgW3Rvb2x0aXBdPVwiYXBwTmFtZSQgfCBhc3luY1wiXG4gIFtjb2xvcl09XCJoZWFkZXJDb2xvciQgfCBhc3luY1wiXG4gIFt0aXRsZV09XCJhcHBOYW1lJCB8IGFzeW5jXCJcbiAgKGNsaWNrZWQpPVwib25Ub2dnbGVTaWRlbmF2KCRldmVudClcIlxuICBbZXhwYW5kZWRTaWRlbmF2XT1cImlzU2lkZW5hdkV4cGFuZGVkXCJcbj5cbiAgPGRpdiBjbGFzcz1cImFkZi10b29sYmFyLS1zcGFjZXIgYWRmLXRvb2xiYXItZGl2aWRlclwiPjwvZGl2PlxuXG4gIDxhY2Etc2VhcmNoLWlucHV0ICpuZ0lmPVwiaXNDb250ZW50U2VydmljZUVuYWJsZWQoKVwiPjwvYWNhLXNlYXJjaC1pbnB1dD5cblxuICA8YWRmLXRvb2xiYXItZGl2aWRlcj48L2FkZi10b29sYmFyLWRpdmlkZXI+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uUmVmIG9mIGFjdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlBY3Rpb25JZFwiPlxuICAgIDxhY2EtdG9vbGJhci1hY3Rpb24gW2FjdGlvblJlZl09XCJhY3Rpb25SZWZcIj4gPC9hY2EtdG9vbGJhci1hY3Rpb24+XG4gIDwvbmctY29udGFpbmVyPlxuPC9hZGYtbGF5b3V0LWhlYWRlcj5cbiJdfQ==
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Alfresco Example Content Application
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
|
6
|
+
*
|
|
7
|
+
* This file is part of the Alfresco Example Content Application.
|
|
8
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
9
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
10
|
+
* provided under the following open source license terms:
|
|
11
|
+
*
|
|
12
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
13
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
14
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
15
|
+
* (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
24
|
+
*/
|
|
25
|
+
import { NgModule } from '@angular/core';
|
|
26
|
+
import { CommonModule } from '@angular/common';
|
|
27
|
+
import { CoreModule } from '@alfresco/adf-core';
|
|
28
|
+
import { AppHeaderComponent } from './header.component';
|
|
29
|
+
import { AppSearchInputModule } from '../search/search-input.module';
|
|
30
|
+
import { AppToolbarModule } from '../toolbar/toolbar.module';
|
|
31
|
+
import * as i0 from "@angular/core";
|
|
32
|
+
import * as i1 from "@alfresco/adf-core";
|
|
33
|
+
export class AppHeaderModule {
|
|
34
|
+
}
|
|
35
|
+
AppHeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppHeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
36
|
+
AppHeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: AppHeaderModule, declarations: [AppHeaderComponent], imports: [CommonModule, i1.CoreModule, AppSearchInputModule, AppToolbarModule], exports: [AppHeaderComponent] });
|
|
37
|
+
AppHeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppHeaderModule, imports: [CommonModule, CoreModule.forChild(), AppSearchInputModule, AppToolbarModule] });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppHeaderModule, decorators: [{
|
|
39
|
+
type: NgModule,
|
|
40
|
+
args: [{
|
|
41
|
+
imports: [CommonModule, CoreModule.forChild(), AppSearchInputModule, AppToolbarModule],
|
|
42
|
+
declarations: [AppHeaderComponent],
|
|
43
|
+
exports: [AppHeaderComponent]
|
|
44
|
+
}]
|
|
45
|
+
}] });
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQU83RCxNQUFNLE9BQU8sZUFBZTs7NEdBQWYsZUFBZTs2R0FBZixlQUFlLGlCQUhYLGtCQUFrQixhQUR2QixZQUFZLGlCQUF5QixvQkFBb0IsRUFBRSxnQkFBZ0IsYUFFM0Usa0JBQWtCOzZHQUVqQixlQUFlLFlBSmhCLFlBQVksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCOzJGQUkxRSxlQUFlO2tCQUwzQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLENBQUM7b0JBQ3RGLFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO29CQUNsQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztpQkFDOUIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBBcHBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwU2VhcmNoSW5wdXRNb2R1bGUgfSBmcm9tICcuLi9zZWFyY2gvc2VhcmNoLWlucHV0Lm1vZHVsZSc7XG5pbXBvcnQgeyBBcHBUb29sYmFyTW9kdWxlIH0gZnJvbSAnLi4vdG9vbGJhci90b29sYmFyLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIENvcmVNb2R1bGUuZm9yQ2hpbGQoKSwgQXBwU2VhcmNoSW5wdXRNb2R1bGUsIEFwcFRvb2xiYXJNb2R1bGVdLFxuICBkZWNsYXJhdGlvbnM6IFtBcHBIZWFkZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQXBwSGVhZGVyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBcHBIZWFkZXJNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Alfresco Example Content Application
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
|
6
|
+
*
|
|
7
|
+
* This file is part of the Alfresco Example Content Application.
|
|
8
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
9
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
10
|
+
* provided under the following open source license terms:
|
|
11
|
+
*
|
|
12
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
13
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
14
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
15
|
+
* (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
24
|
+
*/
|
|
25
|
+
import { Component } from '@angular/core';
|
|
26
|
+
import { Router } from '@angular/router';
|
|
27
|
+
import { AppConfigService } from '@alfresco/adf-core';
|
|
28
|
+
import * as i0 from "@angular/core";
|
|
29
|
+
import * as i1 from "@alfresco/adf-core";
|
|
30
|
+
import * as i2 from "@angular/router";
|
|
31
|
+
export class HomeComponent {
|
|
32
|
+
constructor(appConfig, router) {
|
|
33
|
+
this.appConfig = appConfig;
|
|
34
|
+
this.router = router;
|
|
35
|
+
this.DEFAULT_LANDING_PAGE = '/personal-files';
|
|
36
|
+
}
|
|
37
|
+
ngOnInit() {
|
|
38
|
+
const landingPage = this.appConfig.get('landingPage', this.DEFAULT_LANDING_PAGE);
|
|
39
|
+
this.router.navigateByUrl(landingPage);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
HomeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HomeComponent, deps: [{ token: i1.AppConfigService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
HomeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: HomeComponent, selector: "ng-component", ngImport: i0, template: '', isInline: true });
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: HomeComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{
|
|
47
|
+
template: ''
|
|
48
|
+
}]
|
|
49
|
+
}], ctorParameters: function () { return [{ type: i1.AppConfigService }, { type: i2.Router }]; } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9tZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvaG9tZS9ob21lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7OztBQUt0RCxNQUFNLE9BQU8sYUFBYTtJQUd4QixZQUFvQixTQUEyQixFQUFVLE1BQWM7UUFBbkQsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRjlELHlCQUFvQixHQUFHLGlCQUFpQixDQUFDO0lBRXdCLENBQUM7SUFFM0UsUUFBUTtRQUNOLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNqRixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN6QyxDQUFDOzswR0FSVSxhQUFhOzhGQUFiLGFBQWEsb0RBRmQsRUFBRTsyRkFFRCxhQUFhO2tCQUh6QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxFQUFFO2lCQUNiIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogQ29weXJpZ2h0IChDKSAyMDA1IC0gMjAyMCBBbGZyZXNjbyBTb2Z0d2FyZSBMaW1pdGVkXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGFsb25nIHdpdGggQWxmcmVzY28uIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFwcENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6ICcnXG59KVxuZXhwb3J0IGNsYXNzIEhvbWVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICByZWFkb25seSBERUZBVUxUX0xBTkRJTkdfUEFHRSA9ICcvcGVyc29uYWwtZmlsZXMnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBwQ29uZmlnOiBBcHBDb25maWdTZXJ2aWNlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIGNvbnN0IGxhbmRpbmdQYWdlID0gdGhpcy5hcHBDb25maWcuZ2V0KCdsYW5kaW5nUGFnZScsIHRoaXMuREVGQVVMVF9MQU5ESU5HX1BBR0UpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwobGFuZGluZ1BhZ2UpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Alfresco Example Content Application
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
|
6
|
+
*
|
|
7
|
+
* This file is part of the Alfresco Example Content Application.
|
|
8
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
9
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
10
|
+
* provided under the following open source license terms:
|
|
11
|
+
*
|
|
12
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
13
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
14
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
15
|
+
* (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
24
|
+
*/
|
|
25
|
+
import { Component, Input } from '@angular/core';
|
|
26
|
+
import { MinimalNodeEntryEntity } from '@alfresco/js-api';
|
|
27
|
+
import { NodePermissionService, isLocked } from '@alfresco/aca-shared';
|
|
28
|
+
import * as i0 from "@angular/core";
|
|
29
|
+
import * as i1 from "@alfresco/aca-shared";
|
|
30
|
+
import * as i2 from "@angular/material/card";
|
|
31
|
+
import * as i3 from "@alfresco/adf-content-services";
|
|
32
|
+
export class CommentsTabComponent {
|
|
33
|
+
constructor(permission) {
|
|
34
|
+
this.permission = permission;
|
|
35
|
+
}
|
|
36
|
+
get canUpdateNode() {
|
|
37
|
+
if (!this.node) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
if (this.node.isFolder || (this.node.isFile && !isLocked({ entry: this.node }))) {
|
|
41
|
+
return this.permission.check(this.node, ['update']);
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
CommentsTabComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: CommentsTabComponent, deps: [{ token: i1.NodePermissionService }], target: i0.ɵɵFactoryTarget.Component });
|
|
47
|
+
CommentsTabComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: CommentsTabComponent, selector: "app-comments-tab", inputs: { node: "node" }, ngImport: i0, template: `<mat-card><adf-node-comments [readOnly]="!canUpdateNode" [nodeId]="node?.id"></adf-node-comments></mat-card>`, isInline: true, dependencies: [{ kind: "component", type: i2.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "component", type: i3.NodeCommentsComponent, selector: "adf-node-comments", inputs: ["nodeId", "readOnly"] }] });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: CommentsTabComponent, decorators: [{
|
|
49
|
+
type: Component,
|
|
50
|
+
args: [{
|
|
51
|
+
selector: 'app-comments-tab',
|
|
52
|
+
template: `<mat-card><adf-node-comments [readOnly]="!canUpdateNode" [nodeId]="node?.id"></adf-node-comments></mat-card>`
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i1.NodePermissionService }]; }, propDecorators: { node: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}] } });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWVudHMtdGFiLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9jb21tZW50cy10YWIvY29tbWVudHMtdGFiLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBTXZFLE1BQU0sT0FBTyxvQkFBb0I7SUFJL0IsWUFBb0IsVUFBaUM7UUFBakMsZUFBVSxHQUFWLFVBQVUsQ0FBdUI7SUFBRyxDQUFDO0lBRXpELElBQUksYUFBYTtRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQy9FLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2lIQWZVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLGtGQUZyQiw4R0FBOEc7MkZBRTdHLG9CQUFvQjtrQkFKaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixRQUFRLEVBQUUsOEdBQThHO2lCQUN6SDs0R0FHQyxJQUFJO3NCQURILEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1pbmltYWxOb2RlRW50cnlFbnRpdHkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IE5vZGVQZXJtaXNzaW9uU2VydmljZSwgaXNMb2NrZWQgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1jb21tZW50cy10YWInLFxuICB0ZW1wbGF0ZTogYDxtYXQtY2FyZD48YWRmLW5vZGUtY29tbWVudHMgW3JlYWRPbmx5XT1cIiFjYW5VcGRhdGVOb2RlXCIgW25vZGVJZF09XCJub2RlPy5pZFwiPjwvYWRmLW5vZGUtY29tbWVudHM+PC9tYXQtY2FyZD5gXG59KVxuZXhwb3J0IGNsYXNzIENvbW1lbnRzVGFiQ29tcG9uZW50IHtcbiAgQElucHV0KClcbiAgbm9kZTogTWluaW1hbE5vZGVFbnRyeUVudGl0eTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcm1pc3Npb246IE5vZGVQZXJtaXNzaW9uU2VydmljZSkge31cblxuICBnZXQgY2FuVXBkYXRlTm9kZSgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMubm9kZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm5vZGUuaXNGb2xkZXIgfHwgKHRoaXMubm9kZS5pc0ZpbGUgJiYgIWlzTG9ja2VkKHsgZW50cnk6IHRoaXMubm9kZSB9KSkpIHtcbiAgICAgIHJldHVybiB0aGlzLnBlcm1pc3Npb24uY2hlY2sodGhpcy5ub2RlLCBbJ3VwZGF0ZSddKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Alfresco Example Content Application
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
|
6
|
+
*
|
|
7
|
+
* This file is part of the Alfresco Example Content Application.
|
|
8
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
9
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
10
|
+
* provided under the following open source license terms:
|
|
11
|
+
*
|
|
12
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
13
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
14
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
15
|
+
* (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
24
|
+
*/
|
|
25
|
+
import { ContentMetadataModule, ContentModule, VersionManagerModule } from '@alfresco/adf-content-services';
|
|
26
|
+
import { CoreModule } from '@alfresco/adf-core';
|
|
27
|
+
import { ExtensionsModule } from '@alfresco/adf-extensions';
|
|
28
|
+
import { CommonModule } from '@angular/common';
|
|
29
|
+
import { NgModule } from '@angular/core';
|
|
30
|
+
import { DirectivesModule } from '../../directives/directives.module';
|
|
31
|
+
import { MaterialModule } from '../../material.module';
|
|
32
|
+
import { CommentsTabComponent } from './comments-tab/comments-tab.component';
|
|
33
|
+
import { MetadataTabComponent } from './metadata-tab/metadata-tab.component';
|
|
34
|
+
import { LibraryMetadataTabComponent } from './library-metadata-tab/library-metadata-tab.component';
|
|
35
|
+
import { LibraryMetadataFormComponent } from './library-metadata-tab/library-metadata-form.component';
|
|
36
|
+
import { VersionsTabComponent } from './versions-tab/versions-tab.component';
|
|
37
|
+
import { A11yModule } from '@angular/cdk/a11y';
|
|
38
|
+
import { SharedInfoDrawerModule } from '@alfresco/aca-shared';
|
|
39
|
+
import * as i0 from "@angular/core";
|
|
40
|
+
import * as i1 from "@alfresco/adf-core";
|
|
41
|
+
import * as i2 from "@alfresco/adf-content-services";
|
|
42
|
+
export class AppInfoDrawerModule {
|
|
43
|
+
}
|
|
44
|
+
AppInfoDrawerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppInfoDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
45
|
+
AppInfoDrawerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.2", ngImport: i0, type: AppInfoDrawerModule, declarations: [MetadataTabComponent, CommentsTabComponent, VersionsTabComponent, LibraryMetadataTabComponent, LibraryMetadataFormComponent], imports: [CommonModule,
|
|
46
|
+
MaterialModule, i1.CoreModule, i2.ContentModule, ExtensionsModule,
|
|
47
|
+
ContentMetadataModule,
|
|
48
|
+
VersionManagerModule,
|
|
49
|
+
DirectivesModule,
|
|
50
|
+
A11yModule,
|
|
51
|
+
SharedInfoDrawerModule], exports: [MetadataTabComponent,
|
|
52
|
+
CommentsTabComponent,
|
|
53
|
+
VersionsTabComponent,
|
|
54
|
+
LibraryMetadataTabComponent,
|
|
55
|
+
LibraryMetadataFormComponent,
|
|
56
|
+
SharedInfoDrawerModule] });
|
|
57
|
+
AppInfoDrawerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppInfoDrawerModule, imports: [CommonModule,
|
|
58
|
+
MaterialModule,
|
|
59
|
+
CoreModule.forChild(),
|
|
60
|
+
ContentModule.forChild(),
|
|
61
|
+
ExtensionsModule,
|
|
62
|
+
ContentMetadataModule,
|
|
63
|
+
VersionManagerModule,
|
|
64
|
+
DirectivesModule,
|
|
65
|
+
A11yModule,
|
|
66
|
+
SharedInfoDrawerModule, SharedInfoDrawerModule] });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: AppInfoDrawerModule, decorators: [{
|
|
68
|
+
type: NgModule,
|
|
69
|
+
args: [{
|
|
70
|
+
imports: [
|
|
71
|
+
CommonModule,
|
|
72
|
+
MaterialModule,
|
|
73
|
+
CoreModule.forChild(),
|
|
74
|
+
ContentModule.forChild(),
|
|
75
|
+
ExtensionsModule,
|
|
76
|
+
ContentMetadataModule,
|
|
77
|
+
VersionManagerModule,
|
|
78
|
+
DirectivesModule,
|
|
79
|
+
A11yModule,
|
|
80
|
+
SharedInfoDrawerModule
|
|
81
|
+
],
|
|
82
|
+
declarations: [MetadataTabComponent, CommentsTabComponent, VersionsTabComponent, LibraryMetadataTabComponent, LibraryMetadataFormComponent],
|
|
83
|
+
exports: [
|
|
84
|
+
MetadataTabComponent,
|
|
85
|
+
CommentsTabComponent,
|
|
86
|
+
VersionsTabComponent,
|
|
87
|
+
LibraryMetadataTabComponent,
|
|
88
|
+
LibraryMetadataFormComponent,
|
|
89
|
+
SharedInfoDrawerModule
|
|
90
|
+
]
|
|
91
|
+
}]
|
|
92
|
+
}] });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby5kcmF3ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2luZm8tZHJhd2VyL2luZm8uZHJhd2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUN0RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDL0MsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUF5QjlELE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFWZixvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSxvQkFBb0IsRUFBRSwyQkFBMkIsRUFBRSw0QkFBNEIsYUFYeEksWUFBWTtRQUNaLGNBQWMsbUNBR2QsZ0JBQWdCO1FBQ2hCLHFCQUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLFVBQVU7UUFDVixzQkFBc0IsYUFJdEIsb0JBQW9CO1FBQ3BCLG9CQUFvQjtRQUNwQixvQkFBb0I7UUFDcEIsMkJBQTJCO1FBQzNCLDRCQUE0QjtRQUM1QixzQkFBc0I7aUhBR2IsbUJBQW1CLFlBckI1QixZQUFZO1FBQ1osY0FBYztRQUNkLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDckIsYUFBYSxDQUFDLFFBQVEsRUFBRTtRQUN4QixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLG9CQUFvQjtRQUNwQixnQkFBZ0I7UUFDaEIsVUFBVTtRQUNWLHNCQUFzQixFQVN0QixzQkFBc0I7MkZBR2IsbUJBQW1CO2tCQXZCL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixjQUFjO3dCQUNkLFVBQVUsQ0FBQyxRQUFRLEVBQUU7d0JBQ3JCLGFBQWEsQ0FBQyxRQUFRLEVBQUU7d0JBQ3hCLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixvQkFBb0I7d0JBQ3BCLGdCQUFnQjt3QkFDaEIsVUFBVTt3QkFDVixzQkFBc0I7cUJBQ3ZCO29CQUNELFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLG9CQUFvQixFQUFFLDJCQUEyQixFQUFFLDRCQUE0QixDQUFDO29CQUMzSSxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3dCQUNwQixvQkFBb0I7d0JBQ3BCLG9CQUFvQjt3QkFDcEIsMkJBQTJCO3dCQUMzQiw0QkFBNEI7d0JBQzVCLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBDb3B5cmlnaHQgKEMpIDIwMDUgLSAyMDIwIEFsZnJlc2NvIFNvZnR3YXJlIExpbWl0ZWRcbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiAgT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogYWxvbmcgd2l0aCBBbGZyZXNjby4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbnRlbnRNZXRhZGF0YU1vZHVsZSwgQ29udGVudE1vZHVsZSwgVmVyc2lvbk1hbmFnZXJNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBFeHRlbnNpb25zTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGlyZWN0aXZlc01vZHVsZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZGlyZWN0aXZlcy5tb2R1bGUnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi8uLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHsgQ29tbWVudHNUYWJDb21wb25lbnQgfSBmcm9tICcuL2NvbW1lbnRzLXRhYi9jb21tZW50cy10YWIuY29tcG9uZW50JztcbmltcG9ydCB7IE1ldGFkYXRhVGFiQ29tcG9uZW50IH0gZnJvbSAnLi9tZXRhZGF0YS10YWIvbWV0YWRhdGEtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaWJyYXJ5TWV0YWRhdGFUYWJDb21wb25lbnQgfSBmcm9tICcuL2xpYnJhcnktbWV0YWRhdGEtdGFiL2xpYnJhcnktbWV0YWRhdGEtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaWJyYXJ5TWV0YWRhdGFGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9saWJyYXJ5LW1ldGFkYXRhLXRhYi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IFZlcnNpb25zVGFiQ29tcG9uZW50IH0gZnJvbSAnLi92ZXJzaW9ucy10YWIvdmVyc2lvbnMtdGFiLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBBMTF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgU2hhcmVkSW5mb0RyYXdlck1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRlcmlhbE1vZHVsZSxcbiAgICBDb3JlTW9kdWxlLmZvckNoaWxkKCksXG4gICAgQ29udGVudE1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIEV4dGVuc2lvbnNNb2R1bGUsXG4gICAgQ29udGVudE1ldGFkYXRhTW9kdWxlLFxuICAgIFZlcnNpb25NYW5hZ2VyTW9kdWxlLFxuICAgIERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgQTExeU1vZHVsZSxcbiAgICBTaGFyZWRJbmZvRHJhd2VyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW01ldGFkYXRhVGFiQ29tcG9uZW50LCBDb21tZW50c1RhYkNvbXBvbmVudCwgVmVyc2lvbnNUYWJDb21wb25lbnQsIExpYnJhcnlNZXRhZGF0YVRhYkNvbXBvbmVudCwgTGlicmFyeU1ldGFkYXRhRm9ybUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNZXRhZGF0YVRhYkNvbXBvbmVudCxcbiAgICBDb21tZW50c1RhYkNvbXBvbmVudCxcbiAgICBWZXJzaW9uc1RhYkNvbXBvbmVudCxcbiAgICBMaWJyYXJ5TWV0YWRhdGFUYWJDb21wb25lbnQsXG4gICAgTGlicmFyeU1ldGFkYXRhRm9ybUNvbXBvbmVudCxcbiAgICBTaGFyZWRJbmZvRHJhd2VyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwSW5mb0RyYXdlck1vZHVsZSB7fVxuIl19
|
package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Alfresco Example Content Application
|
|
4
|
+
*
|
|
5
|
+
* Copyright (C) 2005 - 2020 Alfresco Software Limited
|
|
6
|
+
*
|
|
7
|
+
* This file is part of the Alfresco Example Content Application.
|
|
8
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
9
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
10
|
+
* provided under the following open source license terms:
|
|
11
|
+
*
|
|
12
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
13
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
14
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
15
|
+
* (at your option) any later version.
|
|
16
|
+
*
|
|
17
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
18
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
19
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
20
|
+
* GNU Lesser General Public License for more details.
|
|
21
|
+
*
|
|
22
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
23
|
+
* along with Alfresco. If not, see <http://www.gnu.org/licenses/>.
|
|
24
|
+
*/
|
|
25
|
+
import { Component, Input } from '@angular/core';
|
|
26
|
+
import { UntypedFormGroup, UntypedFormControl, Validators } from '@angular/forms';
|
|
27
|
+
import { QueriesApi, SiteEntry } from '@alfresco/js-api';
|
|
28
|
+
import { Store } from '@ngrx/store';
|
|
29
|
+
import { UpdateLibraryAction } from '@alfresco/aca-shared/store';
|
|
30
|
+
import { debounceTime, mergeMap, takeUntil } from 'rxjs/operators';
|
|
31
|
+
import { AlfrescoApiService } from '@alfresco/adf-core';
|
|
32
|
+
import { from, Subject } from 'rxjs';
|
|
33
|
+
import * as i0 from "@angular/core";
|
|
34
|
+
import * as i1 from "@alfresco/adf-core";
|
|
35
|
+
import * as i2 from "@ngrx/store";
|
|
36
|
+
import * as i3 from "@angular/common";
|
|
37
|
+
import * as i4 from "@angular/material/button";
|
|
38
|
+
import * as i5 from "@angular/material/form-field";
|
|
39
|
+
import * as i6 from "@angular/material/input";
|
|
40
|
+
import * as i7 from "@angular/material/card";
|
|
41
|
+
import * as i8 from "@angular/forms";
|
|
42
|
+
import * as i9 from "@angular/material/core";
|
|
43
|
+
import * as i10 from "@angular/material/select";
|
|
44
|
+
import * as i11 from "@ngx-translate/core";
|
|
45
|
+
export class InstantErrorStateMatcher {
|
|
46
|
+
isErrorState(control, form) {
|
|
47
|
+
const isSubmitted = form && form.submitted;
|
|
48
|
+
return !!(control && control.invalid && (control.dirty || control.touched || isSubmitted));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export class LibraryMetadataFormComponent {
|
|
52
|
+
constructor(alfrescoApiService, store) {
|
|
53
|
+
this.alfrescoApiService = alfrescoApiService;
|
|
54
|
+
this.store = store;
|
|
55
|
+
this.libraryTitleExists = false;
|
|
56
|
+
this.libraryType = [
|
|
57
|
+
{ value: 'PUBLIC', label: 'LIBRARY.VISIBILITY.PUBLIC' },
|
|
58
|
+
{ value: 'PRIVATE', label: 'LIBRARY.VISIBILITY.PRIVATE' },
|
|
59
|
+
{ value: 'MODERATED', label: 'LIBRARY.VISIBILITY.MODERATED' }
|
|
60
|
+
];
|
|
61
|
+
this.form = new UntypedFormGroup({
|
|
62
|
+
id: new UntypedFormControl({ value: '', disabled: true }),
|
|
63
|
+
title: new UntypedFormControl({ value: '' }, [Validators.required, Validators.maxLength(256)]),
|
|
64
|
+
description: new UntypedFormControl({ value: '' }, [Validators.maxLength(512)]),
|
|
65
|
+
visibility: new UntypedFormControl(this.libraryType[0].value)
|
|
66
|
+
});
|
|
67
|
+
this.matcher = new InstantErrorStateMatcher();
|
|
68
|
+
this.onDestroy$ = new Subject();
|
|
69
|
+
}
|
|
70
|
+
get queriesApi() {
|
|
71
|
+
this._queriesApi = this._queriesApi ?? new QueriesApi(this.alfrescoApiService.getInstance());
|
|
72
|
+
return this._queriesApi;
|
|
73
|
+
}
|
|
74
|
+
get canUpdateLibrary() {
|
|
75
|
+
return this.node && this.node.entry && this.node.entry.role === 'SiteManager';
|
|
76
|
+
}
|
|
77
|
+
getVisibilityLabel(value) {
|
|
78
|
+
return this.libraryType.find((type) => type.value === value).label;
|
|
79
|
+
}
|
|
80
|
+
toggleEdit() {
|
|
81
|
+
this.edit = !this.edit;
|
|
82
|
+
}
|
|
83
|
+
cancel() {
|
|
84
|
+
this.updateForm(this.node);
|
|
85
|
+
this.toggleEdit();
|
|
86
|
+
}
|
|
87
|
+
ngOnInit() {
|
|
88
|
+
this.updateForm(this.node);
|
|
89
|
+
this.form.controls['title'].valueChanges
|
|
90
|
+
.pipe(debounceTime(300), mergeMap((title) => this.findLibraryByTitle(title)), takeUntil(this.onDestroy$))
|
|
91
|
+
.subscribe((result) => {
|
|
92
|
+
const { entries } = result.list;
|
|
93
|
+
if (entries.length) {
|
|
94
|
+
if (this.form.controls.title.value === this.node.entry.title) {
|
|
95
|
+
this.libraryTitleExists = false;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
this.libraryTitleExists = this.form.controls.title.value === entries[0].entry.title;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
this.libraryTitleExists = false;
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
ngOnDestroy() {
|
|
107
|
+
this.onDestroy$.next(true);
|
|
108
|
+
this.onDestroy$.complete();
|
|
109
|
+
}
|
|
110
|
+
ngOnChanges() {
|
|
111
|
+
this.updateForm(this.node);
|
|
112
|
+
}
|
|
113
|
+
update() {
|
|
114
|
+
if (this.canUpdateLibrary && this.form.valid) {
|
|
115
|
+
this.store.dispatch(new UpdateLibraryAction(this.form.value));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
updateForm(node) {
|
|
119
|
+
const { entry } = node;
|
|
120
|
+
this.form.setValue({
|
|
121
|
+
id: entry.id,
|
|
122
|
+
title: entry.title,
|
|
123
|
+
description: entry.description || '',
|
|
124
|
+
visibility: entry.visibility
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
findLibraryByTitle(libraryTitle) {
|
|
128
|
+
return from(this.queriesApi
|
|
129
|
+
.findSites(libraryTitle, {
|
|
130
|
+
maxItems: 1,
|
|
131
|
+
fields: ['title']
|
|
132
|
+
})
|
|
133
|
+
.catch(() => ({ list: { entries: [] } })));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
LibraryMetadataFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: LibraryMetadataFormComponent, deps: [{ token: i1.AlfrescoApiService }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Component });
|
|
137
|
+
LibraryMetadataFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: LibraryMetadataFormComponent, selector: "app-library-metadata-form", inputs: { node: "node" }, usesOnChanges: true, ngImport: i0, template: "<mat-card *ngIf=\"node\">\n <mat-card-content *ngIf=\"!edit\">\n <div class=\"mat-form-field mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float adf-full-width\">\n <div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.title.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float adf-full-width\">\n <div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.id.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float adf-full-width\">\n <div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ getVisibilityLabel(form.controls.visibility.value) | translate }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float adf-full-width\">\n <div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.description?.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"!edit && canUpdateLibrary\">\n <button mat-button color=\"primary\" (click)=\"toggleEdit()\">\n {{ 'LIBRARY.DIALOG.EDIT' | translate }}\n </button>\n </mat-card-actions>\n\n <mat-card-content *ngIf=\"edit\">\n <form [formGroup]=\"form\" autocomplete=\"off\">\n <mat-form-field class=\"adf-full-width\">\n <input\n matInput\n cdkFocusInitial\n required\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\"\n formControlName=\"title\"\n [errorStateMatcher]=\"matcher\"\n />\n <mat-hint *ngIf=\"libraryTitleExists\">{{ 'LIBRARY.HINTS.SITE_TITLE_EXISTS' | translate }}</mat-hint>\n <mat-error>\n {{ 'LIBRARY.ERRORS.TITLE_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"adf-full-width\">\n <input matInput placeholder=\"{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\" formControlName=\"id\" />\n </mat-form-field>\n\n <mat-form-field class=\"adf-full-width\">\n <mat-select placeholder=\"{{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\" formControlName=\"visibility\">\n <mat-option [value]=\"type.value\" *ngFor=\"let type of libraryType\">\n {{ type.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"adf-full-width\">\n <textarea\n matInput\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\"\n rows=\"3\"\n formControlName=\"description\"\n [errorStateMatcher]=\"matcher\"\n ></textarea>\n <mat-error>\n {{ 'LIBRARY.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"edit && canUpdateLibrary\">\n <button mat-button (click)=\"cancel()\">\n {{ 'LIBRARY.DIALOG.CANCEL' | translate }}\n </button>\n <button mat-button color=\"primary\" [disabled]=\"form.invalid || form.pristine\" (click)=\"update()\">\n {{ 'LIBRARY.DIALOG.UPDATE' | translate }}\n </button>\n </mat-card-actions>\n</mat-card>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i6.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content, [mat-card-content], [matCardContent]" }, { kind: "directive", type: i7.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i8.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i8.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i9.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i10.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "pipe", type: i11.TranslatePipe, name: "translate" }] });
|
|
138
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: LibraryMetadataFormComponent, decorators: [{
|
|
139
|
+
type: Component,
|
|
140
|
+
args: [{ selector: 'app-library-metadata-form', template: "<mat-card *ngIf=\"node\">\n <mat-card-content *ngIf=\"!edit\">\n <div class=\"mat-form-field mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float adf-full-width\">\n <div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.title.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float adf-full-width\">\n <div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.id.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float adf-full-width\">\n <div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ getVisibilityLabel(form.controls.visibility.value) | translate }}\n </span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"mat-form-field mat-primary mat-form-field-type-mat-input mat-form-field-can-float mat-form-field-should-float adf-full-width\">\n <div class=\"mat-form-field-wrapper\">\n <div class=\"mat-form-field-flex\">\n <div class=\"mat-form-field-infix\">\n <span class=\"mat-form-field-label-wrapper\">\n <span class=\"mat-form-field-label\">\n {{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\n </span>\n </span>\n\n <span class=\"mat-input-element\">\n {{ form.controls.description?.value }}\n </span>\n </div>\n </div>\n </div>\n </div>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"!edit && canUpdateLibrary\">\n <button mat-button color=\"primary\" (click)=\"toggleEdit()\">\n {{ 'LIBRARY.DIALOG.EDIT' | translate }}\n </button>\n </mat-card-actions>\n\n <mat-card-content *ngIf=\"edit\">\n <form [formGroup]=\"form\" autocomplete=\"off\">\n <mat-form-field class=\"adf-full-width\">\n <input\n matInput\n cdkFocusInitial\n required\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.NAME' | translate }}\"\n formControlName=\"title\"\n [errorStateMatcher]=\"matcher\"\n />\n <mat-hint *ngIf=\"libraryTitleExists\">{{ 'LIBRARY.HINTS.SITE_TITLE_EXISTS' | translate }}</mat-hint>\n <mat-error>\n {{ 'LIBRARY.ERRORS.TITLE_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field class=\"adf-full-width\">\n <input matInput placeholder=\"{{ 'LIBRARY.DIALOG.FORM.SITE_ID' | translate }}\" formControlName=\"id\" />\n </mat-form-field>\n\n <mat-form-field class=\"adf-full-width\">\n <mat-select placeholder=\"{{ 'LIBRARY.DIALOG.FORM.VISIBILITY' | translate }}\" formControlName=\"visibility\">\n <mat-option [value]=\"type.value\" *ngFor=\"let type of libraryType\">\n {{ type.label | translate }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n\n <mat-form-field class=\"adf-full-width\">\n <textarea\n matInput\n placeholder=\"{{ 'LIBRARY.DIALOG.FORM.DESCRIPTION' | translate }}\"\n rows=\"3\"\n formControlName=\"description\"\n [errorStateMatcher]=\"matcher\"\n ></textarea>\n <mat-error>\n {{ 'LIBRARY.ERRORS.DESCRIPTION_TOO_LONG' | translate }}\n </mat-error>\n </mat-form-field>\n </form>\n </mat-card-content>\n\n <mat-card-actions align=\"end\" *ngIf=\"edit && canUpdateLibrary\">\n <button mat-button (click)=\"cancel()\">\n {{ 'LIBRARY.DIALOG.CANCEL' | translate }}\n </button>\n <button mat-button color=\"primary\" [disabled]=\"form.invalid || form.pristine\" (click)=\"update()\">\n {{ 'LIBRARY.DIALOG.UPDATE' | translate }}\n </button>\n </mat-card-actions>\n</mat-card>\n" }]
|
|
141
|
+
}], ctorParameters: function () { return [{ type: i1.AlfrescoApiService }, { type: i2.Store }]; }, propDecorators: { node: [{
|
|
142
|
+
type: Input
|
|
143
|
+
}] } });
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlicmFyeS1tZXRhZGF0YS1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9pbmZvLWRyYXdlci9saWJyYXJ5LW1ldGFkYXRhLXRhYi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL2luZm8tZHJhd2VyL2xpYnJhcnktbWV0YWRhdGEtdGFiL2xpYnJhcnktbWV0YWRhdGEtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBOEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5RyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBYyxNQUFNLGtCQUFrQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFZLG1CQUFtQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDeEQsT0FBTyxFQUFjLElBQUksRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFHakQsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUFZLENBQUMsT0FBa0MsRUFBRSxJQUF3QztRQUN2RixNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMzQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztDQUNGO0FBTUQsTUFBTSxPQUFPLDRCQUE0QjtJQThCdkMsWUFBb0Isa0JBQXNDLEVBQVksS0FBc0I7UUFBeEUsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUFZLFVBQUssR0FBTCxLQUFLLENBQWlCO1FBbkI1Rix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IsZ0JBQVcsR0FBRztZQUNaLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsMkJBQTJCLEVBQUU7WUFDdkQsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSw0QkFBNEIsRUFBRTtZQUN6RCxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLDhCQUE4QixFQUFFO1NBQzlELENBQUM7UUFFRixTQUFJLEdBQXFCLElBQUksZ0JBQWdCLENBQUM7WUFDNUMsRUFBRSxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN6RCxLQUFLLEVBQUUsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlGLFdBQVcsRUFBRSxJQUFJLGtCQUFrQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQy9FLFVBQVUsRUFBRSxJQUFJLGtCQUFrQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1NBQzlELENBQUMsQ0FBQztRQUVILFlBQU8sR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUM7UUFFekMsZUFBVSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO0lBRXlDLENBQUM7SUE1QmhHLElBQUksVUFBVTtRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUM3RixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQTJCRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLGFBQWEsQ0FBQztJQUNoRixDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBYTtRQUM5QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNyRSxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWTthQUNyQyxJQUFJLENBQ0gsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixRQUFRLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUNuRCxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUMzQjthQUNBLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBRWhDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDbEIsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRTtvQkFDNUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQztpQkFDakM7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7aUJBQ3JGO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLGtCQUFrQixHQUFHLEtBQUssQ0FBQzthQUNqQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUMvRDtJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsSUFBZTtRQUNoQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBRXZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pCLEVBQUUsRUFBRSxLQUFLLENBQUMsRUFBRTtZQUNaLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxFQUFFO1lBQ3BDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTtTQUM3QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsWUFBb0I7UUFDN0MsT0FBTyxJQUFJLENBQ1QsSUFBSSxDQUFDLFVBQVU7YUFDWixTQUFTLENBQUMsWUFBWSxFQUFFO1lBQ3ZCLFFBQVEsRUFBRSxDQUFDO1lBQ1gsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDO1NBQ2xCLENBQUM7YUFDRCxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FDNUMsQ0FBQztJQUNKLENBQUM7O3lIQTVHVSw0QkFBNEI7NkdBQTVCLDRCQUE0QixnSEM5Q3pDLHNoS0FzSUE7MkZEeEZhLDRCQUE0QjtrQkFKeEMsU0FBUzsrQkFDRSwyQkFBMkI7NkhBV3JDLElBQUk7c0JBREgsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIENvcHlyaWdodCAoQykgMjAwNSAtIDIwMjAgQWxmcmVzY28gU29mdHdhcmUgTGltaXRlZFxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuICBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBhbG9uZyB3aXRoIEFsZnJlc2NvLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCwgVW50eXBlZEZvcm1Db250cm9sLCBWYWxpZGF0b3JzLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFF1ZXJpZXNBcGksIFNpdGVFbnRyeSwgU2l0ZVBhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBcHBTdG9yZSwgVXBkYXRlTGlicmFyeUFjdGlvbiB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgbWVyZ2VNYXAsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBFcnJvclN0YXRlTWF0Y2hlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgSW5zdGFudEVycm9yU3RhdGVNYXRjaGVyIGltcGxlbWVudHMgRXJyb3JTdGF0ZU1hdGNoZXIge1xuICBpc0Vycm9yU3RhdGUoY29udHJvbDogVW50eXBlZEZvcm1Db250cm9sIHwgbnVsbCwgZm9ybTogRm9ybUdyb3VwRGlyZWN0aXZlIHwgTmdGb3JtIHwgbnVsbCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGlzU3VibWl0dGVkID0gZm9ybSAmJiBmb3JtLnN1Ym1pdHRlZDtcbiAgICByZXR1cm4gISEoY29udHJvbCAmJiBjb250cm9sLmludmFsaWQgJiYgKGNvbnRyb2wuZGlydHkgfHwgY29udHJvbC50b3VjaGVkIHx8IGlzU3VibWl0dGVkKSk7XG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWxpYnJhcnktbWV0YWRhdGEtZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saWJyYXJ5LW1ldGFkYXRhLWZvcm0uY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIExpYnJhcnlNZXRhZGF0YUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcbiAgX3F1ZXJpZXNBcGk6IFF1ZXJpZXNBcGk7XG4gIGdldCBxdWVyaWVzQXBpKCk6IFF1ZXJpZXNBcGkge1xuICAgIHRoaXMuX3F1ZXJpZXNBcGkgPSB0aGlzLl9xdWVyaWVzQXBpID8/IG5ldyBRdWVyaWVzQXBpKHRoaXMuYWxmcmVzY29BcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgIHJldHVybiB0aGlzLl9xdWVyaWVzQXBpO1xuICB9XG5cbiAgQElucHV0KClcbiAgbm9kZTogU2l0ZUVudHJ5O1xuXG4gIGVkaXQ6IGJvb2xlYW47XG4gIGxpYnJhcnlUaXRsZUV4aXN0cyA9IGZhbHNlO1xuXG4gIGxpYnJhcnlUeXBlID0gW1xuICAgIHsgdmFsdWU6ICdQVUJMSUMnLCBsYWJlbDogJ0xJQlJBUlkuVklTSUJJTElUWS5QVUJMSUMnIH0sXG4gICAgeyB2YWx1ZTogJ1BSSVZBVEUnLCBsYWJlbDogJ0xJQlJBUlkuVklTSUJJTElUWS5QUklWQVRFJyB9LFxuICAgIHsgdmFsdWU6ICdNT0RFUkFURUQnLCBsYWJlbDogJ0xJQlJBUlkuVklTSUJJTElUWS5NT0RFUkFURUQnIH1cbiAgXTtcblxuICBmb3JtOiBVbnR5cGVkRm9ybUdyb3VwID0gbmV3IFVudHlwZWRGb3JtR3JvdXAoe1xuICAgIGlkOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6ICcnLCBkaXNhYmxlZDogdHJ1ZSB9KSxcbiAgICB0aXRsZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh7IHZhbHVlOiAnJyB9LCBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoMjU2KV0pLFxuICAgIGRlc2NyaXB0aW9uOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKHsgdmFsdWU6ICcnIH0sIFtWYWxpZGF0b3JzLm1heExlbmd0aCg1MTIpXSksXG4gICAgdmlzaWJpbGl0eTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCh0aGlzLmxpYnJhcnlUeXBlWzBdLnZhbHVlKVxuICB9KTtcblxuICBtYXRjaGVyID0gbmV3IEluc3RhbnRFcnJvclN0YXRlTWF0Y2hlcigpO1xuXG4gIG9uRGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWxmcmVzY29BcGlTZXJ2aWNlOiBBbGZyZXNjb0FwaVNlcnZpY2UsIHByb3RlY3RlZCBzdG9yZTogU3RvcmU8QXBwU3RvcmU+KSB7fVxuXG4gIGdldCBjYW5VcGRhdGVMaWJyYXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGUgJiYgdGhpcy5ub2RlLmVudHJ5ICYmIHRoaXMubm9kZS5lbnRyeS5yb2xlID09PSAnU2l0ZU1hbmFnZXInO1xuICB9XG5cbiAgZ2V0VmlzaWJpbGl0eUxhYmVsKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5saWJyYXJ5VHlwZS5maW5kKCh0eXBlKSA9PiB0eXBlLnZhbHVlID09PSB2YWx1ZSkubGFiZWw7XG4gIH1cblxuICB0b2dnbGVFZGl0KCkge1xuICAgIHRoaXMuZWRpdCA9ICF0aGlzLmVkaXQ7XG4gIH1cblxuICBjYW5jZWwoKSB7XG4gICAgdGhpcy51cGRhdGVGb3JtKHRoaXMubm9kZSk7XG4gICAgdGhpcy50b2dnbGVFZGl0KCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZUZvcm0odGhpcy5ub2RlKTtcblxuICAgIHRoaXMuZm9ybS5jb250cm9sc1sndGl0bGUnXS52YWx1ZUNoYW5nZXNcbiAgICAgIC5waXBlKFxuICAgICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgICAgbWVyZ2VNYXAoKHRpdGxlKSA9PiB0aGlzLmZpbmRMaWJyYXJ5QnlUaXRsZSh0aXRsZSkpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZW50cmllcyB9ID0gcmVzdWx0Lmxpc3Q7XG5cbiAgICAgICAgaWYgKGVudHJpZXMubGVuZ3RoKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZm9ybS5jb250cm9scy50aXRsZS52YWx1ZSA9PT0gdGhpcy5ub2RlLmVudHJ5LnRpdGxlKSB7XG4gICAgICAgICAgICB0aGlzLmxpYnJhcnlUaXRsZUV4aXN0cyA9IGZhbHNlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmxpYnJhcnlUaXRsZUV4aXN0cyA9IHRoaXMuZm9ybS5jb250cm9scy50aXRsZS52YWx1ZSA9PT0gZW50cmllc1swXS5lbnRyeS50aXRsZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5saWJyYXJ5VGl0bGVFeGlzdHMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMudXBkYXRlRm9ybSh0aGlzLm5vZGUpO1xuICB9XG5cbiAgdXBkYXRlKCkge1xuICAgIGlmICh0aGlzLmNhblVwZGF0ZUxpYnJhcnkgJiYgdGhpcy5mb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVMaWJyYXJ5QWN0aW9uKHRoaXMuZm9ybS52YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlRm9ybShub2RlOiBTaXRlRW50cnkpIHtcbiAgICBjb25zdCB7IGVudHJ5IH0gPSBub2RlO1xuXG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIGlkOiBlbnRyeS5pZCxcbiAgICAgIHRpdGxlOiBlbnRyeS50aXRsZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBlbnRyeS5kZXNjcmlwdGlvbiB8fCAnJyxcbiAgICAgIHZpc2liaWxpdHk6IGVudHJ5LnZpc2liaWxpdHlcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgZmluZExpYnJhcnlCeVRpdGxlKGxpYnJhcnlUaXRsZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTaXRlUGFnaW5nIHwgeyBsaXN0OiB7IGVudHJpZXM6IGFueVtdIH0gfT4ge1xuICAgIHJldHVybiBmcm9tKFxuICAgICAgdGhpcy5xdWVyaWVzQXBpXG4gICAgICAgIC5maW5kU2l0ZXMobGlicmFyeVRpdGxlLCB7XG4gICAgICAgICAgbWF4SXRlbXM6IDEsXG4gICAgICAgICAgZmllbGRzOiBbJ3RpdGxlJ11cbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+ICh7IGxpc3Q6IHsgZW50cmllczogW10gfSB9KSlcbiAgICApO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgKm5nSWY9XCJub2RlXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50ICpuZ0lmPVwiIWVkaXRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQgbWF0LWZvcm0tZmllbGQtdHlwZS1tYXQtaW5wdXQgbWF0LWZvcm0tZmllbGQtY2FuLWZsb2F0IG1hdC1mb3JtLWZpZWxkLXNob3VsZC1mbG9hdCBhZGYtZnVsbC13aWR0aFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLXdyYXBwZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWZsZXhcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtaW5maXhcIj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWwtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsXCI+XG4gICAgICAgICAgICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uTkFNRScgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1pbnB1dC1lbGVtZW50XCI+XG4gICAgICAgICAgICAgIHt7IGZvcm0uY29udHJvbHMudGl0bGUudmFsdWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZCBtYXQtcHJpbWFyeSBtYXQtZm9ybS1maWVsZC10eXBlLW1hdC1pbnB1dCBtYXQtZm9ybS1maWVsZC1jYW4tZmxvYXQgbWF0LWZvcm0tZmllbGQtc2hvdWxkLWZsb2F0IGFkZi1mdWxsLXdpZHRoXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtd3JhcHBlclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWZvcm0tZmllbGQtZmxleFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1pbmZpeFwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWZvcm0tZmllbGQtbGFiZWxcIj5cbiAgICAgICAgICAgICAgICB7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5TSVRFX0lEJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWlucHV0LWVsZW1lbnRcIj5cbiAgICAgICAgICAgICAge3sgZm9ybS5jb250cm9scy5pZC52YWx1ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkIG1hdC1wcmltYXJ5IG1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LWlucHV0IG1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgYWRmLWZ1bGwtd2lkdGhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1mbGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWluZml4XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlZJU0lCSUxJVFknIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtaW5wdXQtZWxlbWVudFwiPlxuICAgICAgICAgICAgICB7eyBnZXRWaXNpYmlsaXR5TGFiZWwoZm9ybS5jb250cm9scy52aXNpYmlsaXR5LnZhbHVlKSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkIG1hdC1wcmltYXJ5IG1hdC1mb3JtLWZpZWxkLXR5cGUtbWF0LWlucHV0IG1hdC1mb3JtLWZpZWxkLWNhbi1mbG9hdCBtYXQtZm9ybS1maWVsZC1zaG91bGQtZmxvYXQgYWRmLWZ1bGwtd2lkdGhcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1mbGV4XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWluZml4XCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdC1mb3JtLWZpZWxkLWxhYmVsLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtZm9ybS1maWVsZC1sYWJlbFwiPlxuICAgICAgICAgICAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLkRFU0NSSVBUSU9OJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0LWlucHV0LWVsZW1lbnRcIj5cbiAgICAgICAgICAgICAge3sgZm9ybS5jb250cm9scy5kZXNjcmlwdGlvbj8udmFsdWUgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuXG4gIDxtYXQtY2FyZC1hY3Rpb25zIGFsaWduPVwiZW5kXCIgKm5nSWY9XCIhZWRpdCAmJiBjYW5VcGRhdGVMaWJyYXJ5XCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJ0b2dnbGVFZGl0KClcIj5cbiAgICAgIHt7ICdMSUJSQVJZLkRJQUxPRy5FRElUJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1jYXJkLWFjdGlvbnM+XG5cbiAgPG1hdC1jYXJkLWNvbnRlbnQgKm5nSWY9XCJlZGl0XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtZnVsbC13aWR0aFwiPlxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgIGNka0ZvY3VzSW5pdGlhbFxuICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5OQU1FJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIlxuICAgICAgICAgIFtlcnJvclN0YXRlTWF0Y2hlcl09XCJtYXRjaGVyXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG1hdC1oaW50ICpuZ0lmPVwibGlicmFyeVRpdGxlRXhpc3RzXCI+e3sgJ0xJQlJBUlkuSElOVFMuU0lURV9USVRMRV9FWElTVFMnIHwgdHJhbnNsYXRlIH19PC9tYXQtaGludD5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICB7eyAnTElCUkFSWS5FUlJPUlMuVElUTEVfVE9PX0xPTkcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiYWRmLWZ1bGwtd2lkdGhcIj5cbiAgICAgICAgPGlucHV0IG1hdElucHV0IHBsYWNlaG9sZGVyPVwie3sgJ0xJQlJBUlkuRElBTE9HLkZPUk0uU0lURV9JRCcgfCB0cmFuc2xhdGUgfX1cIiBmb3JtQ29udHJvbE5hbWU9XCJpZFwiIC8+XG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtZnVsbC13aWR0aFwiPlxuICAgICAgICA8bWF0LXNlbGVjdCBwbGFjZWhvbGRlcj1cInt7ICdMSUJSQVJZLkRJQUxPRy5GT1JNLlZJU0lCSUxJVFknIHwgdHJhbnNsYXRlIH19XCIgZm9ybUNvbnRyb2xOYW1lPVwidmlzaWJpbGl0eVwiPlxuICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJ0eXBlLnZhbHVlXCIgKm5nRm9yPVwibGV0IHR5cGUgb2YgbGlicmFyeVR5cGVcIj5cbiAgICAgICAgICAgIHt7IHR5cGUubGFiZWwgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG5cbiAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1mdWxsLXdpZHRoXCI+XG4gICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJ7eyAnTElCUkFSWS5ESUFMT0cuRk9STS5ERVNDUklQVElPTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgIHJvd3M9XCIzXCJcbiAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgW2Vycm9yU3RhdGVNYXRjaGVyXT1cIm1hdGNoZXJcIlxuICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgPG1hdC1lcnJvcj5cbiAgICAgICAgICB7eyAnTElCUkFSWS5FUlJPUlMuREVTQ1JJUFRJT05fVE9PX0xPTkcnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgIDwvbWF0LWVycm9yPlxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICA8L2Zvcm0+XG4gIDwvbWF0LWNhcmQtY29udGVudD5cblxuICA8bWF0LWNhcmQtYWN0aW9ucyBhbGlnbj1cImVuZFwiICpuZ0lmPVwiZWRpdCAmJiBjYW5VcGRhdGVMaWJyYXJ5XCI+XG4gICAgPGJ1dHRvbiBtYXQtYnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPlxuICAgICAge3sgJ0xJQlJBUlkuRElBTE9HLkNBTkNFTCcgfCB0cmFuc2xhdGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YnV0dG9uIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cImZvcm0uaW52YWxpZCB8fCBmb3JtLnByaXN0aW5lXCIgKGNsaWNrKT1cInVwZGF0ZSgpXCI+XG4gICAgICB7eyAnTElCUkFSWS5ESUFMT0cuVVBEQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICAgIDwvYnV0dG9uPlxuICA8L21hdC1jYXJkLWFjdGlvbnM+XG48L21hdC1jYXJkPlxuIl19
|