@alfresco/aca-content 4.0.0-4895233349
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/about/about.component.d.ts +45 -0
- package/about/aca-about.module.d.ts +39 -0
- package/about/dev-mode.tokens.d.ts +25 -0
- package/about/index.d.ts +5 -0
- package/about/package-json.token.d.ts +25 -0
- package/about/public-api.d.ts +27 -0
- package/assets/app.extensions.json +2626 -0
- package/assets/i18n/ar.json +660 -0
- package/assets/i18n/cs.json +660 -0
- package/assets/i18n/da.json +660 -0
- package/assets/i18n/de.json +660 -0
- package/assets/i18n/en.json +660 -0
- package/assets/i18n/es.json +660 -0
- package/assets/i18n/fi.json +660 -0
- package/assets/i18n/fr.json +660 -0
- package/assets/i18n/it.json +660 -0
- package/assets/i18n/ja.json +660 -0
- package/assets/i18n/nb.json +660 -0
- package/assets/i18n/nl.json +660 -0
- package/assets/i18n/pl.json +660 -0
- package/assets/i18n/pt-BR.json +660 -0
- package/assets/i18n/ru.json +660 -0
- package/assets/i18n/sv.json +660 -0
- package/assets/i18n/zh-CN.json +660 -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/esm2020/about/about.component.mjs +77 -0
- package/esm2020/about/aca-about.module.mjs +67 -0
- package/esm2020/about/alfresco-aca-content-about.mjs +5 -0
- package/esm2020/about/dev-mode.tokens.mjs +26 -0
- package/esm2020/about/package-json.token.mjs +26 -0
- package/esm2020/about/public-api.mjs +28 -0
- package/esm2020/alfresco-aca-content.mjs +5 -0
- package/esm2020/lib/aca-content.module.mjs +365 -0
- package/esm2020/lib/aca-content.routes.mjs +581 -0
- package/esm2020/lib/components/common/common.module.mjs +67 -0
- package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +57 -0
- package/esm2020/lib/components/common/location-link/location-link.component.mjs +177 -0
- package/esm2020/lib/components/common/logout/logout.component.mjs +60 -0
- package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +65 -0
- package/esm2020/lib/components/common/user-info/user-info.component.mjs +86 -0
- package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +58 -0
- package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +65 -0
- package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +32 -0
- package/esm2020/lib/components/context-menu/context-menu.component.mjs +102 -0
- package/esm2020/lib/components/context-menu/context-menu.module.mjs +76 -0
- package/esm2020/lib/components/context-menu/context-menu.service.mjs +103 -0
- package/esm2020/lib/components/context-menu/direction.token.mjs +29 -0
- package/esm2020/lib/components/context-menu/interfaces.mjs +25 -0
- package/esm2020/lib/components/create-menu/create-menu.component.mjs +73 -0
- package/esm2020/lib/components/create-menu/create-menu.module.mjs +44 -0
- package/esm2020/lib/components/details/details.component.mjs +99 -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 +90 -0
- package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +31 -0
- package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +51 -0
- package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +113 -0
- package/esm2020/lib/components/favorites/favorites.component.mjs +98 -0
- package/esm2020/lib/components/files/files.component.mjs +312 -0
- package/esm2020/lib/components/home/home.component.mjs +49 -0
- package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +56 -0
- package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +92 -0
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +143 -0
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +42 -0
- package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +88 -0
- package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +95 -0
- package/esm2020/lib/components/libraries/libraries.component.mjs +70 -0
- package/esm2020/lib/components/node-version/node-version-form.component.mjs +70 -0
- package/esm2020/lib/components/node-version/node-version.module.mjs +78 -0
- package/esm2020/lib/components/recent-files/recent-files.component.mjs +81 -0
- package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +59 -0
- package/esm2020/lib/components/search/search-input/search-input.component.mjs +275 -0
- package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +87 -0
- package/esm2020/lib/components/search/search-input.module.mjs +47 -0
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +91 -0
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +142 -0
- package/esm2020/lib/components/search/search-navigation.service.mjs +60 -0
- package/esm2020/lib/components/search/search-results/search-results.component.mjs +221 -0
- package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +101 -0
- package/esm2020/lib/components/search/search-results.module.mjs +88 -0
- package/esm2020/lib/components/shared-files/shared-files.component.mjs +78 -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 +69 -0
- package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +57 -0
- package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +53 -0
- package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +74 -0
- package/esm2020/lib/components/sidenav/directives/action.directive.mjs +74 -0
- package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +92 -0
- package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +101 -0
- package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +98 -0
- package/esm2020/lib/components/sidenav/sidenav.component.mjs +83 -0
- package/esm2020/lib/components/sidenav/sidenav.module.mjs +84 -0
- package/esm2020/lib/components/toolbar/document-display-mode/document-display-mode.component.mjs +84 -0
- package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +150 -0
- package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +79 -0
- package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +101 -0
- package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +75 -0
- package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +98 -0
- package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +80 -0
- package/esm2020/lib/components/toolbar/toolbar.module.mjs +88 -0
- package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +109 -0
- package/esm2020/lib/components/trashcan/trashcan.component.mjs +63 -0
- package/esm2020/lib/components/trashcan/trashcan.module.mjs +74 -0
- package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +50 -0
- package/esm2020/lib/components/view-profile/view-profile.component.mjs +174 -0
- package/esm2020/lib/components/view-profile/view-profile.guard.mjs +47 -0
- package/esm2020/lib/components/view-profile/view-profile.module.mjs +42 -0
- package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +119 -0
- package/esm2020/lib/directives/directives.module.mjs +42 -0
- package/esm2020/lib/directives/document-list.directive.mjs +141 -0
- package/esm2020/lib/extensions/core.extensions.module.mjs +64 -0
- package/esm2020/lib/material.module.mjs +57 -0
- package/esm2020/lib/services/content-management.service.mjs +870 -0
- package/esm2020/lib/services/content-service-extension.service.mjs +63 -0
- package/esm2020/lib/services/content-url.service.mjs +72 -0
- package/esm2020/lib/services/node-actions.service.mjs +600 -0
- package/esm2020/lib/services/node-template.service.mjs +149 -0
- package/esm2020/lib/store/app-store.module.mjs +95 -0
- package/esm2020/lib/store/effects/app.effects.mjs +61 -0
- package/esm2020/lib/store/effects/contextmenu.effects.mjs +55 -0
- package/esm2020/lib/store/effects/download.effects.mjs +159 -0
- package/esm2020/lib/store/effects/favorite.effects.mjs +76 -0
- package/esm2020/lib/store/effects/library.effects.mjs +111 -0
- package/esm2020/lib/store/effects/node.effects.mjs +309 -0
- package/esm2020/lib/store/effects/search.effects.mjs +60 -0
- package/esm2020/lib/store/effects/template.effects.mjs +121 -0
- package/esm2020/lib/store/effects/upload.effects.mjs +169 -0
- package/esm2020/lib/store/effects/viewer.effects.mjs +175 -0
- package/esm2020/lib/store/effects.mjs +35 -0
- package/esm2020/lib/store/initial-state.mjs +62 -0
- package/esm2020/lib/store/reducers/app.reducer.mjs +211 -0
- package/esm2020/public-api.mjs +32 -0
- package/fesm2015/alfresco-aca-content-about.mjs +216 -0
- package/fesm2015/alfresco-aca-content-about.mjs.map +1 -0
- package/fesm2015/alfresco-aca-content.mjs +9771 -0
- package/fesm2015/alfresco-aca-content.mjs.map +1 -0
- package/fesm2020/alfresco-aca-content-about.mjs +214 -0
- package/fesm2020/alfresco-aca-content-about.mjs.map +1 -0
- package/fesm2020/alfresco-aca-content.mjs +9915 -0
- package/fesm2020/alfresco-aca-content.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/aca-content.module.d.ts +47 -0
- package/lib/aca-content.routes.d.ts +27 -0
- package/lib/components/common/common.module.d.ts +17 -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 +48 -0
- package/lib/components/common/logout/logout.component.d.ts +10 -0
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +43 -0
- package/lib/components/common/user-info/user-info.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 +35 -0
- package/lib/components/context-menu/context-menu-overlay.d.ts +29 -0
- package/lib/components/context-menu/context-menu.component.d.ts +48 -0
- package/lib/components/context-menu/context-menu.module.d.ts +18 -0
- package/lib/components/context-menu/context-menu.service.d.ts +43 -0
- package/lib/components/context-menu/direction.token.d.ts +25 -0
- package/lib/components/context-menu/interfaces.d.ts +30 -0
- package/lib/components/create-menu/create-menu.component.d.ts +42 -0
- package/lib/components/create-menu/create-menu.module.d.ts +10 -0
- package/lib/components/details/details.component.d.ts +46 -0
- package/lib/components/dl-custom-components/document-list-custom-components.module.d.ts +14 -0
- package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +41 -0
- package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +35 -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 +54 -0
- package/lib/components/favorites/favorites.component.d.ts +49 -0
- package/lib/components/files/files.component.d.ts +55 -0
- package/lib/components/home/home.component.d.ts +36 -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 +64 -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 +49 -0
- package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +35 -0
- package/lib/components/libraries/libraries.component.d.ts +44 -0
- package/lib/components/node-version/node-version-form.component.d.ts +46 -0
- package/lib/components/node-version/node-version.module.d.ts +16 -0
- package/lib/components/recent-files/recent-files.component.d.ts +48 -0
- package/lib/components/search/search-action-menu/search-action-menu.component.d.ts +38 -0
- package/lib/components/search/search-input/search-input.component.d.ts +85 -0
- package/lib/components/search/search-input-control/search-input-control.component.d.ts +50 -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 +56 -0
- package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +58 -0
- package/lib/components/search/search-navigation.service.d.ts +13 -0
- package/lib/components/search/search-results/search-results.component.d.ts +69 -0
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +50 -0
- package/lib/components/search/search-results.module.d.ts +21 -0
- package/lib/components/shared-files/shared-files.component.d.ts +47 -0
- package/lib/components/shared-link-view/shared-link-view.component.d.ts +47 -0
- package/lib/components/shared-link-view/shared-link-view.module.d.ts +15 -0
- package/lib/components/sidenav/components/button-menu.component.d.ts +37 -0
- package/lib/components/sidenav/components/expand-menu.component.d.ts +35 -0
- package/lib/components/sidenav/components/sidenav-header.component.d.ts +48 -0
- package/lib/components/sidenav/directives/action.directive.d.ts +14 -0
- package/lib/components/sidenav/directives/active-link.directive.d.ts +45 -0
- package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +44 -0
- package/lib/components/sidenav/directives/menu-panel.directive.d.ts +42 -0
- package/lib/components/sidenav/sidenav.component.d.ts +50 -0
- package/lib/components/sidenav/sidenav.module.d.ts +19 -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 +47 -0
- package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +42 -0
- package/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.d.ts +42 -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 +41 -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 +19 -0
- package/lib/components/trashcan/trashcan.component.d.ts +42 -0
- package/lib/components/trashcan/trashcan.module.d.ts +16 -0
- package/lib/components/upload-files-dialog/upload-files-dialog.component.d.ts +37 -0
- package/lib/components/view-profile/view-profile.component.d.ts +59 -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 +49 -0
- package/lib/directives/directives.module.d.ts +9 -0
- package/lib/directives/document-list.directive.d.ts +56 -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 +100 -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 +41 -0
- package/lib/store/effects/contextmenu.effects.d.ts +12 -0
- package/lib/store/effects/download.effects.d.ts +49 -0
- package/lib/store/effects/favorite.effects.d.ts +38 -0
- package/lib/store/effects/library.effects.d.ts +43 -0
- package/lib/store/effects/node.effects.d.ts +56 -0
- package/lib/store/effects/search.effects.d.ts +37 -0
- package/lib/store/effects/template.effects.d.ts +54 -0
- package/lib/store/effects/upload.effects.d.ts +52 -0
- package/lib/store/effects/viewer.effects.d.ts +55 -0
- package/lib/store/effects.d.ts +34 -0
- package/lib/store/initial-state.d.ts +26 -0
- package/lib/store/reducers/app.reducer.d.ts +26 -0
- package/package.json +47 -0
- package/public-api.d.ts +28 -0
- package/ui/application.scss +53 -0
- package/ui/colors.scss +96 -0
- package/ui/custom-theme.scss +34 -0
- package/ui/dynamic-theme/custom-background-color.scss +14 -0
- package/ui/dynamic-theme/custom-palette-creator.scss +132 -0
- package/ui/dynamic-theme/custom-text-color.scss +8 -0
- package/ui/dynamic-theme/custom-theme-palettes.scss +33 -0
- package/ui/dynamic-theme/custom-theme.scss.tpl +72 -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 +94 -0
- package/ui/mixins.scss +26 -0
- package/ui/overrides/adf-about.theme.scss +38 -0
- package/ui/overrides/adf-pagination.theme.scss +46 -0
- package/ui/overrides/adf-style-fixes.theme.scss +18 -0
- package/ui/overrides/ay11.scss +232 -0
- package/ui/theme.scss +55 -0
- package/ui/variables/font-family.scss +1 -0
- package/ui/variables/variables.scss +92 -0
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Alfresco Example Content Application
|
|
5
|
+
*
|
|
6
|
+
* This file is part of the Alfresco Example Content Application.
|
|
7
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
+
* provided under the following open source license terms:
|
|
10
|
+
*
|
|
11
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
+
* (at your option) any later version.
|
|
15
|
+
*
|
|
16
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
* GNU Lesser General Public License for more details.
|
|
20
|
+
*
|
|
21
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
+
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
+
*/
|
|
24
|
+
import { Component, ViewEncapsulation } from '@angular/core';
|
|
25
|
+
import { ActivatedRoute, Router } from '@angular/router';
|
|
26
|
+
import { SearchQueryBuilderService } from '@alfresco/adf-content-services';
|
|
27
|
+
import { Store } from '@ngrx/store';
|
|
28
|
+
import { infoDrawerPreview, NavigateToFolder, SetInfoDrawerPreviewStateAction, SetInfoDrawerStateAction, showFacetFilter, ShowInfoDrawerPreviewAction, SnackbarErrorAction } from '@alfresco/aca-shared/store';
|
|
29
|
+
import { ContentManagementService } from '../../../services/content-management.service';
|
|
30
|
+
import { TranslationService } from '@alfresco/adf-core';
|
|
31
|
+
import { combineLatest } from 'rxjs';
|
|
32
|
+
import { AcaFileAutoDownloadService, AppExtensionService, PageComponent } from '@alfresco/aca-shared';
|
|
33
|
+
import { takeUntil } from 'rxjs/operators';
|
|
34
|
+
import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';
|
|
35
|
+
import * as i0 from "@angular/core";
|
|
36
|
+
import * as i1 from "@alfresco/adf-content-services";
|
|
37
|
+
import * as i2 from "@angular/router";
|
|
38
|
+
import * as i3 from "@ngrx/store";
|
|
39
|
+
import * as i4 from "@alfresco/aca-shared";
|
|
40
|
+
import * as i5 from "../../../services/content-management.service";
|
|
41
|
+
import * as i6 from "@alfresco/adf-core";
|
|
42
|
+
import * as i7 from "@angular/cdk/layout";
|
|
43
|
+
import * as i8 from "@angular/common";
|
|
44
|
+
import * as i9 from "@angular/material/button";
|
|
45
|
+
import * as i10 from "@angular/material/icon";
|
|
46
|
+
import * as i11 from "@angular/material/divider";
|
|
47
|
+
import * as i12 from "@angular/material/progress-bar";
|
|
48
|
+
import * as i13 from "../../../directives/document-list.directive";
|
|
49
|
+
import * as i14 from "../../dl-custom-components/thumbnail-column/thumbnail-column.component";
|
|
50
|
+
import * as i15 from "../../dl-custom-components/tags-column/tags-column.component";
|
|
51
|
+
import * as i16 from "../search-input/search-input.component";
|
|
52
|
+
import * as i17 from "../search-results-row/search-results-row.component";
|
|
53
|
+
import * as i18 from "../search-action-menu/search-action-menu.component";
|
|
54
|
+
import * as i19 from "@ngx-translate/core";
|
|
55
|
+
export class SearchResultsComponent extends PageComponent {
|
|
56
|
+
constructor(queryBuilder, route, store, extensions, content, translationService, router, breakpointObserver, fileAutoDownloadService) {
|
|
57
|
+
super(store, extensions, content, fileAutoDownloadService);
|
|
58
|
+
this.queryBuilder = queryBuilder;
|
|
59
|
+
this.route = route;
|
|
60
|
+
this.translationService = translationService;
|
|
61
|
+
this.router = router;
|
|
62
|
+
this.breakpointObserver = breakpointObserver;
|
|
63
|
+
this.queryParamName = 'q';
|
|
64
|
+
this.sorting = ['name', 'asc'];
|
|
65
|
+
this.isLoading = false;
|
|
66
|
+
this.isSmallScreen = false;
|
|
67
|
+
queryBuilder.paging = {
|
|
68
|
+
skipCount: 0,
|
|
69
|
+
maxItems: 25
|
|
70
|
+
};
|
|
71
|
+
this.showFacetFilter$ = store.select(showFacetFilter);
|
|
72
|
+
this.infoDrawerPreview$ = store.select(infoDrawerPreview);
|
|
73
|
+
combineLatest([this.route.params, this.queryBuilder.configUpdated])
|
|
74
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
75
|
+
.subscribe(([params, searchConfig]) => {
|
|
76
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
77
|
+
this.searchedWord = params.hasOwnProperty(this.queryParamName) ? params[this.queryParamName] : null;
|
|
78
|
+
const query = this.formatSearchQuery(this.searchedWord, searchConfig['aca:fields']);
|
|
79
|
+
if (query) {
|
|
80
|
+
this.queryBuilder.userQuery = decodeURIComponent(query);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
this.breakpointObserver
|
|
84
|
+
.observe([Breakpoints.HandsetPortrait, Breakpoints.HandsetLandscape])
|
|
85
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
86
|
+
.subscribe((result) => {
|
|
87
|
+
this.isSmallScreen = result.matches;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
ngOnInit() {
|
|
91
|
+
super.ngOnInit();
|
|
92
|
+
this.queryBuilder.resetToDefaults();
|
|
93
|
+
this.sorting = this.getSorting();
|
|
94
|
+
this.subscriptions.push(this.queryBuilder.updated.subscribe((query) => {
|
|
95
|
+
if (query) {
|
|
96
|
+
this.sorting = this.getSorting();
|
|
97
|
+
this.isLoading = true;
|
|
98
|
+
}
|
|
99
|
+
}), this.queryBuilder.executed.subscribe((data) => {
|
|
100
|
+
this.queryBuilder.paging.skipCount = 0;
|
|
101
|
+
this.onSearchResultLoaded(data);
|
|
102
|
+
this.isLoading = false;
|
|
103
|
+
}), this.queryBuilder.error.subscribe((err) => {
|
|
104
|
+
this.onSearchError(err);
|
|
105
|
+
}));
|
|
106
|
+
if (this.route) {
|
|
107
|
+
this.route.params.forEach((params) => {
|
|
108
|
+
// eslint-disable-next-line no-prototype-builtins
|
|
109
|
+
this.searchedWord = params.hasOwnProperty(this.queryParamName) ? params[this.queryParamName] : null;
|
|
110
|
+
if (this.searchedWord) {
|
|
111
|
+
this.queryBuilder.update();
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
this.queryBuilder.userQuery = null;
|
|
115
|
+
this.queryBuilder.executed.next({
|
|
116
|
+
list: { pagination: { totalItems: 0 }, entries: [] }
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
onSearchError(error) {
|
|
123
|
+
const { statusCode } = JSON.parse(error.message).error;
|
|
124
|
+
const messageKey = `APP.BROWSE.SEARCH.ERRORS.${statusCode}`;
|
|
125
|
+
let translated = this.translationService.instant(messageKey);
|
|
126
|
+
if (translated === messageKey) {
|
|
127
|
+
translated = this.translationService.instant(`APP.BROWSE.SEARCH.ERRORS.GENERIC`);
|
|
128
|
+
}
|
|
129
|
+
this.store.dispatch(new SnackbarErrorAction(translated));
|
|
130
|
+
}
|
|
131
|
+
isOperator(input) {
|
|
132
|
+
if (input) {
|
|
133
|
+
input = input.trim().toUpperCase();
|
|
134
|
+
const operators = ['AND', 'OR'];
|
|
135
|
+
return operators.includes(input);
|
|
136
|
+
}
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
formatFields(fields, term) {
|
|
140
|
+
let prefix = '';
|
|
141
|
+
let suffix = '*';
|
|
142
|
+
if (term.startsWith('=')) {
|
|
143
|
+
prefix = '=';
|
|
144
|
+
suffix = '';
|
|
145
|
+
term = term.substring(1);
|
|
146
|
+
}
|
|
147
|
+
return '(' + fields.map((field) => `${prefix}${field}:"${term}${suffix}"`).join(' OR ') + ')';
|
|
148
|
+
}
|
|
149
|
+
formatSearchQuery(userInput, fields = ['cm:name']) {
|
|
150
|
+
if (!userInput) {
|
|
151
|
+
return null;
|
|
152
|
+
}
|
|
153
|
+
if (/^http[s]?:\/\//.test(userInput)) {
|
|
154
|
+
return this.formatFields(fields, userInput);
|
|
155
|
+
}
|
|
156
|
+
userInput = userInput.trim();
|
|
157
|
+
if (userInput.includes(':') || userInput.includes('"')) {
|
|
158
|
+
return userInput;
|
|
159
|
+
}
|
|
160
|
+
const words = userInput.split(' ');
|
|
161
|
+
if (words.length > 1) {
|
|
162
|
+
const separator = words.some(this.isOperator) ? ' ' : ' AND ';
|
|
163
|
+
return words
|
|
164
|
+
.map((term) => {
|
|
165
|
+
if (this.isOperator(term)) {
|
|
166
|
+
return term;
|
|
167
|
+
}
|
|
168
|
+
return this.formatFields(fields, term);
|
|
169
|
+
})
|
|
170
|
+
.join(separator);
|
|
171
|
+
}
|
|
172
|
+
return this.formatFields(fields, userInput);
|
|
173
|
+
}
|
|
174
|
+
onSearchResultLoaded(nodePaging) {
|
|
175
|
+
this.data = nodePaging;
|
|
176
|
+
}
|
|
177
|
+
onPaginationChanged(pagination) {
|
|
178
|
+
this.queryBuilder.paging = {
|
|
179
|
+
maxItems: pagination.maxItems,
|
|
180
|
+
skipCount: pagination.skipCount
|
|
181
|
+
};
|
|
182
|
+
this.queryBuilder.update();
|
|
183
|
+
}
|
|
184
|
+
getSorting() {
|
|
185
|
+
const primary = this.queryBuilder.getPrimarySorting();
|
|
186
|
+
if (primary) {
|
|
187
|
+
return [primary.key, primary.ascending ? 'asc' : 'desc'];
|
|
188
|
+
}
|
|
189
|
+
return ['name', 'asc'];
|
|
190
|
+
}
|
|
191
|
+
onNodeDoubleClick(node) {
|
|
192
|
+
if (node && node.entry) {
|
|
193
|
+
if (node.entry.isFolder) {
|
|
194
|
+
this.store.dispatch(new NavigateToFolder(node));
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
this.showPreview(node, { location: this.router.url });
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
handleNodeClick(event) {
|
|
201
|
+
this.onNodeDoubleClick(event.detail?.node);
|
|
202
|
+
}
|
|
203
|
+
onPreviewClosed() {
|
|
204
|
+
this.store.dispatch(new ShowInfoDrawerPreviewAction());
|
|
205
|
+
}
|
|
206
|
+
onDrawerClosed() {
|
|
207
|
+
this.store.dispatch(new SetInfoDrawerPreviewStateAction(false));
|
|
208
|
+
this.store.dispatch(new SetInfoDrawerStateAction(false));
|
|
209
|
+
}
|
|
210
|
+
onSearchSortingUpdate(option) {
|
|
211
|
+
this.queryBuilder.sorting = [{ ...option, ascending: option.ascending }];
|
|
212
|
+
this.queryBuilder.update();
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
SearchResultsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchResultsComponent, deps: [{ token: i1.SearchQueryBuilderService }, { token: i2.ActivatedRoute }, { token: i3.Store }, { token: i4.AppExtensionService }, { token: i5.ContentManagementService }, { token: i6.TranslationService }, { token: i2.Router }, { token: i7.BreakpointObserver }, { token: i4.AcaFileAutoDownloadService }], target: i0.ɵɵFactoryTarget.Component });
|
|
216
|
+
SearchResultsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SearchResultsComponent, selector: "aca-search-results", usesInheritance: true, ngImport: i0, template: "<aca-page-layout>\n <aca-page-layout-header>\n <aca-search-input></aca-search-input>\n <div class=\"adf-toolbar--spacer adf-toolbar-divider\"></div>\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\"> </mat-progress-bar>\n <div class=\"adf-search-results__content-header content\">\n <adf-search-form class=\"content__side--left\"></adf-search-form>\n\n <mat-divider [vertical]=\"true\" class=\"content__divider\"></mat-divider>\n\n <adf-search-filter-chips class=\"content__filter\"></adf-search-filter-chips>\n\n <button\n mat-button\n adf-reset-search\n class=\"content__reset-action\"\n title=\"{{'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate \">\n <mat-icon> refresh </mat-icon>\n </button>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [imageResolver]=\"imageResolver\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column key=\"$thumbnail\" type=\"image\" [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\"></aca-custom-thumbnail-column>\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\"></aca-search-action-menu>\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column key type=\"text\" class=\"adf-ellipsis-cell adf-expand-cell-5\" title=\"APP.DOCUMENT_LIST.COLUMNS.NAME\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-search-results-row [context]=\"context\"></aca-search-results-row>\n </ng-template>\n </data-column>\n\n <data-column key=\"properties\" title=\"Description\" class=\"adf-expand-cell-3\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\">\n <ng-template let-context>\n <span class=\"adf-datatable-cell-value adf-ellipsis-cell\">\n {{context.row?.node?.entry?.properties && context.row?.node?.entry?.properties['cm:description']}}\n </span>\n </ng-template>\n </data-column>\n\n <data-column key=\"content.sizeInBytes\" type=\"fileSize\" title=\"APP.DOCUMENT_LIST.COLUMNS.SIZE\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedAt\" type=\"date\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_ON\" class=\"adf-no-grow-cell adf-ellipsis-cell\" format=\"timeAgo\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedByUser.displayName\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_BY\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"$tags\" type=\"text\" title=\"APP.DOCUMENT_LIST.COLUMNS.TAGS\" class=\"adf-full-width adf-expand-cell-4\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-tags-column [context]=\"context\"></aca-tags-column>\n </ng-template>\n </data-column>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"!documentList.isEmpty()\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\">\n </adf-pagination>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"sidebar\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </ng-template>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n", styles: [".adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}.adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}.adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid #eee}.adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid #eee}.adf-search-results__content-header .adf-search-filter-chip.mat-chip{background-color:#efefef;color:#646569}.adf-search-results__content-header .adf-search-filter-chip .adf-search-filter-placeholder{color:#646569}.adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}.adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}.adf-search-results--right_panel_section{display:flex;justify-content:flex-start}.adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}.adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}.adf-search-results--visibility_button{margin-right:8px}.adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}.adf-search-results .adf-search-filter--hidden{display:none}.adf-search-results .content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px}.adf-search-results .content__button{padding:0 12px}.adf-search-results .content__divider{height:100%}.adf-search-results .content__filter{padding:0 12px;flex:1 1 auto}.adf-search-results .content__reset-action{line-height:33px}.adf-search-results .content__sort-picker{min-width:220px}.adf-search-results .adf-datatable aca-search-action-menu button{width:0}.adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}\n"], dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.ViewerToolbarComponent, selector: "adf-viewer-toolbar" }, { kind: "component", type: i9.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: "component", type: i10.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i11.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i12.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "component", type: i6.PaginationComponent, selector: "adf-pagination", inputs: ["target", "supportedPageSizes", "pagination"], outputs: ["change", "changePageNumber", "changePageSize", "nextPage", "prevPage"] }, { kind: "component", type: i6.ToolbarComponent, selector: "adf-toolbar", inputs: ["title", "color"] }, { kind: "directive", type: i6.CustomEmptyContentTemplateDirective, selector: "adf-custom-empty-content-template, empty-folder-content" }, { kind: "component", type: i6.DataColumnComponent, selector: "data-column", inputs: ["id", "key", "customData", "type", "format", "sortable", "draggable", "isHidden", "title", "formatTooltip", "sr-title", "class", "copyContent", "editable", "focus", "sortingKey"] }, { kind: "component", type: i6.DataColumnListComponent, selector: "data-columns" }, { kind: "component", type: i6.DateColumnHeaderComponent, selector: "adf-data-column-header" }, { kind: "component", type: i1.DocumentListComponent, selector: "adf-document-list", inputs: ["includeFields", "where", "display", "permissionsStyle", "locationFormat", "navigate", "showHeader", "navigationMode", "thumbnails", "selectionMode", "multiselect", "contentActions", "contentActionsPosition", "contextMenuActions", "emptyFolderImageUrl", "allowDropFiles", "sorting", "additionalSorting", "sortingMode", "rowStyle", "rowStyleClass", "loading", "_rowFilter", "rowFilter", "imageResolver", "stickyHeader", "headerFilters", "filterValue", "currentFolderId", "preselectNodes", "node", "maxItems"], outputs: ["nodeClick", "nodeDblClick", "folderChange", "preview", "ready", "error", "nodeSelected", "filterSelection"] }, { kind: "component", type: i1.SearchFormComponent, selector: "adf-search-form", outputs: ["formChange"] }, { kind: "component", type: i1.SearchFilterChipsComponent, selector: "adf-search-filter-chips", inputs: ["showContextFacets"] }, { kind: "directive", type: i1.ResetSearchDirective, selector: "[adf-reset-search]" }, { kind: "component", type: i1.AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: i4.InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: i4.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["data", "type", "color", "actionRef"] }, { kind: "directive", type: i13.DocumentListDirective, selector: "[acaDocumentList]" }, { kind: "directive", type: i4.PaginationDirective, selector: "[acaPagination]" }, { kind: "directive", type: i4.ContextActionsDirective, selector: "[acaContextActions]", inputs: ["acaContextEnable"], exportAs: ["acaContextActions"] }, { kind: "component", type: i4.PageLayoutContentComponent, selector: "aca-page-layout-content", inputs: ["scrollable"] }, { kind: "component", type: i4.PageLayoutHeaderComponent, selector: "aca-page-layout-header" }, { kind: "component", type: i4.PageLayoutComponent, selector: "aca-page-layout", inputs: ["hasError"] }, { kind: "component", type: i14.ThumbnailColumnComponent, selector: "aca-custom-thumbnail-column", inputs: ["context"] }, { kind: "component", type: i15.TagsColumnComponent, selector: "aca-tags-column", inputs: ["context"] }, { kind: "component", type: i16.SearchInputComponent, selector: "aca-search-input" }, { kind: "component", type: i17.SearchResultsRowComponent, selector: "aca-search-results-row", inputs: ["context"] }, { kind: "component", type: i18.SearchActionMenuComponent, selector: "aca-search-action-menu", outputs: ["sortingSelected"] }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i19.TranslatePipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None });
|
|
217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchResultsComponent, decorators: [{
|
|
218
|
+
type: Component,
|
|
219
|
+
args: [{ selector: 'aca-search-results', encapsulation: ViewEncapsulation.None, template: "<aca-page-layout>\n <aca-page-layout-header>\n <aca-search-input></aca-search-input>\n <div class=\"adf-toolbar--spacer adf-toolbar-divider\"></div>\n <adf-toolbar class=\"adf-toolbar--inline\">\n <ng-container *ngFor=\"let entry of actions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"entry\"></aca-toolbar-action>\n </ng-container>\n </adf-toolbar>\n </aca-page-layout-header>\n\n <aca-page-layout-content>\n <div class=\"main-content\">\n <div class=\"adf-search-results\">\n <div class=\"adf-search-results__content\">\n <mat-progress-bar *ngIf=\"isLoading\" color=\"primary\" mode=\"indeterminate\" aria-live=\"polite\"> </mat-progress-bar>\n <div class=\"adf-search-results__content-header content\">\n <adf-search-form class=\"content__side--left\"></adf-search-form>\n\n <mat-divider [vertical]=\"true\" class=\"content__divider\"></mat-divider>\n\n <adf-search-filter-chips class=\"content__filter\"></adf-search-filter-chips>\n\n <button\n mat-button\n adf-reset-search\n class=\"content__reset-action\"\n title=\"{{'APP.BROWSE.SEARCH.RESET_ACTION' | translate }}\"\n [attr.aria-label]=\"'APP.BROWSE.SEARCH.RESET_ACTION' | translate \">\n <mat-icon> refresh </mat-icon>\n </button>\n </div>\n\n <adf-document-list\n #documentList\n acaDocumentList\n acaContextActions\n [selectionMode]=\"'multiple'\"\n [sortingMode]=\"'server'\"\n [sorting]=\"sorting\"\n [imageResolver]=\"imageResolver\"\n [node]=\"$any(data)\"\n (node-dblclick)=\"handleNodeClick($event)\"\n >\n <data-columns>\n <data-column key=\"$thumbnail\" type=\"image\" [sr-title]=\"'ADF-DOCUMENT-LIST.LAYOUT.THUMBNAIL'\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-custom-thumbnail-column [context]=\"context\"></aca-custom-thumbnail-column>\n </ng-template>\n\n <adf-data-column-header>\n <ng-template>\n <aca-search-action-menu (sortingSelected)=\"onSearchSortingUpdate($event)\"></aca-search-action-menu>\n </ng-template>\n </adf-data-column-header>\n </data-column>\n\n <data-column key type=\"text\" class=\"adf-ellipsis-cell adf-expand-cell-5\" title=\"APP.DOCUMENT_LIST.COLUMNS.NAME\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-search-results-row [context]=\"context\"></aca-search-results-row>\n </ng-template>\n </data-column>\n\n <data-column key=\"properties\" title=\"Description\" class=\"adf-expand-cell-3\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\">\n <ng-template let-context>\n <span class=\"adf-datatable-cell-value adf-ellipsis-cell\">\n {{context.row?.node?.entry?.properties && context.row?.node?.entry?.properties['cm:description']}}\n </span>\n </ng-template>\n </data-column>\n\n <data-column key=\"content.sizeInBytes\" type=\"fileSize\" title=\"APP.DOCUMENT_LIST.COLUMNS.SIZE\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedAt\" type=\"date\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_ON\" class=\"adf-no-grow-cell adf-ellipsis-cell\" format=\"timeAgo\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"modifiedByUser.displayName\" title=\"APP.DOCUMENT_LIST.COLUMNS.MODIFIED_BY\" class=\"adf-no-grow-cell adf-ellipsis-cell\" [sortable]=\"false\" *ngIf=\"!isSmallScreen\"></data-column>\n <data-column key=\"$tags\" type=\"text\" title=\"APP.DOCUMENT_LIST.COLUMNS.TAGS\" class=\"adf-full-width adf-expand-cell-4\" [sortable]=\"false\">\n <ng-template let-context>\n <aca-tags-column [context]=\"context\"></aca-tags-column>\n </ng-template>\n </data-column>\n </data-columns>\n\n <adf-custom-empty-content-template>\n <ng-container *ngIf=\"data\">\n <div class=\"empty-search__block\" aria-live=\"polite\">\n <p class=\"empty-search__text\">\n {{ 'APP.BROWSE.SEARCH.NO_RESULTS' | translate }}\n </p>\n </div>\n </ng-container>\n </adf-custom-empty-content-template>\n </adf-document-list>\n\n <adf-pagination *ngIf=\"!documentList.isEmpty()\" acaPagination [target]=\"documentList\" (change)=\"onPaginationChanged($event)\">\n </adf-pagination>\n </div>\n </div>\n </div>\n <div\n [ngClass]=\"\n (infoDrawerPreview$ | async) === true ? 'adf-search-results--right_panel_section-extended' : 'adf-search-results--right_panel_section'\n \"\n *ngIf=\"infoDrawerOpened$ | async\"\n >\n <adf-alfresco-viewer\n class=\"adf-search-results--embedded_viewer\"\n [nodeId]=\"selection.last.entry.id\"\n *ngIf=\"infoDrawerPreview$ | async; else infoDrawerPanel\"\n >\n <adf-viewer-toolbar>\n <div class=\"adf-search-results--preview-toolbar\">\n <div>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onDrawerClosed()\">\n <mat-icon>close</mat-icon>\n </button>\n </div>\n <div>\n <button\n mat-icon-button\n title=\"{{ 'ADF_VIEWER.ACTIONS.PREVIEW' | translate }}\"\n color=\"accent\"\n class=\"adf-search-results--visibility_button\"\n >\n <mat-icon>visibility</mat-icon>\n </button>\n <button mat-icon-button title=\"{{ 'ADF_VIEWER.ACTIONS.CLOSE' | translate }}\" (click)=\"onPreviewClosed()\">\n <mat-icon>info_outline</mat-icon>\n </button>\n </div>\n </div>\n </adf-viewer-toolbar>\n </adf-alfresco-viewer>\n <ng-template #infoDrawerPanel>\n <div class=\"sidebar\">\n <aca-info-drawer [node]=\"selection.last\"></aca-info-drawer>\n </div>\n </ng-template>\n </div>\n </aca-page-layout-content>\n</aca-page-layout>\n", styles: [".adf-search-results{display:flex;flex-direction:row;flex:1;height:100%;overflow:hidden}.adf-search-results__facets{display:flex;flex-direction:row;margin-top:5px;margin-bottom:15px}.adf-search-results__content{display:flex;flex-direction:column;flex:1;height:100%;overflow:hidden;min-height:0;border-left:1px solid #eee}.adf-search-results__content-header{display:flex;padding:0 25px;flex-direction:row;align-items:center;border-bottom:1px solid #eee}.adf-search-results__content-header .adf-search-filter-chip.mat-chip{background-color:#efefef;color:#646569}.adf-search-results__content-header .adf-search-filter-chip .adf-search-filter-placeholder{color:#646569}.adf-search-results--info-text{flex:1;font-size:16px;color:#0000008a}.adf-search-results--embedded_viewer{position:unset;display:flex;width:100%}.adf-search-results--right_panel_section{display:flex;justify-content:flex-start}.adf-search-results--right_panel_section-extended{display:flex;justify-content:flex-start;flex-basis:55%}.adf-search-results--preview-toolbar{display:flex;align-items:flex-end;justify-content:space-between;margin:5px;padding-right:24px}.adf-search-results--visibility_button{margin-right:8px}.adf-search-results .adf-search-filter{min-width:260px;max-width:320px;padding:5px;height:100%;overflow:scroll}.adf-search-results .adf-search-filter--hidden{display:none}.adf-search-results .content{box-sizing:border-box;display:flex;place-content:flex-start space-between;align-items:flex-start;padding:16px 12px}.adf-search-results .content__button{padding:0 12px}.adf-search-results .content__divider{height:100%}.adf-search-results .content__filter{padding:0 12px;flex:1 1 auto}.adf-search-results .content__reset-action{line-height:33px}.adf-search-results .content__sort-picker{min-width:220px}.adf-search-results .adf-datatable aca-search-action-menu button{width:0}.adf-search-results .adf-datatable .aca-location-link a{font-size:12px;max-width:350px;text-align:left;direction:rtl}\n"] }]
|
|
220
|
+
}], ctorParameters: function () { return [{ type: i1.SearchQueryBuilderService }, { type: i2.ActivatedRoute }, { type: i3.Store }, { type: i4.AppExtensionService }, { type: i5.ContentManagementService }, { type: i6.TranslationService }, { type: i2.Router }, { type: i7.BreakpointObserver }, { type: i4.AcaFileAutoDownloadService }]; } });
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1yZXN1bHRzL3NlYXJjaC1yZXN1bHRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBVSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRSxPQUFPLEVBQUUsY0FBYyxFQUFVLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsK0JBQStCLEVBQy9CLHdCQUF3QixFQUN4QixlQUFlLEVBQ2YsMkJBQTJCLEVBQzNCLG1CQUFtQixFQUNwQixNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRHLE9BQU8sRUFBRSxTQUFTLEVB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SUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxPQUFPO2FBQ1I7WUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDdkQ7SUFDSCxDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQVk7UUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFFLEtBQXFCLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLCtCQUErQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxNQUErQjtRQUNuRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7bUhBbk5VLHNCQUFzQjt1R0FBdEIsc0JBQXNCLGlGQ3JEbkMsc2dOQTJJQTsyRkR0RmEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLG9CQUFvQixpQkFFZixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWluaW1hbE5vZGVFbnRpdHksIFBhZ2luYXRpb24sIFJlc3VsdFNldFBhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcywgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFNlYXJjaFF1ZXJ5QnVpbGRlclNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBBcHBTdG9yZSxcbiAgaW5mb0RyYXdlclByZXZpZXcsXG4gIE5hdmlnYXRlVG9Gb2xkZXIsXG4gIFNldEluZm9EcmF3ZXJQcmV2aWV3U3RhdGVBY3Rpb24sXG4gIFNldEluZm9EcmF3ZXJTdGF0ZUFjdGlvbixcbiAgc2hvd0ZhY2V0RmlsdGVyLFxuICBTaG93SW5mb0RyYXdlclByZXZpZXdBY3Rpb24sXG4gIFNuYWNrYmFyRXJyb3JBY3Rpb25cbn0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQvc3RvcmUnO1xuaW1wb3J0IHsgQ29udGVudE1hbmFnZW1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvY29udGVudC1tYW5hZ2VtZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgVHJhbnNsYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFjYUZpbGVBdXRvRG93bmxvYWRTZXJ2aWNlLCBBcHBFeHRlbnNpb25TZXJ2aWNlLCBQYWdlQ29tcG9uZW50IH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHsgU2VhcmNoU29ydGluZ0RlZmluaXRpb24gfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMvbGliL3NlYXJjaC9tb2RlbHMvc2VhcmNoLXNvcnRpbmctZGVmaW5pdGlvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50cyB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhY2Etc2VhcmNoLXJlc3VsdHMnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNoLXJlc3VsdHMuY29tcG9uZW50Lmh0bWwnLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdHNDb21wb25lbnQgZXh0ZW5kcyBQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2hvd0ZhY2V0RmlsdGVyJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgaW5mb0RyYXdlclByZXZpZXckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gIHNlYXJjaGVkV29yZDogc3RyaW5nO1xuICBxdWVyeVBhcmFtTmFtZSA9ICdxJztcbiAgZGF0YTogUmVzdWx0U2V0UGFnaW5nO1xuICBzb3J0aW5nID0gWyduYW1lJywgJ2FzYyddO1xuICBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgaXNTbWFsbFNjcmVlbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcXVlcnlCdWlsZGVyOiBTZWFyY2hRdWVyeUJ1aWxkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sXG4gICAgZXh0ZW5zaW9uczogQXBwRXh0ZW5zaW9uU2VydmljZSxcbiAgICBjb250ZW50OiBDb250ZW50TWFuYWdlbWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGlvblNlcnZpY2U6IFRyYW5zbGF0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgYnJlYWtwb2ludE9ic2VydmVyOiBCcmVha3BvaW50T2JzZXJ2ZXIsXG4gICAgZmlsZUF1dG9Eb3dubG9hZFNlcnZpY2U6IEFjYUZpbGVBdXRvRG93bmxvYWRTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKHN0b3JlLCBleHRlbnNpb25zLCBjb250ZW50LCBmaWxlQXV0b0Rvd25sb2FkU2VydmljZSk7XG5cbiAgICBxdWVyeUJ1aWxkZXIucGFnaW5nID0ge1xuICAgICAgc2tpcENvdW50OiAwLFxuICAgICAgbWF4SXRlbXM6IDI1XG4gICAgfTtcblxuICAgIHRoaXMuc2hvd0ZhY2V0RmlsdGVyJCA9IHN0b3JlLnNlbGVjdChzaG93RmFjZXRGaWx0ZXIpO1xuICAgIHRoaXMuaW5mb0RyYXdlclByZXZpZXckID0gc3RvcmUuc2VsZWN0KGluZm9EcmF3ZXJQcmV2aWV3KTtcbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnJvdXRlLnBhcmFtcywgdGhpcy5xdWVyeUJ1aWxkZXIuY29uZmlnVXBkYXRlZF0pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKFtwYXJhbXMsIHNlYXJjaENvbmZpZ10pID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAgICAgICB0aGlzLnNlYXJjaGVkV29yZCA9IHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSh0aGlzLnF1ZXJ5UGFyYW1OYW1lKSA/IHBhcmFtc1t0aGlzLnF1ZXJ5UGFyYW1OYW1lXSA6IG51bGw7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0gdGhpcy5mb3JtYXRTZWFyY2hRdWVyeSh0aGlzLnNlYXJjaGVkV29yZCwgc2VhcmNoQ29uZmlnWydhY2E6ZmllbGRzJ10pO1xuICAgICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci51c2VyUXVlcnkgPSBkZWNvZGVVUklDb21wb25lbnQocXVlcnkpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbQnJlYWtwb2ludHMuSGFuZHNldFBvcnRyYWl0LCBCcmVha3BvaW50cy5IYW5kc2V0TGFuZHNjYXBlXSlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICAgIHRoaXMuaXNTbWFsbFNjcmVlbiA9IHJlc3VsdC5tYXRjaGVzO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIucmVzZXRUb0RlZmF1bHRzKCk7XG4gICAgdGhpcy5zb3J0aW5nID0gdGhpcy5nZXRTb3J0aW5nKCk7XG5cbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcbiAgICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZWQuc3Vic2NyaWJlKChxdWVyeSkgPT4ge1xuICAgICAgICBpZiAocXVlcnkpIHtcbiAgICAgICAgICB0aGlzLnNvcnRpbmcgPSB0aGlzLmdldFNvcnRpbmcoKTtcbiAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0pLFxuXG4gICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5leGVjdXRlZC5zdWJzY3JpYmUoKGRhdGEpID0+IHtcbiAgICAgICAgdGhpcy5xdWVyeUJ1aWxkZXIucGFnaW5nLnNraXBDb3VudCA9IDA7XG5cbiAgICAgICAgdGhpcy5vblNlYXJjaFJlc3VsdExvYWRlZChkYXRhKTtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgIH0pLFxuXG4gICAgICB0aGlzLnF1ZXJ5QnVpbGRlci5lcnJvci5zdWJzY3JpYmUoKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub25TZWFyY2hFcnJvcihlcnIpO1xuICAgICAgfSlcbiAgICApO1xuXG4gICAgaWYgKHRoaXMucm91dGUpIHtcbiAgICAgIHRoaXMucm91dGUucGFyYW1zLmZvckVhY2goKHBhcmFtczogUGFyYW1zKSA9PiB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgICAgICAgdGhpcy5zZWFyY2hlZFdvcmQgPSBwYXJhbXMuaGFzT3duUHJvcGVydHkodGhpcy5xdWVyeVBhcmFtTmFtZSkgPyBwYXJhbXNbdGhpcy5xdWVyeVBhcmFtTmFtZV0gOiBudWxsO1xuICAgICAgICBpZiAodGhpcy5zZWFyY2hlZFdvcmQpIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci51cGRhdGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnF1ZXJ5QnVpbGRlci51c2VyUXVlcnkgPSBudWxsO1xuICAgICAgICAgIHRoaXMucXVlcnlCdWlsZGVyLmV4ZWN1dGVkLm5leHQoe1xuICAgICAgICAgICAgbGlzdDogeyBwYWdpbmF0aW9uOiB7IHRvdGFsSXRlbXM6IDAgfSwgZW50cmllczogW10gfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBvblNlYXJjaEVycm9yKGVycm9yOiB7IG1lc3NhZ2U6IGFueSB9KSB7XG4gICAgY29uc3QgeyBzdGF0dXNDb2RlIH0gPSBKU09OLnBhcnNlKGVycm9yLm1lc3NhZ2UpLmVycm9yO1xuXG4gICAgY29uc3QgbWVzc2FnZUtleSA9IGBBUFAuQlJPV1NFLlNFQVJDSC5FUlJPUlMuJHtzdGF0dXNDb2RlfWA7XG4gICAgbGV0IHRyYW5zbGF0ZWQgPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KG1lc3NhZ2VLZXkpO1xuXG4gICAgaWYgKHRyYW5zbGF0ZWQgPT09IG1lc3NhZ2VLZXkpIHtcbiAgICAgIHRyYW5zbGF0ZWQgPSB0aGlzLnRyYW5zbGF0aW9uU2VydmljZS5pbnN0YW50KGBBUFAuQlJPV1NFLlNFQVJDSC5FUlJPUlMuR0VORVJJQ2ApO1xuICAgIH1cblxuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNuYWNrYmFyRXJyb3JBY3Rpb24odHJhbnNsYXRlZCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc09wZXJhdG9yKGlucHV0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIGlucHV0ID0gaW5wdXQudHJpbSgpLnRvVXBwZXJDYXNlKCk7XG5cbiAgICAgIGNvbnN0IG9wZXJhdG9ycyA9IFsnQU5EJywgJ09SJ107XG4gICAgICByZXR1cm4gb3BlcmF0b3JzLmluY2x1ZGVzKGlucHV0KTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRGaWVsZHMoZmllbGRzOiBzdHJpbmdbXSwgdGVybTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICBsZXQgcHJlZml4ID0gJyc7XG4gICAgbGV0IHN1ZmZpeCA9ICcqJztcblxuICAgIGlmICh0ZXJtLnN0YXJ0c1dpdGgoJz0nKSkge1xuICAgICAgcHJlZml4ID0gJz0nO1xuICAgICAgc3VmZml4ID0gJyc7XG4gICAgICB0ZXJtID0gdGVybS5zdWJzdHJpbmcoMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuICcoJyArIGZpZWxkcy5tYXAoKGZpZWxkKSA9PiBgJHtwcmVmaXh9JHtmaWVsZH06XCIke3Rlcm19JHtzdWZmaXh9XCJgKS5qb2luKCcgT1IgJykgKyAnKSc7XG4gIH1cblxuICBmb3JtYXRTZWFyY2hRdWVyeSh1c2VySW5wdXQ6IHN0cmluZywgZmllbGRzID0gWydjbTpuYW1lJ10pIHtcbiAgICBpZiAoIXVzZXJJbnB1dCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaWYgKC9eaHR0cFtzXT86XFwvXFwvLy50ZXN0KHVzZXJJbnB1dCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmZvcm1hdEZpZWxkcyhmaWVsZHMsIHVzZXJJbnB1dCk7XG4gICAgfVxuXG4gICAgdXNlcklucHV0ID0gdXNlcklucHV0LnRyaW0oKTtcblxuICAgIGlmICh1c2VySW5wdXQuaW5jbHVkZXMoJzonKSB8fCB1c2VySW5wdXQuaW5jbHVkZXMoJ1wiJykpIHtcbiAgICAgIHJldHVybiB1c2VySW5wdXQ7XG4gICAgfVxuXG4gICAgY29uc3Qgd29yZHMgPSB1c2VySW5wdXQuc3BsaXQoJyAnKTtcblxuICAgIGlmICh3b3Jkcy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBzZXBhcmF0b3IgPSB3b3Jkcy5zb21lKHRoaXMuaXNPcGVyYXRvcikgPyAnICcgOiAnIEFORCAnO1xuXG4gICAgICByZXR1cm4gd29yZHNcbiAgICAgICAgLm1hcCgodGVybSkgPT4ge1xuICAgICAgICAgIGlmICh0aGlzLmlzT3BlcmF0b3IodGVybSkpIHtcbiAgICAgICAgICAgIHJldHVybiB0ZXJtO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB0aGlzLmZvcm1hdEZpZWxkcyhmaWVsZHMsIHRlcm0pO1xuICAgICAgICB9KVxuICAgICAgICAuam9pbihzZXBhcmF0b3IpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZvcm1hdEZpZWxkcyhmaWVsZHMsIHVzZXJJbnB1dCk7XG4gIH1cblxuICBvblNlYXJjaFJlc3VsdExvYWRlZChub2RlUGFnaW5nOiBSZXN1bHRTZXRQYWdpbmcpIHtcbiAgICB0aGlzLmRhdGEgPSBub2RlUGFnaW5nO1xuICB9XG5cbiAgb25QYWdpbmF0aW9uQ2hhbmdlZChwYWdpbmF0aW9uOiBQYWdpbmF0aW9uKSB7XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIucGFnaW5nID0ge1xuICAgICAgbWF4SXRlbXM6IHBhZ2luYXRpb24ubWF4SXRlbXMsXG4gICAgICBza2lwQ291bnQ6IHBhZ2luYXRpb24uc2tpcENvdW50XG4gICAgfTtcbiAgICB0aGlzLnF1ZXJ5QnVpbGRlci51cGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U29ydGluZygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcHJpbWFyeSA9IHRoaXMucXVlcnlCdWlsZGVyLmdldFByaW1hcnlTb3J0aW5nKCk7XG5cbiAgICBpZiAocHJpbWFyeSkge1xuICAgICAgcmV0dXJuIFtwcmltYXJ5LmtleSwgcHJpbWFyeS5hc2NlbmRpbmcgPyAnYXNjJyA6ICdkZXNjJ107XG4gICAgfVxuXG4gICAgcmV0dXJuIFsnbmFtZScsICdhc2MnXTtcbiAgfVxuXG4gIG9uTm9kZURvdWJsZUNsaWNrKG5vZGU6IE1pbmltYWxOb2RlRW50aXR5KSB7XG4gICAgaWYgKG5vZGUgJiYgbm9kZS5lbnRyeSkge1xuICAgICAgaWYgKG5vZGUuZW50cnkuaXNGb2xkZXIpIHtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgTmF2aWdhdGVUb0ZvbGRlcihub2RlKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5zaG93UHJldmlldyhub2RlLCB7IGxvY2F0aW9uOiB0aGlzLnJvdXRlci51cmwgfSk7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlTm9kZUNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIHRoaXMub25Ob2RlRG91YmxlQ2xpY2soKGV2ZW50IGFzIEN1c3RvbUV2ZW50KS5kZXRhaWw/Lm5vZGUpO1xuICB9XG5cbiAgb25QcmV2aWV3Q2xvc2VkKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNob3dJbmZvRHJhd2VyUHJldmlld0FjdGlvbigpKTtcbiAgfVxuXG4gIG9uRHJhd2VyQ2xvc2VkKCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldEluZm9EcmF3ZXJQcmV2aWV3U3RhdGVBY3Rpb24oZmFsc2UpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRJbmZvRHJhd2VyU3RhdGVBY3Rpb24oZmFsc2UpKTtcbiAgfVxuXG4gIG9uU2VhcmNoU29ydGluZ1VwZGF0ZShvcHRpb246IFNlYXJjaFNvcnRpbmdEZWZpbml0aW9uKSB7XG4gICAgdGhpcy5xdWVyeUJ1aWxkZXIuc29ydGluZyA9IFt7IC4uLm9wdGlvbiwgYXNjZW5kaW5nOiBvcHRpb24uYXNjZW5kaW5nIH1dO1xuICAgIHRoaXMucXVlcnlCdWlsZGVyLnVwZGF0ZSgpO1xuICB9XG59XG4iLCI8YWNhLXBhZ2UtbGF5b3V0PlxuICA8YWNhLXBhZ2UtbGF5b3V0LWhlYWRlcj5cbiAgICA8YWNhLXNlYXJjaC1pbnB1dD48L2FjYS1zZWFyY2gtaW5wdXQ+XG4gICAgPGRpdiBjbGFzcz1cImFkZi10b29sYmFyLS1zcGFjZXIgYWRmLXRvb2xiYXItZGl2aWRlclwiPjwvZGl2PlxuICAgIDxhZGYtdG9vbGJhciBjbGFzcz1cImFkZi10b29sYmFyLS1pbmxpbmVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGFjdGlvbnM7IHRyYWNrQnk6IHRyYWNrQnlBY3Rpb25JZFwiPlxuICAgICAgICA8YWNhLXRvb2xiYXItYWN0aW9uIFthY3Rpb25SZWZdPVwiZW50cnlcIj48L2FjYS10b29sYmFyLWFjdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYWRmLXRvb2xiYXI+XG4gIDwvYWNhLXBhZ2UtbGF5b3V0LWhlYWRlcj5cblxuICA8YWNhLXBhZ2UtbGF5b3V0LWNvbnRlbnQ+XG4gICAgPGRpdiBjbGFzcz1cIm1haW4tY29udGVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzX19jb250ZW50XCI+XG4gICAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJpc0xvYWRpbmdcIiBjb2xvcj1cInByaW1hcnlcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPiA8L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0c19fY29udGVudC1oZWFkZXIgY29udGVudFwiPlxuICAgICAgICAgICAgPGFkZi1zZWFyY2gtZm9ybSBjbGFzcz1cImNvbnRlbnRfX3NpZGUtLWxlZnRcIj48L2FkZi1zZWFyY2gtZm9ybT5cblxuICAgICAgICAgICAgPG1hdC1kaXZpZGVyIFt2ZXJ0aWNhbF09XCJ0cnVlXCIgY2xhc3M9XCJjb250ZW50X19kaXZpZGVyXCI+PC9tYXQtZGl2aWRlcj5cblxuICAgICAgICAgICAgPGFkZi1zZWFyY2gtZmlsdGVyLWNoaXBzIGNsYXNzPVwiY29udGVudF9fZmlsdGVyXCI+PC9hZGYtc2VhcmNoLWZpbHRlci1jaGlwcz5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgIGFkZi1yZXNldC1zZWFyY2hcbiAgICAgICAgICAgICAgY2xhc3M9XCJjb250ZW50X19yZXNldC1hY3Rpb25cIlxuICAgICAgICAgICAgICB0aXRsZT1cInt7J0FQUC5CUk9XU0UuU0VBUkNILlJFU0VUX0FDVElPTicgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidBUFAuQlJPV1NFLlNFQVJDSC5SRVNFVF9BQ1RJT04nIHwgdHJhbnNsYXRlIFwiPlxuICAgICAgICAgICAgICA8bWF0LWljb24+IHJlZnJlc2ggPC9tYXQtaWNvbj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGFkZi1kb2N1bWVudC1saXN0XG4gICAgICAgICAgICAjZG9jdW1lbnRMaXN0XG4gICAgICAgICAgICBhY2FEb2N1bWVudExpc3RcbiAgICAgICAgICAgIGFjYUNvbnRleHRBY3Rpb25zXG4gICAgICAgICAgICBbc2VsZWN0aW9uTW9kZV09XCInbXVsdGlwbGUnXCJcbiAgICAgICAgICAgIFtzb3J0aW5nTW9kZV09XCInc2VydmVyJ1wiXG4gICAgICAgICAgICBbc29ydGluZ109XCJzb3J0aW5nXCJcbiAgICAgICAgICAgIFtpbWFnZVJlc29sdmVyXT1cImltYWdlUmVzb2x2ZXJcIlxuICAgICAgICAgICAgW25vZGVdPVwiJGFueShkYXRhKVwiXG4gICAgICAgICAgICAobm9kZS1kYmxjbGljayk9XCJoYW5kbGVOb2RlQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAgPGRhdGEtY29sdW1ucz5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleT1cIiR0aHVtYm5haWxcIiB0eXBlPVwiaW1hZ2VcIiBbc3ItdGl0bGVdPVwiJ0FERi1ET0NVTUVOVC1MSVNULkxBWU9VVC5USFVNQk5BSUwnXCIgW3NvcnRhYmxlXT1cImZhbHNlXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgPGFjYS1jdXN0b20tdGh1bWJuYWlsLWNvbHVtbiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hY2EtY3VzdG9tLXRodW1ibmFpbC1jb2x1bW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICAgICAgICAgIDxhZGYtZGF0YS1jb2x1bW4taGVhZGVyPlxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICA8YWNhLXNlYXJjaC1hY3Rpb24tbWVudSAoc29ydGluZ1NlbGVjdGVkKT1cIm9uU2VhcmNoU29ydGluZ1VwZGF0ZSgkZXZlbnQpXCI+PC9hY2Etc2VhcmNoLWFjdGlvbi1tZW51PlxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L2FkZi1kYXRhLWNvbHVtbi1oZWFkZXI+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleSB0eXBlPVwidGV4dFwiICBjbGFzcz1cImFkZi1lbGxpcHNpcy1jZWxsIGFkZi1leHBhbmQtY2VsbC01XCIgdGl0bGU9XCJBUFAuRE9DVU1FTlRfTElTVC5DT0xVTU5TLk5BTUVcIiBbc29ydGFibGVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRleHQ+XG4gICAgICAgICAgICAgICAgICA8YWNhLXNlYXJjaC1yZXN1bHRzLXJvdyBbY29udGV4dF09XCJjb250ZXh0XCI+PC9hY2Etc2VhcmNoLXJlc3VsdHMtcm93PlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG5cbiAgICAgICAgICAgICAgPGRhdGEtY29sdW1uIGtleT1cInByb3BlcnRpZXNcIiAgdGl0bGU9XCJEZXNjcmlwdGlvblwiIGNsYXNzPVwiYWRmLWV4cGFuZC1jZWxsLTNcIiBbc29ydGFibGVdPVwiZmFsc2VcIiAqbmdJZj1cIiFpc1NtYWxsU2NyZWVuXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1jb250ZXh0PlxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhZGYtZGF0YXRhYmxlLWNlbGwtdmFsdWUgYWRmLWVsbGlwc2lzLWNlbGxcIj5cbiAgICAgICAgICAgICAgICAgIHt7Y29udGV4dC5yb3c/Lm5vZGU/LmVudHJ5Py5wcm9wZXJ0aWVzICYmIGNvbnRleHQucm93Py5ub2RlPy5lbnRyeT8ucHJvcGVydGllc1snY206ZGVzY3JpcHRpb24nXX19XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPC9kYXRhLWNvbHVtbj5cblxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwiY29udGVudC5zaXplSW5CeXRlc1wiIHR5cGU9XCJmaWxlU2l6ZVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5TSVpFXCIgY2xhc3M9XCJhZGYtbm8tZ3Jvdy1jZWxsIGFkZi1lbGxpcHNpcy1jZWxsXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJtb2RpZmllZEF0XCIgdHlwZT1cImRhdGVcIiB0aXRsZT1cIkFQUC5ET0NVTUVOVF9MSVNULkNPTFVNTlMuTU9ESUZJRURfT05cIiBjbGFzcz1cImFkZi1uby1ncm93LWNlbGwgYWRmLWVsbGlwc2lzLWNlbGxcIiBmb3JtYXQ9XCJ0aW1lQWdvXCIgW3NvcnRhYmxlXT1cImZhbHNlXCIgKm5nSWY9XCIhaXNTbWFsbFNjcmVlblwiPjwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICAgIDxkYXRhLWNvbHVtbiBrZXk9XCJtb2RpZmllZEJ5VXNlci5kaXNwbGF5TmFtZVwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5NT0RJRklFRF9CWVwiIGNsYXNzPVwiYWRmLW5vLWdyb3ctY2VsbCBhZGYtZWxsaXBzaXMtY2VsbFwiIFtzb3J0YWJsZV09XCJmYWxzZVwiICpuZ0lmPVwiIWlzU21hbGxTY3JlZW5cIj48L2RhdGEtY29sdW1uPlxuICAgICAgICAgICAgICA8ZGF0YS1jb2x1bW4ga2V5PVwiJHRhZ3NcIiB0eXBlPVwidGV4dFwiIHRpdGxlPVwiQVBQLkRPQ1VNRU5UX0xJU1QuQ09MVU1OUy5UQUdTXCIgY2xhc3M9XCJhZGYtZnVsbC13aWR0aCBhZGYtZXhwYW5kLWNlbGwtNFwiIFtzb3J0YWJsZV09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtY29udGV4dD5cbiAgICAgICAgICAgICAgICAgIDxhY2EtdGFncy1jb2x1bW4gW2NvbnRleHRdPVwiY29udGV4dFwiPjwvYWNhLXRhZ3MtY29sdW1uPlxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgIDwvZGF0YS1jb2x1bW4+XG4gICAgICAgICAgICA8L2RhdGEtY29sdW1ucz5cblxuICAgICAgICAgICAgPGFkZi1jdXN0b20tZW1wdHktY29udGVudC10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGFcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZW1wdHktc2VhcmNoX19ibG9ja1wiIGFyaWEtbGl2ZT1cInBvbGl0ZVwiPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJlbXB0eS1zZWFyY2hfX3RleHRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ0FQUC5CUk9XU0UuU0VBUkNILk5PX1JFU1VMVFMnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9hZGYtY3VzdG9tLWVtcHR5LWNvbnRlbnQtdGVtcGxhdGU+XG4gICAgICAgICAgPC9hZGYtZG9jdW1lbnQtbGlzdD5cblxuICAgICAgICAgIDxhZGYtcGFnaW5hdGlvbiAqbmdJZj1cIiFkb2N1bWVudExpc3QuaXNFbXB0eSgpXCIgYWNhUGFnaW5hdGlvbiBbdGFyZ2V0XT1cImRvY3VtZW50TGlzdFwiIChjaGFuZ2UpPVwib25QYWdpbmF0aW9uQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgICAgPC9hZGYtcGFnaW5hdGlvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2XG4gICAgICBbbmdDbGFzc109XCJcbiAgICAgICAgKGluZm9EcmF3ZXJQcmV2aWV3JCB8IGFzeW5jKSA9PT0gdHJ1ZSA/ICdhZGYtc2VhcmNoLXJlc3VsdHMtLXJpZ2h0X3BhbmVsX3NlY3Rpb24tZXh0ZW5kZWQnIDogJ2FkZi1zZWFyY2gtcmVzdWx0cy0tcmlnaHRfcGFuZWxfc2VjdGlvbidcbiAgICAgIFwiXG4gICAgICAqbmdJZj1cImluZm9EcmF3ZXJPcGVuZWQkIHwgYXN5bmNcIlxuICAgID5cbiAgICAgIDxhZGYtYWxmcmVzY28tdmlld2VyXG4gICAgICAgIGNsYXNzPVwiYWRmLXNlYXJjaC1yZXN1bHRzLS1lbWJlZGRlZF92aWV3ZXJcIlxuICAgICAgICBbbm9kZUlkXT1cInNlbGVjdGlvbi5sYXN0LmVudHJ5LmlkXCJcbiAgICAgICAgKm5nSWY9XCJpbmZvRHJhd2VyUHJldmlldyQgfCBhc3luYzsgZWxzZSBpbmZvRHJhd2VyUGFuZWxcIlxuICAgICAgPlxuICAgICAgICA8YWRmLXZpZXdlci10b29sYmFyPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2VhcmNoLXJlc3VsdHMtLXByZXZpZXctdG9vbGJhclwiPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiIChjbGljayk9XCJvbkRyYXdlckNsb3NlZCgpXCI+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cbiAgICAgICAgICAgICAgICB0aXRsZT1cInt7ICdBREZfVklFV0VSLkFDVElPTlMuUFJFVklFVycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zZWFyY2gtcmVzdWx0cy0tdmlzaWJpbGl0eV9idXR0b25cIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG1hdC1pY29uPnZpc2liaWxpdHk8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvbiBtYXQtaWNvbi1idXR0b24gdGl0bGU9XCJ7eyAnQURGX1ZJRVdFUi5BQ1RJT05TLkNMT1NFJyB8IHRyYW5zbGF0ZSB9fVwiIChjbGljayk9XCJvblByZXZpZXdDbG9zZWQoKVwiPlxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5pbmZvX291dGxpbmU8L21hdC1pY29uPlxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2FkZi12aWV3ZXItdG9vbGJhcj5cbiAgICAgIDwvYWRmLWFsZnJlc2NvLXZpZXdlcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjaW5mb0RyYXdlclBhbmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhclwiPlxuICAgICAgICAgIDxhY2EtaW5mby1kcmF3ZXIgW25vZGVdPVwic2VsZWN0aW9uLmxhc3RcIj48L2FjYS1pbmZvLWRyYXdlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICA8L2FjYS1wYWdlLWxheW91dC1jb250ZW50PlxuPC9hY2EtcGFnZS1sYXlvdXQ+XG4iXX0=
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Alfresco Example Content Application
|
|
5
|
+
*
|
|
6
|
+
* This file is part of the Alfresco Example Content Application.
|
|
7
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
+
* provided under the following open source license terms:
|
|
10
|
+
*
|
|
11
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
+
* (at your option) any later version.
|
|
15
|
+
*
|
|
16
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
* GNU Lesser General Public License for more details.
|
|
20
|
+
*
|
|
21
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
+
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
+
*/
|
|
24
|
+
import { Component, Input, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/core';
|
|
25
|
+
import { ViewNodeAction, NavigateToFolder } from '@alfresco/aca-shared/store';
|
|
26
|
+
import { Store } from '@ngrx/store';
|
|
27
|
+
import { BehaviorSubject, Subject } from 'rxjs';
|
|
28
|
+
import { NodesApiService } from '@alfresco/adf-content-services';
|
|
29
|
+
import { takeUntil } from 'rxjs/operators';
|
|
30
|
+
import { Router } from '@angular/router';
|
|
31
|
+
import { AcaFileAutoDownloadService } from '@alfresco/aca-shared';
|
|
32
|
+
import * as i0 from "@angular/core";
|
|
33
|
+
import * as i1 from "@ngrx/store";
|
|
34
|
+
import * as i2 from "@alfresco/adf-content-services";
|
|
35
|
+
import * as i3 from "@angular/router";
|
|
36
|
+
import * as i4 from "@alfresco/aca-shared";
|
|
37
|
+
import * as i5 from "@angular/common";
|
|
38
|
+
import * as i6 from "../../common/location-link/location-link.component";
|
|
39
|
+
export class SearchResultsRowComponent {
|
|
40
|
+
constructor(store, nodesApiService, router, fileAutoDownloadService) {
|
|
41
|
+
this.store = store;
|
|
42
|
+
this.nodesApiService = nodesApiService;
|
|
43
|
+
this.router = router;
|
|
44
|
+
this.fileAutoDownloadService = fileAutoDownloadService;
|
|
45
|
+
this.onDestroy$ = new Subject();
|
|
46
|
+
this.name$ = new BehaviorSubject('');
|
|
47
|
+
this.title$ = new BehaviorSubject('');
|
|
48
|
+
}
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
this.updateValues();
|
|
51
|
+
this.nodesApiService.nodeUpdated.pipe(takeUntil(this.onDestroy$)).subscribe((node) => {
|
|
52
|
+
const row = this.context.row;
|
|
53
|
+
if (row) {
|
|
54
|
+
const { entry } = row.node;
|
|
55
|
+
if (entry.id === node.id) {
|
|
56
|
+
entry.name = node.name;
|
|
57
|
+
entry.properties = Object.assign({}, node.properties);
|
|
58
|
+
this.updateValues();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
updateValues() {
|
|
64
|
+
this.node = this.context.row.node;
|
|
65
|
+
const { name, properties } = this.node.entry;
|
|
66
|
+
const title = properties ? properties['cm:title'] : '';
|
|
67
|
+
this.name$.next(name);
|
|
68
|
+
if (title !== name) {
|
|
69
|
+
this.title$.next(title ? `( ${title} )` : '');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
ngOnDestroy() {
|
|
73
|
+
this.onDestroy$.next(true);
|
|
74
|
+
this.onDestroy$.complete();
|
|
75
|
+
}
|
|
76
|
+
get isFile() {
|
|
77
|
+
return this.node.entry.isFile;
|
|
78
|
+
}
|
|
79
|
+
showPreview(event) {
|
|
80
|
+
event.stopPropagation();
|
|
81
|
+
if (this.fileAutoDownloadService.shouldFileAutoDownload(this.node.entry.content.sizeInBytes)) {
|
|
82
|
+
this.fileAutoDownloadService.autoDownloadFile(this.node);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this.store.dispatch(new ViewNodeAction(this.node.entry.id, { location: this.router.url }));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
navigate(event) {
|
|
89
|
+
event.stopPropagation();
|
|
90
|
+
this.store.dispatch(new NavigateToFolder(this.node));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
SearchResultsRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchResultsRowComponent, deps: [{ token: i1.Store }, { token: i2.NodesApiService }, { token: i3.Router }, { token: i4.AcaFileAutoDownloadService }], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
+
SearchResultsRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: SearchResultsRowComponent, selector: "aca-search-results-row", inputs: { context: "context" }, host: { classAttribute: "aca-search-results-row" }, ngImport: i0, template: "<div class=\"search-file-name\">\n <span tabindex=\"0\" role=\"link\" *ngIf=\"isFile\" (click)=\"showPreview($event)\" (keyup.enter)=\"showPreview($event)\" class=\"link\">\n {{ name$ | async }}\n </span>\n <span tabindex=\"0\" role=\"link\" *ngIf=\"!isFile\" (click)=\"navigate($event)\" (keyup.enter)=\"navigate($event)\" class=\"bold link\">\n {{ name$ | async }}\n </span>\n <span>{{ title$ | async }}</span>\n</div>\n<div class=\"result-location\">\n <aca-location-link [context]=\"context\" [showLocation]=\"true\"></aca-location-link>\n</div>\n", styles: [".aca-search-results-row .result-location{height:15px;padding-top:3px}.aca-search-results-row .link{text-decoration:none;color:var(--theme-text-bold-color)}.aca-search-results-row .aca-location-link .adf-datatable-cell-value{padding:0;color:var(--theme-foreground-text-color)}.aca-search-results-row .link:hover,.aca-search-results-row .aca-location-link .adf-datatable-cell-value:hover{color:var(--theme-primary-color)!important;text-decoration:underline}.aca-search-results-row .adf-is-selected .link:not(:hover),.aca-search-results-row .adf-is-selected .adf-datatable-cell-value:not(:hover){color:var(--theme-primary-color)!important}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.LocationLinkComponent, selector: "aca-location-link", inputs: ["context", "showLocation"] }, { kind: "pipe", type: i5.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
95
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: SearchResultsRowComponent, decorators: [{
|
|
96
|
+
type: Component,
|
|
97
|
+
args: [{ selector: 'aca-search-results-row', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: { class: 'aca-search-results-row' }, template: "<div class=\"search-file-name\">\n <span tabindex=\"0\" role=\"link\" *ngIf=\"isFile\" (click)=\"showPreview($event)\" (keyup.enter)=\"showPreview($event)\" class=\"link\">\n {{ name$ | async }}\n </span>\n <span tabindex=\"0\" role=\"link\" *ngIf=\"!isFile\" (click)=\"navigate($event)\" (keyup.enter)=\"navigate($event)\" class=\"bold link\">\n {{ name$ | async }}\n </span>\n <span>{{ title$ | async }}</span>\n</div>\n<div class=\"result-location\">\n <aca-location-link [context]=\"context\" [showLocation]=\"true\"></aca-location-link>\n</div>\n", styles: [".aca-search-results-row .result-location{height:15px;padding-top:3px}.aca-search-results-row .link{text-decoration:none;color:var(--theme-text-bold-color)}.aca-search-results-row .aca-location-link .adf-datatable-cell-value{padding:0;color:var(--theme-foreground-text-color)}.aca-search-results-row .link:hover,.aca-search-results-row .aca-location-link .adf-datatable-cell-value:hover{color:var(--theme-primary-color)!important;text-decoration:underline}.aca-search-results-row .adf-is-selected .link:not(:hover),.aca-search-results-row .adf-is-selected .adf-datatable-cell-value:not(:hover){color:var(--theme-primary-color)!important}\n"] }]
|
|
98
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.NodesApiService }, { type: i3.Router }, { type: i4.AcaFileAutoDownloadService }]; }, propDecorators: { context: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}] } });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMtcm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3NyYy9saWIvY29tcG9uZW50cy9zZWFyY2gvc2VhcmNoLXJlc3VsdHMtcm93L3NlYXJjaC1yZXN1bHRzLXJvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC1yZXN1bHRzLXJvdy9zZWFyY2gtcmVzdWx0cy1yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVoSCxPQUFPLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7QUFVbEUsTUFBTSxPQUFPLHlCQUF5QjtJQVVwQyxZQUNVLEtBQWlCLEVBQ2pCLGVBQWdDLEVBQ2hDLE1BQWMsRUFDZCx1QkFBbUQ7UUFIbkQsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixvQkFB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ZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN2RCxDQUFDOztzSEFyRVUseUJBQXlCOzBHQUF6Qix5QkFBeUIsa0pDMUN0QyxxakJBWUE7MkZEOEJhLHlCQUF5QjtrQkFSckMsU0FBUzsrQkFDRSx3QkFBd0IsaUJBR25CLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekMsRUFBRSxLQUFLLEVBQUUsd0JBQXdCLEVBQUU7d0xBT3pDLE9BQU87c0JBRE4sS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyMyBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvblxuICpcbiAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24uXG4gKiBJZiB0aGUgc29mdHdhcmUgd2FzIHB1cmNoYXNlZCB1bmRlciBhIHBhaWQgQWxmcmVzY28gbGljZW5zZSwgdGhlIHRlcm1zIG9mXG4gKiB0aGUgcGFpZCBsaWNlbnNlIGFncmVlbWVudCB3aWxsIHByZXZhaWwuIE90aGVyd2lzZSwgdGhlIHNvZnR3YXJlIGlzXG4gKiBwcm92aWRlZCB1bmRlciB0aGUgZm9sbG93aW5nIG9wZW4gc291cmNlIGxpY2Vuc2UgdGVybXM6XG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XG4gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXG4gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCxcbiAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mXG4gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGVcbiAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLlxuICpcbiAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZVxuICogZnJvbSBIeWxhbmQgU29mdHdhcmUuIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNaW5pbWFsTm9kZUVudGl0eSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgVmlld05vZGVBY3Rpb24sIE5hdmlnYXRlVG9Gb2xkZXIgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTm9kZXNBcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBBY2FGaWxlQXV0b0Rvd25sb2FkU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNhLXNlYXJjaC1yZXN1bHRzLXJvdycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtcmVzdWx0cy1yb3cuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtcmVzdWx0cy1yb3cuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhY2Etc2VhcmNoLXJlc3VsdHMtcm93JyB9XG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaFJlc3VsdHNSb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgbm9kZTogTWluaW1hbE5vZGVFbnRpdHk7XG4gIHByaXZhdGUgb25EZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgQElucHV0KClcbiAgY29udGV4dDogYW55O1xuXG4gIG5hbWUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgdGl0bGUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LFxuICAgIHByaXZhdGUgbm9kZXNBcGlTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGZpbGVBdXRvRG93bmxvYWRTZXJ2aWNlOiBBY2FGaWxlQXV0b0Rvd25sb2FkU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVWYWx1ZXMoKTtcblxuICAgIHRoaXMubm9kZXNBcGlTZXJ2aWNlLm5vZGVVcGRhdGVkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgobm9kZSkgPT4ge1xuICAgICAgY29uc3Qgcm93ID0gdGhpcy5jb250ZXh0LnJvdztcbiAgICAgIGlmIChyb3cpIHtcbiAgICAgICAgY29uc3QgeyBlbnRyeSB9ID0gcm93Lm5vZGU7XG5cbiAgICAgICAgaWYgKGVudHJ5LmlkID09PSBub2RlLmlkKSB7XG4gICAgICAgICAgZW50cnkubmFtZSA9IG5vZGUubmFtZTtcbiAgICAgICAgICBlbnRyeS5wcm9wZXJ0aWVzID0gT2JqZWN0LmFzc2lnbih7fSwgbm9kZS5wcm9wZXJ0aWVzKTtcblxuICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWVzKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlVmFsdWVzKCkge1xuICAgIHRoaXMubm9kZSA9IHRoaXMuY29udGV4dC5yb3cubm9kZTtcblxuICAgIGNvbnN0IHsgbmFtZSwgcHJvcGVydGllcyB9ID0gdGhpcy5ub2RlLmVudHJ5O1xuICAgIGNvbnN0IHRpdGxlID0gcHJvcGVydGllcyA/IHByb3BlcnRpZXNbJ2NtOnRpdGxlJ10gOiAnJztcblxuICAgIHRoaXMubmFtZSQubmV4dChuYW1lKTtcblxuICAgIGlmICh0aXRsZSAhPT0gbmFtZSkge1xuICAgICAgdGhpcy50aXRsZSQubmV4dCh0aXRsZSA/IGAoICR7dGl0bGV9IClgIDogJycpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMub25EZXN0cm95JC5uZXh0KHRydWUpO1xuICAgIHRoaXMub25EZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgZ2V0IGlzRmlsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlLmVudHJ5LmlzRmlsZTtcbiAgfVxuXG4gIHNob3dQcmV2aWV3KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmICh0aGlzLmZpbGVBdXRvRG93bmxvYWRTZXJ2aWNlLnNob3VsZEZpbGVBdXRvRG93bmxvYWQodGhpcy5ub2RlLmVudHJ5LmNvbnRlbnQuc2l6ZUluQnl0ZXMpKSB7XG4gICAgICB0aGlzLmZpbGVBdXRvRG93bmxvYWRTZXJ2aWNlLmF1dG9Eb3dubG9hZEZpbGUodGhpcy5ub2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVmlld05vZGVBY3Rpb24odGhpcy5ub2RlLmVudHJ5LmlkLCB7IGxvY2F0aW9uOiB0aGlzLnJvdXRlci51cmwgfSkpO1xuICAgIH1cbiAgfVxuXG4gIG5hdmlnYXRlKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IE5hdmlnYXRlVG9Gb2xkZXIodGhpcy5ub2RlKSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJzZWFyY2gtZmlsZS1uYW1lXCI+XG4gIDxzcGFuIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgKm5nSWY9XCJpc0ZpbGVcIiAoY2xpY2spPVwic2hvd1ByZXZpZXcoJGV2ZW50KVwiIChrZXl1cC5lbnRlcik9XCJzaG93UHJldmlldygkZXZlbnQpXCIgY2xhc3M9XCJsaW5rXCI+XG4gICAge3sgbmFtZSQgfCBhc3luYyB9fVxuICA8L3NwYW4+XG4gIDxzcGFuIHRhYmluZGV4PVwiMFwiIHJvbGU9XCJsaW5rXCIgKm5nSWY9XCIhaXNGaWxlXCIgKGNsaWNrKT1cIm5hdmlnYXRlKCRldmVudClcIiAoa2V5dXAuZW50ZXIpPVwibmF2aWdhdGUoJGV2ZW50KVwiIGNsYXNzPVwiYm9sZCBsaW5rXCI+XG4gICAge3sgbmFtZSQgfCBhc3luYyB9fVxuICA8L3NwYW4+XG4gIDxzcGFuPnt7IHRpdGxlJCB8IGFzeW5jIH19PC9zcGFuPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicmVzdWx0LWxvY2F0aW9uXCI+XG4gIDxhY2EtbG9jYXRpb24tbGluayBbY29udGV4dF09XCJjb250ZXh0XCIgW3Nob3dMb2NhdGlvbl09XCJ0cnVlXCI+PC9hY2EtbG9jYXRpb24tbGluaz5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Alfresco Example Content Application
|
|
5
|
+
*
|
|
6
|
+
* This file is part of the Alfresco Example Content Application.
|
|
7
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
+
* provided under the following open source license terms:
|
|
10
|
+
*
|
|
11
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
+
* (at your option) any later version.
|
|
15
|
+
*
|
|
16
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
* GNU Lesser General Public License for more details.
|
|
20
|
+
*
|
|
21
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
+
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
+
*/
|
|
24
|
+
import { NgModule } from '@angular/core';
|
|
25
|
+
import { CommonModule } from '@angular/common';
|
|
26
|
+
import { CoreModule } from '@alfresco/adf-core';
|
|
27
|
+
import { ContentModule } from '@alfresco/adf-content-services';
|
|
28
|
+
import { LockedByModule, PageLayoutModule } from '@alfresco/aca-shared';
|
|
29
|
+
import { SearchResultsComponent } from './search-results/search-results.component';
|
|
30
|
+
import { SearchResultsRowComponent } from './search-results-row/search-results-row.component';
|
|
31
|
+
import { SearchLibrariesResultsComponent } from './search-libraries-results/search-libraries-results.component';
|
|
32
|
+
import { AppInfoDrawerModule } from '../info-drawer/info.drawer.module';
|
|
33
|
+
import { AppToolbarModule } from '../toolbar/toolbar.module';
|
|
34
|
+
import { AppCommonModule } from '../common/common.module';
|
|
35
|
+
import { DirectivesModule } from '../../directives/directives.module';
|
|
36
|
+
import { ContextMenuModule } from '../context-menu/context-menu.module';
|
|
37
|
+
import { SearchActionMenuComponent } from './search-action-menu/search-action-menu.component';
|
|
38
|
+
import { DocumentListCustomComponentsModule } from '../dl-custom-components/document-list-custom-components.module';
|
|
39
|
+
import { AppSearchInputModule } from './search-input.module';
|
|
40
|
+
import * as i0 from "@angular/core";
|
|
41
|
+
import * as i1 from "@alfresco/adf-core";
|
|
42
|
+
import * as i2 from "@alfresco/adf-content-services";
|
|
43
|
+
export class AppSearchResultsModule {
|
|
44
|
+
}
|
|
45
|
+
AppSearchResultsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSearchResultsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
46
|
+
AppSearchResultsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: AppSearchResultsModule, declarations: [SearchResultsComponent, SearchLibrariesResultsComponent, SearchResultsRowComponent, SearchActionMenuComponent], imports: [CommonModule, i1.CoreModule, i2.ContentModule, AppCommonModule,
|
|
47
|
+
AppInfoDrawerModule,
|
|
48
|
+
AppToolbarModule,
|
|
49
|
+
DirectivesModule,
|
|
50
|
+
PageLayoutModule,
|
|
51
|
+
ContextMenuModule,
|
|
52
|
+
LockedByModule,
|
|
53
|
+
DocumentListCustomComponentsModule,
|
|
54
|
+
AppSearchInputModule], exports: [SearchResultsComponent, SearchLibrariesResultsComponent, SearchResultsRowComponent, SearchActionMenuComponent] });
|
|
55
|
+
AppSearchResultsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSearchResultsModule, imports: [CommonModule,
|
|
56
|
+
CoreModule.forChild(),
|
|
57
|
+
ContentModule.forChild(),
|
|
58
|
+
AppCommonModule,
|
|
59
|
+
AppInfoDrawerModule,
|
|
60
|
+
AppToolbarModule,
|
|
61
|
+
DirectivesModule,
|
|
62
|
+
PageLayoutModule,
|
|
63
|
+
ContextMenuModule,
|
|
64
|
+
LockedByModule,
|
|
65
|
+
DocumentListCustomComponentsModule,
|
|
66
|
+
AppSearchInputModule] });
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AppSearchResultsModule, decorators: [{
|
|
68
|
+
type: NgModule,
|
|
69
|
+
args: [{
|
|
70
|
+
imports: [
|
|
71
|
+
CommonModule,
|
|
72
|
+
CoreModule.forChild(),
|
|
73
|
+
ContentModule.forChild(),
|
|
74
|
+
AppCommonModule,
|
|
75
|
+
AppInfoDrawerModule,
|
|
76
|
+
AppToolbarModule,
|
|
77
|
+
DirectivesModule,
|
|
78
|
+
PageLayoutModule,
|
|
79
|
+
ContextMenuModule,
|
|
80
|
+
LockedByModule,
|
|
81
|
+
DocumentListCustomComponentsModule,
|
|
82
|
+
AppSearchInputModule
|
|
83
|
+
],
|
|
84
|
+
declarations: [SearchResultsComponent, SearchLibrariesResultsComponent, SearchResultsRowComponent, SearchActionMenuComponent],
|
|
85
|
+
exports: [SearchResultsComponent, SearchLibrariesResultsComponent, SearchResultsRowComponent, SearchActionMenuComponent]
|
|
86
|
+
}]
|
|
87
|
+
}] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXJlc3VsdHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNhLWNvbnRlbnQvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2gtcmVzdWx0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUM5RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNoSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDOUYsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDcEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7QUFvQjdELE1BQU0sT0FBTyxzQkFBc0I7O21IQUF0QixzQkFBc0I7b0hBQXRCLHNCQUFzQixpQkFIbEIsc0JBQXNCLEVBQUUsK0JBQStCLEVBQUUseUJBQXlCLEVBQUUseUJBQXlCLGFBYjFILFlBQVksbUNBR1osZUFBZTtRQUNmLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixpQkFBaUI7UUFDakIsY0FBYztRQUNkLGtDQUFrQztRQUNsQyxvQkFBb0IsYUFHWixzQkFBc0IsRUFBRSwrQkFBK0IsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUI7b0hBRTVHLHNCQUFzQixZQWhCL0IsWUFBWTtRQUNaLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDckIsYUFBYSxDQUFDLFFBQVEsRUFBRTtRQUN4QixlQUFlO1FBQ2YsbUJBQW1CO1FBQ25CLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGlCQUFpQjtRQUNqQixjQUFjO1FBQ2Qsa0NBQWtDO1FBQ2xDLG9CQUFvQjsyRkFLWCxzQkFBc0I7a0JBbEJsQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFVBQVUsQ0FBQyxRQUFRLEVBQUU7d0JBQ3JCLGFBQWEsQ0FBQyxRQUFRLEVBQUU7d0JBQ3hCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGdCQUFnQjt3QkFDaEIsZ0JBQWdCO3dCQUNoQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2Qsa0NBQWtDO3dCQUNsQyxvQkFBb0I7cUJBQ3JCO29CQUNELFlBQVksRUFBRSxDQUFDLHNCQUFzQixFQUFFLCtCQUErQixFQUFFLHlCQUF5QixFQUFFLHlCQUF5QixDQUFDO29CQUM3SCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsRUFBRSwrQkFBK0IsRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsQ0FBQztpQkFDekgiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb3JlTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IENvbnRlbnRNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgTG9ja2VkQnlNb2R1bGUsIFBhZ2VMYXlvdXRNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBTZWFyY2hSZXN1bHRzQ29tcG9uZW50IH0gZnJvbSAnLi9zZWFyY2gtcmVzdWx0cy9zZWFyY2gtcmVzdWx0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoUmVzdWx0c1Jvd0NvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLXJlc3VsdHMtcm93L3NlYXJjaC1yZXN1bHRzLXJvdy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VhcmNoTGlicmFyaWVzUmVzdWx0c0NvbXBvbmVudCB9IGZyb20gJy4vc2VhcmNoLWxpYnJhcmllcy1yZXN1bHRzL3NlYXJjaC1saWJyYXJpZXMtcmVzdWx0cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQXBwSW5mb0RyYXdlck1vZHVsZSB9IGZyb20gJy4uL2luZm8tZHJhd2VyL2luZm8uZHJhd2VyLm1vZHVsZSc7XG5pbXBvcnQgeyBBcHBUb29sYmFyTW9kdWxlIH0gZnJvbSAnLi4vdG9vbGJhci90b29sYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBBcHBDb21tb25Nb2R1bGUgfSBmcm9tICcuLi9jb21tb24vY29tbW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZSc7XG5pbXBvcnQgeyBDb250ZXh0TWVudU1vZHVsZSB9IGZyb20gJy4uL2NvbnRleHQtbWVudS9jb250ZXh0LW1lbnUubW9kdWxlJztcbmltcG9ydCB7IFNlYXJjaEFjdGlvbk1lbnVDb21wb25lbnQgfSBmcm9tICcuL3NlYXJjaC1hY3Rpb24tbWVudS9zZWFyY2gtYWN0aW9uLW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IERvY3VtZW50TGlzdEN1c3RvbUNvbXBvbmVudHNNb2R1bGUgfSBmcm9tICcuLi9kbC1jdXN0b20tY29tcG9uZW50cy9kb2N1bWVudC1saXN0LWN1c3RvbS1jb21wb25lbnRzLm1vZHVsZSc7XG5pbXBvcnQgeyBBcHBTZWFyY2hJbnB1dE1vZHVsZSB9IGZyb20gJy4vc2VhcmNoLWlucHV0Lm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQ29yZU1vZHVsZS5mb3JDaGlsZCgpLFxuICAgIENvbnRlbnRNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBBcHBDb21tb25Nb2R1bGUsXG4gICAgQXBwSW5mb0RyYXdlck1vZHVsZSxcbiAgICBBcHBUb29sYmFyTW9kdWxlLFxuICAgIERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgUGFnZUxheW91dE1vZHVsZSxcbiAgICBDb250ZXh0TWVudU1vZHVsZSxcbiAgICBMb2NrZWRCeU1vZHVsZSxcbiAgICBEb2N1bWVudExpc3RDdXN0b21Db21wb25lbnRzTW9kdWxlLFxuICAgIEFwcFNlYXJjaElucHV0TW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1NlYXJjaFJlc3VsdHNDb21wb25lbnQsIFNlYXJjaExpYnJhcmllc1Jlc3VsdHNDb21wb25lbnQsIFNlYXJjaFJlc3VsdHNSb3dDb21wb25lbnQsIFNlYXJjaEFjdGlvbk1lbnVDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2VhcmNoUmVzdWx0c0NvbXBvbmVudCwgU2VhcmNoTGlicmFyaWVzUmVzdWx0c0NvbXBvbmVudCwgU2VhcmNoUmVzdWx0c1Jvd0NvbXBvbmVudCwgU2VhcmNoQWN0aW9uTWVudUNvbXBvbmVudF1cbn0pXG5leHBvcnQgY2xhc3MgQXBwU2VhcmNoUmVzdWx0c01vZHVsZSB7fVxuIl19
|