@alfresco/aca-content 5.1.1 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/app.extensions.json +9 -0
- package/assets/i18n/ar.json +600 -599
- package/assets/i18n/cs.json +600 -599
- package/assets/i18n/da.json +600 -599
- package/assets/i18n/de.json +600 -599
- package/assets/i18n/en.json +40 -1
- package/assets/i18n/es.json +600 -599
- package/assets/i18n/fi.json +600 -599
- package/assets/i18n/fr.json +600 -599
- package/assets/i18n/it.json +600 -599
- package/assets/i18n/ja.json +600 -599
- package/assets/i18n/nb.json +600 -599
- package/assets/i18n/nl.json +600 -599
- package/assets/i18n/pl.json +600 -599
- package/assets/i18n/pt-BR.json +600 -599
- package/assets/i18n/ru.json +600 -599
- package/assets/i18n/sv.json +600 -599
- package/assets/i18n/zh-CN.json +600 -599
- package/esm2022/about/about.component.mjs +70 -0
- package/esm2022/about/aca-about.module.mjs +47 -0
- package/esm2022/folder-rules/folder-rules.module.mjs +116 -0
- package/esm2022/folder-rules/manage-rules/manage-rules.smart-component.mjs +280 -0
- package/esm2022/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +117 -0
- package/esm2022/folder-rules/rule-details/actions/rule-action.ui-component.mjs +359 -0
- package/esm2022/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +171 -0
- package/esm2022/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +237 -0
- package/esm2022/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +80 -0
- package/esm2022/folder-rules/rule-details/options/rule-options.ui-component.mjs +129 -0
- package/esm2022/folder-rules/rule-details/rule-details.ui-component.mjs +192 -0
- package/esm2022/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +87 -0
- package/esm2022/folder-rules/rule-details/validators/rule-actions.validator.mjs +36 -0
- package/esm2022/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +166 -0
- package/esm2022/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +80 -0
- package/esm2022/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +59 -0
- package/esm2022/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +125 -0
- package/esm2022/folder-rules/services/actions.service.mjs +117 -0
- package/esm2022/folder-rules/services/folder-rule-sets.service.mjs +230 -0
- package/esm2022/folder-rules/services/folder-rules.service.mjs +195 -0
- package/esm2022/lib/aca-content.module.mjs +303 -0
- package/esm2022/lib/aca-content.routes.mjs +369 -0
- package/esm2022/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +82 -0
- package/{esm2020 → esm2022}/lib/components/common/language-picker/language-picker.component.mjs +9 -8
- package/esm2022/lib/components/common/location-link/location-link.component.mjs +182 -0
- package/{esm2020 → esm2022}/lib/components/common/logout/logout.component.mjs +8 -6
- package/esm2022/lib/components/common/toggle-shared/toggle-shared.component.mjs +81 -0
- package/esm2022/lib/components/common/user-info/user-info.component.mjs +46 -0
- package/esm2022/lib/components/context-menu/base-context-menu.directive.mjs +77 -0
- package/esm2022/lib/components/context-menu/context-menu-item.component.mjs +65 -0
- package/esm2022/lib/components/context-menu/context-menu-outside-event.directive.mjs +62 -0
- package/esm2022/lib/components/context-menu/context-menu-overlay.mjs +33 -0
- package/esm2022/lib/components/context-menu/context-menu.component.mjs +84 -0
- package/esm2022/lib/components/context-menu/context-menu.service.mjs +127 -0
- package/esm2022/lib/components/context-menu/custom-context-menu-actions.token.mjs +26 -0
- package/esm2022/lib/components/context-menu/custom-context-menu.component.mjs +79 -0
- package/esm2022/lib/components/details/details.component.mjs +154 -0
- package/esm2022/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +75 -0
- package/esm2022/lib/components/dl-custom-components/name-column/name-column.component.mjs +106 -0
- package/esm2022/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +52 -0
- package/esm2022/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +77 -0
- package/esm2022/lib/components/favorite-libraries/favorite-libraries.component.mjs +126 -0
- package/esm2022/lib/components/favorites/favorites.component.mjs +105 -0
- package/esm2022/lib/components/files/files.component.mjs +336 -0
- package/esm2022/lib/components/home/home.component.mjs +46 -0
- package/esm2022/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +62 -0
- package/esm2022/lib/components/info-drawer/info.drawer.module.mjs +74 -0
- package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +213 -0
- package/esm2022/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +47 -0
- package/esm2022/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +145 -0
- package/esm2022/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +107 -0
- package/esm2022/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +135 -0
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +181 -0
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +77 -0
- package/esm2022/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +210 -0
- package/esm2022/lib/components/libraries/libraries.component.mjs +81 -0
- package/esm2022/lib/components/recent-files/recent-files.component.mjs +80 -0
- package/esm2022/lib/components/search/search-action-menu/search-action-menu.component.mjs +66 -0
- package/esm2022/lib/components/search/search-input/search-input.component.mjs +297 -0
- package/esm2022/lib/components/search/search-input-control/search-input-control.component.mjs +94 -0
- package/esm2022/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +93 -0
- package/esm2022/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +155 -0
- package/esm2022/lib/components/search/search-navigation.service.mjs +62 -0
- package/esm2022/lib/components/search/search-results/search-results.component.mjs +279 -0
- package/esm2022/lib/components/search/search-results-row/search-results-row.component.mjs +149 -0
- package/esm2022/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.mjs +82 -0
- package/esm2022/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.mjs +116 -0
- package/esm2022/lib/components/search/search-save/dialog/save-search-dialog.component.mjs +125 -0
- package/esm2022/lib/components/search/search-save/dialog/saved-search-form.interface.mjs +25 -0
- package/esm2022/lib/components/search/search-save/dialog/unique-search-name-validator.mjs +45 -0
- package/esm2022/lib/components/search/search-save/directive/save-search.directive.mjs +64 -0
- package/esm2022/lib/components/search/search-save/list/saved-searches-list-ui.service.mjs +51 -0
- package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.mjs +44 -0
- package/esm2022/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.mjs +50 -0
- package/esm2022/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.mjs +153 -0
- package/esm2022/lib/components/search/search-save/sidenav/save-search-sidenav.component.mjs +94 -0
- package/esm2022/lib/components/shared-files/shared-files.component.mjs +85 -0
- package/esm2022/lib/components/shared-link-view/shared-link-view.component.mjs +89 -0
- package/esm2022/lib/components/sidenav/components/button-menu.component.mjs +66 -0
- package/esm2022/lib/components/sidenav/components/expand-menu.component.mjs +73 -0
- package/esm2022/lib/components/sidenav/components/sidenav-header.component.mjs +65 -0
- package/esm2022/lib/components/sidenav/directives/action.directive.mjs +86 -0
- package/esm2022/lib/components/sidenav/directives/active-link.directive.mjs +100 -0
- package/esm2022/lib/components/sidenav/directives/expansion-panel.directive.mjs +107 -0
- package/esm2022/lib/components/sidenav/directives/menu-panel.directive.mjs +103 -0
- package/esm2022/lib/components/sidenav/sidenav.component.mjs +101 -0
- package/esm2022/lib/components/sidenav/user-menu/user-menu.component.mjs +57 -0
- package/esm2022/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +143 -0
- package/esm2022/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +91 -0
- package/esm2022/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +112 -0
- package/esm2022/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +77 -0
- package/esm2022/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +107 -0
- package/{esm2020 → esm2022}/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +7 -6
- package/esm2022/lib/components/toolbar/view-node/view-node.component.mjs +128 -0
- package/esm2022/lib/components/trashcan/trashcan.component.mjs +66 -0
- package/esm2022/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +55 -0
- package/esm2022/lib/components/view-profile/view-profile.component.mjs +200 -0
- package/esm2022/lib/dialogs/node-template/create-from-template.dialog.mjs +127 -0
- package/esm2022/lib/directives/document-list.directive.mjs +207 -0
- package/esm2022/lib/extensions/core.extensions.module.mjs +56 -0
- package/esm2022/lib/services/content-management.service.mjs +892 -0
- package/esm2022/lib/services/content-url.service.mjs +74 -0
- package/esm2022/lib/services/modal-ai.service.mjs +65 -0
- package/esm2022/lib/services/node-actions.service.mjs +609 -0
- package/esm2022/lib/services/node-template.service.mjs +145 -0
- package/esm2022/lib/services/search-ai-navigation.service.mjs +63 -0
- package/esm2022/lib/store/app-store.module.mjs +101 -0
- package/esm2022/lib/store/effects/app.effects.mjs +46 -0
- package/esm2022/lib/store/effects/contextmenu.effects.mjs +65 -0
- package/esm2022/lib/store/effects/download.effects.mjs +153 -0
- package/esm2022/lib/store/effects/favorite.effects.mjs +72 -0
- package/esm2022/lib/store/effects/library.effects.mjs +108 -0
- package/esm2022/lib/store/effects/node.effects.mjs +318 -0
- package/esm2022/lib/store/effects/search-ai.effects.mjs +54 -0
- package/esm2022/lib/store/effects/search.effects.mjs +52 -0
- package/esm2022/lib/store/effects/template.effects.mjs +116 -0
- package/esm2022/lib/store/effects/upload.effects.mjs +166 -0
- package/esm2022/lib/store/effects/viewer.effects.mjs +169 -0
- package/esm2022/lib/utils/aca-search-utils.mjs +129 -0
- package/esm2022/ms-office/actions/aos.actions.mjs +32 -0
- package/esm2022/ms-office/aos-extension.module.mjs +53 -0
- package/esm2022/ms-office/aos-extension.service.mjs +136 -0
- package/esm2022/ms-office/effects/aos.effects.mjs +45 -0
- package/esm2022/public-api.mjs +33 -0
- package/esm2022/viewer/lib/components/preview/preview.component.mjs +246 -0
- package/esm2022/viewer/lib/components/viewer/viewer.component.mjs +261 -0
- package/esm2022/viewer/lib/services/viewer.service.mjs +229 -0
- package/esm2022/viewer/lib/viewer.module.mjs +53 -0
- package/{fesm2015 → fesm2022}/alfresco-aca-content-about.mjs +17 -19
- package/fesm2022/alfresco-aca-content-about.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-content-folder-rules.mjs +357 -316
- package/fesm2022/alfresco-aca-content-folder-rules.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-content-ms-office.mjs +28 -26
- package/fesm2022/alfresco-aca-content-ms-office.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/alfresco-aca-content-viewer.mjs +95 -64
- package/fesm2022/alfresco-aca-content-viewer.mjs.map +1 -0
- package/fesm2022/alfresco-aca-content.mjs +11091 -0
- package/fesm2022/alfresco-aca-content.mjs.map +1 -0
- package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +1 -1
- package/folder-rules/rule-details/rule-details.ui-component.d.ts +1 -1
- package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +1 -1
- package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +1 -1
- package/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts +1 -1
- package/folder-rules/services/folder-rule-sets.service.d.ts +4 -4
- package/folder-rules/services/folder-rules.service.d.ts +1 -1
- package/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.d.ts +5 -10
- package/lib/components/common/location-link/location-link.component.d.ts +1 -1
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +1 -1
- package/lib/components/context-menu/base-context-menu.directive.d.ts +20 -0
- package/lib/components/context-menu/context-menu-item.component.d.ts +1 -1
- package/lib/components/context-menu/context-menu-outside-event.directive.d.ts +1 -1
- package/lib/components/context-menu/context-menu.component.d.ts +4 -15
- package/lib/components/context-menu/context-menu.service.d.ts +4 -1
- package/lib/components/{knowledge-retrieval/search-ai/search-ai-utils.d.ts → context-menu/custom-context-menu-actions.token.d.ts} +2 -2
- package/lib/components/context-menu/custom-context-menu.component.d.ts +36 -0
- package/lib/components/details/details.component.d.ts +1 -1
- package/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.d.ts +1 -1
- package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +1 -1
- package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +1 -1
- package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +1 -1
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +1 -1
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.d.ts +1 -1
- package/lib/components/info-drawer/metadata-tab/metadata-tab.component.d.ts +1 -1
- package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
- package/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.d.ts +1 -2
- package/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.d.ts +4 -5
- package/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.d.ts +8 -8
- package/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.d.ts +2 -3
- package/lib/components/search/search-input/search-input.component.d.ts +12 -14
- package/lib/components/search/search-input-control/search-input-control.component.d.ts +1 -1
- package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +0 -1
- package/lib/components/search/search-results/search-results.component.d.ts +15 -9
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
- package/lib/components/search/search-save/dialog/delete/saved-search-delete-dialog.component.d.ts +16 -0
- package/lib/components/search/search-save/dialog/edit/saved-search-edit-dialog.component.d.ts +22 -0
- package/lib/components/search/search-save/dialog/save-search-dialog.component.d.ts +23 -0
- package/lib/components/search/search-save/dialog/saved-search-form.interface.d.ts +28 -0
- package/lib/components/search/search-save/dialog/unique-search-name-validator.d.ts +34 -0
- package/lib/components/search/search-save/directive/save-search.directive.d.ts +13 -0
- package/lib/components/search/search-save/list/saved-searches-list-ui.service.d.ts +9 -0
- package/lib/components/search/search-save/list/smart-list/saved-searches-list-schema.d.ts +33 -0
- package/lib/components/search/search-save/list/smart-list/saved-searches-smart-list.component.d.ts +13 -0
- package/lib/components/search/search-save/list/ui-list/saved-searches-list.ui-component.d.ts +66 -0
- package/lib/components/search/search-save/sidenav/save-search-sidenav.component.d.ts +44 -0
- package/lib/components/sidenav/components/button-menu.component.d.ts +1 -1
- package/lib/components/sidenav/components/expand-menu.component.d.ts +3 -2
- package/lib/components/sidenav/directives/action.directive.d.ts +28 -1
- package/lib/components/sidenav/directives/active-link.directive.d.ts +2 -2
- package/lib/components/sidenav/directives/expansion-panel.directive.d.ts +1 -1
- package/lib/components/sidenav/directives/menu-panel.directive.d.ts +1 -1
- package/lib/components/sidenav/sidenav.component.d.ts +4 -3
- package/lib/components/sidenav/user-menu/user-menu.component.d.ts +1 -1
- package/lib/components/toolbar/toggle-favorite/toggle-favorite.component.d.ts +1 -1
- package/lib/components/toolbar/view-node/view-node.component.d.ts +1 -1
- package/lib/services/search-ai-navigation.service.d.ts +4 -2
- package/lib/store/effects/app.effects.d.ts +2 -3
- package/lib/store/effects/contextmenu.effects.d.ts +3 -3
- package/lib/store/effects/download.effects.d.ts +0 -30
- package/lib/store/effects/favorite.effects.d.ts +0 -28
- package/lib/store/effects/library.effects.d.ts +2 -7
- package/lib/store/effects/node.effects.d.ts +7 -38
- package/lib/store/effects/search-ai.effects.d.ts +0 -4
- package/lib/store/effects/search.effects.d.ts +3 -30
- package/lib/store/effects/template.effects.d.ts +5 -7
- package/lib/store/effects/upload.effects.d.ts +8 -32
- package/lib/store/effects/viewer.effects.d.ts +0 -29
- package/lib/utils/aca-search-utils.d.ts +67 -0
- package/ms-office/effects/aos.effects.d.ts +0 -3
- package/package.json +21 -35
- package/public-api.d.ts +1 -0
- package/ui/overrides/adf-pagination.theme.scss +0 -4
- package/ui/theme.scss +9 -4
- package/assets/images/agent-avatar-blue.png +0 -0
- package/assets/images/agent-avatar-gold.png +0 -0
- package/assets/images/agent-avatar-pink.png +0 -0
- package/esm2020/about/about.component.mjs +0 -71
- package/esm2020/about/aca-about.module.mjs +0 -46
- package/esm2020/folder-rules/folder-rules.module.mjs +0 -115
- package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +0 -261
- package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +0 -117
- package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +0 -351
- package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +0 -172
- package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +0 -234
- package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +0 -74
- package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +0 -129
- package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +0 -185
- package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +0 -88
- package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +0 -37
- package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +0 -164
- package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +0 -81
- package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +0 -58
- package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +0 -120
- package/esm2020/folder-rules/services/actions.service.mjs +0 -114
- package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +0 -225
- package/esm2020/folder-rules/services/folder-rules.service.mjs +0 -193
- package/esm2020/lib/aca-content.module.mjs +0 -299
- package/esm2020/lib/aca-content.routes.mjs +0 -359
- package/esm2020/lib/components/bulk-actions-dropdown/bulk-actions-dropdown.component.mjs +0 -83
- package/esm2020/lib/components/common/location-link/location-link.component.mjs +0 -180
- package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +0 -76
- package/esm2020/lib/components/common/user-info/user-info.component.mjs +0 -47
- package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +0 -62
- package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +0 -63
- package/esm2020/lib/components/context-menu/context-menu-overlay.mjs +0 -32
- package/esm2020/lib/components/context-menu/context-menu.component.mjs +0 -114
- package/esm2020/lib/components/context-menu/context-menu.service.mjs +0 -99
- package/esm2020/lib/components/details/details.component.mjs +0 -147
- package/esm2020/lib/components/dl-custom-components/datatable-cell-badges/datatable-cell-badges.component.mjs +0 -71
- package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +0 -101
- package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +0 -48
- package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +0 -75
- package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +0 -120
- package/esm2020/lib/components/favorites/favorites.component.mjs +0 -103
- package/esm2020/lib/components/files/files.component.mjs +0 -330
- package/esm2020/lib/components/home/home.component.mjs +0 -47
- package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +0 -59
- package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +0 -73
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +0 -206
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +0 -45
- package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +0 -134
- package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +0 -95
- package/esm2020/lib/components/knowledge-retrieval/search-ai/agents-button/agents-button.component.mjs +0 -129
- package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input/search-ai-input.component.mjs +0 -171
- package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-input-container/search-ai-input-container.component.mjs +0 -82
- package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-results/search-ai-results.component.mjs +0 -199
- package/esm2020/lib/components/knowledge-retrieval/search-ai/search-ai-utils.mjs +0 -33
- package/esm2020/lib/components/libraries/libraries.component.mjs +0 -79
- package/esm2020/lib/components/recent-files/recent-files.component.mjs +0 -82
- package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +0 -64
- package/esm2020/lib/components/search/search-input/search-input.component.mjs +0 -301
- package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +0 -94
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +0 -90
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +0 -153
- package/esm2020/lib/components/search/search-navigation.service.mjs +0 -60
- package/esm2020/lib/components/search/search-results/search-results.component.mjs +0 -255
- package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +0 -142
- package/esm2020/lib/components/shared-files/shared-files.component.mjs +0 -83
- package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +0 -82
- package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +0 -62
- package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +0 -67
- package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +0 -66
- package/esm2020/lib/components/sidenav/directives/action.directive.mjs +0 -75
- package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +0 -93
- package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +0 -102
- package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +0 -99
- package/esm2020/lib/components/sidenav/sidenav.component.mjs +0 -89
- package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +0 -56
- package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +0 -137
- package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +0 -86
- package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +0 -107
- package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +0 -74
- package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +0 -105
- package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +0 -122
- package/esm2020/lib/components/trashcan/trashcan.component.mjs +0 -68
- package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +0 -52
- package/esm2020/lib/components/view-profile/view-profile.component.mjs +0 -193
- package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +0 -120
- package/esm2020/lib/directives/document-list.directive.mjs +0 -199
- package/esm2020/lib/extensions/core.extensions.module.mjs +0 -55
- package/esm2020/lib/services/content-management.service.mjs +0 -873
- package/esm2020/lib/services/content-url.service.mjs +0 -71
- package/esm2020/lib/services/modal-ai.service.mjs +0 -66
- package/esm2020/lib/services/node-actions.service.mjs +0 -600
- package/esm2020/lib/services/node-template.service.mjs +0 -144
- package/esm2020/lib/services/search-ai-navigation.service.mjs +0 -52
- package/esm2020/lib/store/app-store.module.mjs +0 -102
- package/esm2020/lib/store/effects/app.effects.mjs +0 -49
- package/esm2020/lib/store/effects/contextmenu.effects.mjs +0 -55
- package/esm2020/lib/store/effects/download.effects.mjs +0 -159
- package/esm2020/lib/store/effects/favorite.effects.mjs +0 -76
- package/esm2020/lib/store/effects/library.effects.mjs +0 -113
- package/esm2020/lib/store/effects/node.effects.mjs +0 -325
- package/esm2020/lib/store/effects/search-ai.effects.mjs +0 -57
- package/esm2020/lib/store/effects/search.effects.mjs +0 -60
- package/esm2020/lib/store/effects/template.effects.mjs +0 -121
- package/esm2020/lib/store/effects/upload.effects.mjs +0 -166
- package/esm2020/lib/store/effects/viewer.effects.mjs +0 -175
- package/esm2020/ms-office/actions/aos.actions.mjs +0 -31
- package/esm2020/ms-office/aos-extension.module.mjs +0 -52
- package/esm2020/ms-office/aos-extension.service.mjs +0 -132
- package/esm2020/ms-office/effects/aos.effects.mjs +0 -48
- package/esm2020/public-api.mjs +0 -32
- package/esm2020/viewer/lib/components/preview/preview.component.mjs +0 -236
- package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +0 -240
- package/esm2020/viewer/lib/services/viewer.service.mjs +0 -226
- package/esm2020/viewer/lib/viewer.module.mjs +0 -52
- package/fesm2015/alfresco-aca-content-about.mjs.map +0 -1
- package/fesm2015/alfresco-aca-content-folder-rules.mjs +0 -2662
- package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +0 -1
- package/fesm2015/alfresco-aca-content-ms-office.mjs +0 -256
- package/fesm2015/alfresco-aca-content-ms-office.mjs.map +0 -1
- package/fesm2015/alfresco-aca-content-viewer.mjs +0 -700
- package/fesm2015/alfresco-aca-content-viewer.mjs.map +0 -1
- package/fesm2015/alfresco-aca-content.mjs +0 -9835
- package/fesm2015/alfresco-aca-content.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content-about.mjs +0 -193
- package/fesm2020/alfresco-aca-content-about.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content-ms-office.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content-viewer.mjs.map +0 -1
- package/fesm2020/alfresco-aca-content.mjs +0 -9934
- package/fesm2020/alfresco-aca-content.mjs.map +0 -1
- /package/{esm2020 → esm2022}/about/alfresco-aca-content-about.mjs +0 -0
- /package/{esm2020 → esm2022}/about/dev-mode.tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/about/package-json.token.mjs +0 -0
- /package/{esm2020 → esm2022}/about/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/alfresco-aca-content.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/alfresco-aca-content-folder-rules.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/folder-rules.rules.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/action-parameter-constraint.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-action.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-composite-condition.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-grouping-item.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-set.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule-simple-condition.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/model/rule.model.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/rule-details/conditions/rule-condition-fields.mjs +0 -0
- /package/{esm2020 → esm2022}/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/common/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/context-menu/direction.token.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/context-menu/interfaces.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/search/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/sidenav/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/toolbar/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/components/view-profile/view-profile.guard.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/effects.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/initial-state.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/store/reducers/app.reducer.mjs +0 -0
- /package/{esm2020 → esm2022}/ms-office/alfresco-aca-content-ms-office.mjs +0 -0
- /package/{esm2020 → esm2022}/ms-office/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/viewer/alfresco-aca-content-viewer.mjs +0 -0
- /package/{esm2020 → esm2022}/viewer/public-api.mjs +0 -0
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Alfresco Example Content Application
|
|
5
|
-
*
|
|
6
|
-
* This file is part of the Alfresco Example Content Application.
|
|
7
|
-
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
-
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
-
* provided under the following open source license terms:
|
|
10
|
-
*
|
|
11
|
-
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
-
* (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Lesser General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
-
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*/
|
|
24
|
-
import { AppExtensionService, AppHookService, AppSettingsService, ContentApiService, InfoDrawerComponent, ToolbarComponent, ToolbarMenuItemComponent } from '@alfresco/aca-shared';
|
|
25
|
-
import { getAppSelection, isInfoDrawerOpened, SetCurrentNodeVersionAction, SetSelectedNodesAction, ViewerActionTypes, ViewNodeAction } from '@alfresco/aca-shared/store';
|
|
26
|
-
import { VersionsApi } from '@alfresco/js-api';
|
|
27
|
-
import { Component, HostListener, inject, ViewEncapsulation } from '@angular/core';
|
|
28
|
-
import { ActivatedRoute, PRIMARY_OUTLET, Router } from '@angular/router';
|
|
29
|
-
import { ViewerOpenWithComponent, ViewerSidebarComponent, ViewerToolbarActionsComponent } from '@alfresco/adf-core';
|
|
30
|
-
import { Store } from '@ngrx/store';
|
|
31
|
-
import { from, Subject } from 'rxjs';
|
|
32
|
-
import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
33
|
-
import { Actions, ofType } from '@ngrx/effects';
|
|
34
|
-
import { AlfrescoApiService, AlfrescoViewerComponent, DocumentListService, NodesApiService, UploadService } from '@alfresco/adf-content-services';
|
|
35
|
-
import { CommonModule } from '@angular/common';
|
|
36
|
-
import { ViewerService } from '../../services/viewer.service';
|
|
37
|
-
import * as i0 from "@angular/core";
|
|
38
|
-
import * as i1 from "@ngrx/effects";
|
|
39
|
-
import * as i2 from "@alfresco/adf-content-services";
|
|
40
|
-
import * as i3 from "@alfresco/aca-shared";
|
|
41
|
-
import * as i4 from "@angular/router";
|
|
42
|
-
import * as i5 from "@ngrx/store";
|
|
43
|
-
import * as i6 from "../../services/viewer.service";
|
|
44
|
-
import * as i7 from "@angular/common";
|
|
45
|
-
export class AcaViewerComponent {
|
|
46
|
-
get versionsApi() {
|
|
47
|
-
this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());
|
|
48
|
-
return this._versionsApi;
|
|
49
|
-
}
|
|
50
|
-
constructor(actions$, apiService, appHookService, contentApi, extensions, nodesApiService, route, router, store, uploadService, viewerService) {
|
|
51
|
-
this.actions$ = actions$;
|
|
52
|
-
this.apiService = apiService;
|
|
53
|
-
this.appHookService = appHookService;
|
|
54
|
-
this.contentApi = contentApi;
|
|
55
|
-
this.extensions = extensions;
|
|
56
|
-
this.nodesApiService = nodesApiService;
|
|
57
|
-
this.route = route;
|
|
58
|
-
this.router = router;
|
|
59
|
-
this.store = store;
|
|
60
|
-
this.uploadService = uploadService;
|
|
61
|
-
this.viewerService = viewerService;
|
|
62
|
-
this.settings = inject(AppSettingsService);
|
|
63
|
-
this.documentListService = inject(DocumentListService);
|
|
64
|
-
this.onDestroy$ = new Subject();
|
|
65
|
-
this.folderId = null;
|
|
66
|
-
this.navigateMultiple = true;
|
|
67
|
-
this.navigateSource = null;
|
|
68
|
-
this.navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];
|
|
69
|
-
this.nodeId = null;
|
|
70
|
-
this.openWith = [];
|
|
71
|
-
this.showRightSide = false;
|
|
72
|
-
this.toolbarActions = [];
|
|
73
|
-
this.versionId = null;
|
|
74
|
-
this.containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
|
|
75
|
-
}
|
|
76
|
-
ngOnInit() {
|
|
77
|
-
this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);
|
|
78
|
-
from(this.infoDrawerOpened$)
|
|
79
|
-
.pipe(takeUntil(this.onDestroy$))
|
|
80
|
-
.subscribe((val) => {
|
|
81
|
-
this.showRightSide = val;
|
|
82
|
-
});
|
|
83
|
-
this.store
|
|
84
|
-
.select(getAppSelection)
|
|
85
|
-
.pipe(takeUntil(this.onDestroy$))
|
|
86
|
-
.subscribe((selection) => {
|
|
87
|
-
this.selection = selection;
|
|
88
|
-
});
|
|
89
|
-
this.extensions
|
|
90
|
-
.getViewerToolbarActions()
|
|
91
|
-
.pipe(takeUntil(this.onDestroy$))
|
|
92
|
-
.subscribe((actions) => {
|
|
93
|
-
this.toolbarActions = actions;
|
|
94
|
-
});
|
|
95
|
-
this.extensions
|
|
96
|
-
.getOpenWithActions()
|
|
97
|
-
.pipe(takeUntil(this.onDestroy$))
|
|
98
|
-
.subscribe((actions) => {
|
|
99
|
-
this.openWith = actions;
|
|
100
|
-
});
|
|
101
|
-
this.route.params.subscribe((params) => {
|
|
102
|
-
this.folderId = params.folderId;
|
|
103
|
-
const { nodeId } = params;
|
|
104
|
-
this.versionId = params.versionId;
|
|
105
|
-
if (this.versionId) {
|
|
106
|
-
void this.versionsApi.getVersion(nodeId, this.versionId).then((version) => {
|
|
107
|
-
if (version) {
|
|
108
|
-
this.store.dispatch(new SetCurrentNodeVersionAction(version));
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
if (nodeId) {
|
|
113
|
-
void this.displayNode(nodeId);
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
this.route.queryParams.subscribe((params) => {
|
|
117
|
-
this.navigationPath = params.path || params.location;
|
|
118
|
-
});
|
|
119
|
-
if (this.route.snapshot.data?.navigateSource) {
|
|
120
|
-
const source = this.route.snapshot.data.navigateSource.toLowerCase();
|
|
121
|
-
if (this.navigationSources.includes(source)) {
|
|
122
|
-
this.navigateSource = this.route.snapshot.data.navigateSource;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
this.actions$.pipe(ofType(ViewerActionTypes.ClosePreview), takeUntil(this.onDestroy$)).subscribe(() => {
|
|
126
|
-
this.store.dispatch(new SetCurrentNodeVersionAction(null));
|
|
127
|
-
this.navigateToFileLocation();
|
|
128
|
-
});
|
|
129
|
-
this.actions$
|
|
130
|
-
.pipe(ofType(ViewerActionTypes.RefreshPreview), takeUntil(this.onDestroy$))
|
|
131
|
-
.subscribe((action) => {
|
|
132
|
-
this.nodesApiService.nodeUpdated.next(action.node);
|
|
133
|
-
void this.displayNode(action.node.id);
|
|
134
|
-
});
|
|
135
|
-
this.appHookService.nodesDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());
|
|
136
|
-
this.uploadService.fileUploadDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());
|
|
137
|
-
this.uploadService.fileUploadComplete.pipe(debounceTime(300), takeUntil(this.onDestroy$)).subscribe((file) => {
|
|
138
|
-
this.nodesApiService.nodeUpdated.next(file.data.entry);
|
|
139
|
-
void this.displayNode(file.data.entry.id);
|
|
140
|
-
});
|
|
141
|
-
this.previewLocation = this.router.url.substring(0, this.router.url.indexOf('/', 1)).replace(/\//g, '');
|
|
142
|
-
}
|
|
143
|
-
onViewerVisibilityChanged() {
|
|
144
|
-
this.documentListService.reload();
|
|
145
|
-
this.navigateToFileLocation();
|
|
146
|
-
}
|
|
147
|
-
ngOnDestroy() {
|
|
148
|
-
this.store.dispatch(new SetCurrentNodeVersionAction(null));
|
|
149
|
-
this.onDestroy$.next(true);
|
|
150
|
-
this.onDestroy$.complete();
|
|
151
|
-
}
|
|
152
|
-
trackByActionId(_, obj) {
|
|
153
|
-
return obj.id;
|
|
154
|
-
}
|
|
155
|
-
async displayNode(nodeId) {
|
|
156
|
-
if (nodeId) {
|
|
157
|
-
try {
|
|
158
|
-
this.node = await this.contentApi.getNodeInfo(nodeId).toPromise();
|
|
159
|
-
this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));
|
|
160
|
-
this.navigateMultiple = this.extensions.canShowViewerNavigation({ entry: this.node });
|
|
161
|
-
if (this.node?.isFile) {
|
|
162
|
-
this.nodeId = this.node.id;
|
|
163
|
-
this.fileName = this.node.name + this.node?.properties?.['cm:versionLabel'];
|
|
164
|
-
if (this.navigateMultiple) {
|
|
165
|
-
const nearest = await this.viewerService.getNearestNodes(this.node.id, this.node.parentId, this.navigateSource);
|
|
166
|
-
this.previousNodeId = nearest.left;
|
|
167
|
-
this.nextNodeId = nearest.right;
|
|
168
|
-
}
|
|
169
|
-
return;
|
|
170
|
-
}
|
|
171
|
-
this.navigateToFileLocation();
|
|
172
|
-
}
|
|
173
|
-
catch (error) {
|
|
174
|
-
const statusCode = JSON.parse(error.message).error.statusCode;
|
|
175
|
-
if (statusCode !== 401) {
|
|
176
|
-
await this.router.navigate([this.previewLocation, { outlets: { viewer: null } }]).then(() => {
|
|
177
|
-
void this.router.navigate([this.previewLocation, nodeId]);
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
onNavigateBefore(event) {
|
|
184
|
-
if (event.type !== 'click' && this.shouldNavigate(event.target)) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
const location = this.getFileLocation();
|
|
188
|
-
this.store.dispatch(new ViewNodeAction(this.previousNodeId, { location }));
|
|
189
|
-
}
|
|
190
|
-
onNavigateNext(event) {
|
|
191
|
-
if (event.type !== 'click' && this.shouldNavigate(event.target)) {
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
|
-
const location = this.getFileLocation();
|
|
195
|
-
this.store.dispatch(new ViewNodeAction(this.nextNodeId, { location }));
|
|
196
|
-
}
|
|
197
|
-
handleKeyboardEvent(event) {
|
|
198
|
-
const key = event.key;
|
|
199
|
-
if (key === 'ArrowRight' || key === 'ArrowLeft') {
|
|
200
|
-
event.preventDefault();
|
|
201
|
-
event.stopImmediatePropagation();
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
navigateToFileLocation() {
|
|
205
|
-
const location = this.getFileLocation();
|
|
206
|
-
void this.router.navigateByUrl(location);
|
|
207
|
-
}
|
|
208
|
-
getFileLocation() {
|
|
209
|
-
return this.navigationPath || this.router.parseUrl(this.router.url).root.children[PRIMARY_OUTLET].toString();
|
|
210
|
-
}
|
|
211
|
-
shouldNavigate(element) {
|
|
212
|
-
let currentElement = element.parentElement;
|
|
213
|
-
while (currentElement && !this.isChild(currentElement.classList)) {
|
|
214
|
-
currentElement = currentElement.parentElement;
|
|
215
|
-
}
|
|
216
|
-
return !!currentElement;
|
|
217
|
-
}
|
|
218
|
-
isChild(list) {
|
|
219
|
-
return Array.from(list).some((className) => this.containersSkipNavigation.includes(className));
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
AcaViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerComponent, deps: [{ token: i1.Actions }, { token: i2.AlfrescoApiService }, { token: i3.AppHookService }, { token: i3.ContentApiService }, { token: i3.AppExtensionService }, { token: i2.NodesApiService }, { token: i4.ActivatedRoute }, { token: i4.Router }, { token: i5.Store }, { token: i2.UploadService }, { token: i6.ViewerService }], target: i0.ɵɵFactoryTarget.Component });
|
|
223
|
-
AcaViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: AcaViewerComponent, isStandalone: true, selector: "aca-viewer", host: { listeners: { "document:keydown": "handleKeyboardEvent($event)" }, classAttribute: "app-viewer" }, ngImport: i0, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"settings.viewerMaxRetries\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n [hideInfoButton]=\"true\"\n [closeButtonPosition]=\"settings.viewerCloseButtonPosition\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-viewer{width:100%;height:100%}.app-viewer .adf-viewer-toolbar .adf-toolbar-divider{display:none}.app-viewer .adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center;margin-left:auto}.app-viewer .adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.app-viewer .adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "component", type: InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }, { kind: "component", type: ToolbarComponent, selector: "aca-toolbar", inputs: ["items"] }, { kind: "component", type: AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "hideInfoButton", "closeButtonPosition", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "component", type: ViewerOpenWithComponent, selector: "adf-viewer-open-with" }, { kind: "component", type: ViewerSidebarComponent, selector: "adf-viewer-sidebar" }], encapsulation: i0.ViewEncapsulation.None });
|
|
224
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerComponent, decorators: [{
|
|
225
|
-
type: Component,
|
|
226
|
-
args: [{ standalone: true, imports: [
|
|
227
|
-
CommonModule,
|
|
228
|
-
InfoDrawerComponent,
|
|
229
|
-
ToolbarMenuItemComponent,
|
|
230
|
-
ToolbarComponent,
|
|
231
|
-
AlfrescoViewerComponent,
|
|
232
|
-
ViewerToolbarActionsComponent,
|
|
233
|
-
ViewerOpenWithComponent,
|
|
234
|
-
ViewerSidebarComponent
|
|
235
|
-
], selector: 'aca-viewer', encapsulation: ViewEncapsulation.None, host: { class: 'app-viewer' }, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'aca-right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"settings.viewerMaxRetries\"\n [nodeId]=\"nodeId\"\n [versionId]=\"versionId\"\n [allowNavigate]=\"navigateMultiple\"\n [allowRightSidebar]=\"true\"\n [allowPrint]=\"false\"\n [showRightSidebar]=\"true\"\n [allowDownload]=\"false\"\n [allowFullScreen]=\"false\"\n [overlayMode]=\"true\"\n [hideInfoButton]=\"true\"\n [closeButtonPosition]=\"settings.viewerCloseButtonPosition\"\n (showViewerChange)=\"onViewerVisibilityChanged()\"\n [canNavigateBefore]=\"!!previousNodeId\"\n [canNavigateNext]=\"!!nextNodeId\"\n (navigateBefore)=\"onNavigateBefore($event)\"\n (navigateNext)=\"onNavigateNext($event)\"\n >\n <adf-viewer-sidebar *ngIf=\"infoDrawerOpened$ | async\">\n <aca-info-drawer [node]=\"selection.file\"></aca-info-drawer>\n </adf-viewer-sidebar>\n\n <adf-viewer-open-with *ngIf=\"openWith.length\">\n <ng-container *ngFor=\"let action of openWith; trackBy: trackByActionId\">\n <app-toolbar-menu-item [actionRef]=\"action\"></app-toolbar-menu-item>\n </ng-container>\n </adf-viewer-open-with>\n\n <adf-viewer-toolbar-actions>\n <aca-toolbar [items]=\"toolbarActions\"></aca-toolbar>\n </adf-viewer-toolbar-actions>\n </adf-alfresco-viewer>\n</ng-container>\n", styles: [".app-viewer{width:100%;height:100%}.app-viewer .adf-viewer-toolbar .adf-toolbar-divider{display:none}.app-viewer .adf-viewer-toolbar-actions{display:flex;flex-direction:row;align-items:center;margin-left:auto}.app-viewer .adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.app-viewer .adf-alfresco-viewer.aca-right_side--hide .adf-viewer__sidebar__right{width:0}\n"] }]
|
|
236
|
-
}], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.AlfrescoApiService }, { type: i3.AppHookService }, { type: i3.ContentApiService }, { type: i3.AppExtensionService }, { type: i2.NodesApiService }, { type: i4.ActivatedRoute }, { type: i4.Router }, { type: i5.Store }, { type: i2.UploadService }, { type: i6.ViewerService }]; }, propDecorators: { handleKeyboardEvent: [{
|
|
237
|
-
type: HostListener,
|
|
238
|
-
args: ['document:keydown', ['$event']]
|
|
239
|
-
}] } });
|
|
240
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3ZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvdmlld2VyL3ZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC92aWV3ZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdlci92aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUNuQixnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3pCLE1BQU0sc0JBQXNCLENBQUM7QUFDOUIsT0FBTyxFQUdMLGVBQWUsRUFDZixrQkFBa0IsRUFFbEIsMkJBQTJCLEVBQzNCLHNCQUFzQixFQUN0QixpQkFBaUIsRUFDakIsY0FBYyxFQUNmLE1BQU0sNEJBQTRCLENBQUM7QUFFcEMsT0FBTyxFQUFzQixXQUFXLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RHLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxzQkFBc0IsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDcEMsT0FBTyxFQUFFLElBQUksRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQs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LGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI0IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7XG4gIEFwcEV4dGVuc2lvblNlcnZpY2UsXG4gIEFwcEhvb2tTZXJ2aWNlLFxuICBBcHBTZXR0aW5nc1NlcnZpY2UsXG4gIENvbnRlbnRBcGlTZXJ2aWNlLFxuICBJbmZvRHJhd2VyQ29tcG9uZW50LFxuICBUb29sYmFyQ29tcG9uZW50LFxuICBUb29sYmFyTWVudUl0ZW1Db21wb25lbnRcbn0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHtcbiAgQXBwU3RvcmUsXG4gIENsb3NlUHJldmlld0FjdGlvbixcbiAgZ2V0QXBwU2VsZWN0aW9uLFxuICBpc0luZm9EcmF3ZXJPcGVuZWQsXG4gIFJlZnJlc2hQcmV2aWV3QWN0aW9uLFxuICBTZXRDdXJyZW50Tm9kZVZlcnNpb25BY3Rpb24sXG4gIFNldFNlbGVjdGVkTm9kZXNBY3Rpb24sXG4gIFZpZXdlckFjdGlvblR5cGVzLFxuICBWaWV3Tm9kZUFjdGlvblxufSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZC9zdG9yZSc7XG5pbXBvcnQgeyBDb250ZW50QWN0aW9uUmVmLCBTZWxlY3Rpb25TdGF0ZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtZXh0ZW5zaW9ucyc7XG5pbXBvcnQgeyBOb2RlLCBWZXJzaW9uRW50cnksIFZlcnNpb25zQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQUklNQVJZX09VVExFVCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFZpZXdlck9wZW5XaXRoQ29tcG9uZW50LCBWaWV3ZXJTaWRlYmFyQ29tcG9uZW50LCBWaWV3ZXJUb29sYmFyQWN0aW9uc0NvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9ucywgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UsIEFsZnJlc2NvVmlld2VyQ29tcG9uZW50LCBEb2N1bWVudExpc3RTZXJ2aWNlLCBOb2Rlc0FwaVNlcnZpY2UsIFVwbG9hZFNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvbnRlbnQtc2VydmljZXMnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFZpZXdlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXIuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEluZm9EcmF3ZXJDb21wb25lbnQsXG4gICAgVG9vbGJhck1lbnVJdGVtQ29tcG9uZW50LFxuICAgIFRvb2xiYXJDb21wb25lbnQsXG4gICAgQWxmcmVzY29WaWV3ZXJDb21wb25lbnQsXG4gICAgVmlld2VyVG9vbGJhckFjdGlvbnNDb21wb25lbnQsXG4gICAgVmlld2VyT3BlbldpdGhDb21wb25lbnQsXG4gICAgVmlld2VyU2lkZWJhckNvbXBvbmVudFxuICBdLFxuICBzZWxlY3RvcjogJ2FjYS12aWV3ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdmlld2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdmlld2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHsgY2xhc3M6ICdhcHAtdmlld2VyJyB9XG59KVxuZXhwb3J0IGNsYXNzIEFjYVZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgc2V0dGluZ3MgPSBpbmplY3QoQXBwU2V0dGluZ3NTZXJ2aWNlKTtcblxuICBwcml2YXRlIGRvY3VtZW50TGlzdFNlcnZpY2UgPSBpbmplY3QoRG9jdW1lbnRMaXN0U2VydmljZSk7XG5cbiAgcHJpdmF0ZSBfdmVyc2lvbnNBcGk6IFZlcnNpb25zQXBpO1xuICBnZXQgdmVyc2lvbnNBcGkoKTogVmVyc2lvbnNBcGkge1xuICAgIHRoaXMuX3ZlcnNpb25zQXBpID0gdGhpcy5fdmVyc2lvbnNBcGkgPz8gbmV3IFZlcnNpb25zQXBpKHRoaXMuYXBpU2VydmljZS5nZXRJbnN0YW5jZSgpKTtcbiAgICByZXR1cm4gdGhpcy5fdmVyc2lvbnNBcGk7XG4gIH1cblxuICBvbkRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBmaWxlTmFtZTogc3RyaW5nO1xuICBmb2xkZXJJZDogc3RyaW5nID0gbnVsbDtcbiAgaW5mb0RyYXdlck9wZW5lZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIG5hdmlnYXRlTXVsdGlwbGUgPSB0cnVlO1xuICBuYXZpZ2F0ZVNvdXJjZTogc3RyaW5nID0gbnVsbDtcbiAgbmF2aWdhdGlvblNvdXJjZXMgPSBbJ2Zhdm9yaXRlcycsICdsaWJyYXJpZXMnLCAncGVyc29uYWwtZmlsZXMnLCAncmVjZW50LWZpbGVzJywgJ3NoYXJlZCddO1xuICBuZXh0Tm9kZUlkOiBzdHJpbmc7XG4gIG5vZGU6IE5vZGU7XG4gIG5vZGVJZDogc3RyaW5nID0gbnVsbDtcbiAgb3BlbldpdGg6IENvbnRlbnRBY3Rpb25SZWZbXSA9IFtdO1xuICBwcmV2aW91c05vZGVJZDogc3RyaW5nO1xuICBzZWxlY3Rpb246IFNlbGVjdGlvblN0YXRlO1xuICBzaG93UmlnaHRTaWRlID0gZmFsc2U7XG4gIHRvb2xiYXJBY3Rpb25zOiBDb250ZW50QWN0aW9uUmVmW10gPSBbXTtcbiAgdmVyc2lvbklkOiBzdHJpbmcgPSBudWxsO1xuXG4gIHByaXZhdGUgbmF2aWdhdGlvblBhdGg6IHN0cmluZztcbiAgcHJpdmF0ZSBwcmV2aWV3TG9jYXRpb246IHN0cmluZztcbiAgcHJpdmF0ZSBjb250YWluZXJzU2tpcE5hdmlnYXRpb24gPSBbJ2FkZi12aWV3ZXJfX3NpZGViYXInLCAnY2RrLW92ZXJsYXktY29udGFpbmVyJywgJ2FkZi1pbWFnZS12aWV3ZXInXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwSG9va1NlcnZpY2U6IEFwcEhvb2tTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGVudEFwaTogQ29udGVudEFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBleHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgbm9kZXNBcGlTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sXG4gICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgdmlld2VyU2VydmljZTogVmlld2VyU2VydmljZVxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbmZvRHJhd2VyT3BlbmVkJCA9IHRoaXMuc3RvcmUuc2VsZWN0KGlzSW5mb0RyYXdlck9wZW5lZCk7XG5cbiAgICBmcm9tKHRoaXMuaW5mb0RyYXdlck9wZW5lZCQpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHZhbCkgPT4ge1xuICAgICAgICB0aGlzLnNob3dSaWdodFNpZGUgPSB2YWw7XG4gICAgICB9KTtcblxuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5zZWxlY3QoZ2V0QXBwU2VsZWN0aW9uKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChzZWxlY3Rpb24pID0+IHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb24gPSBzZWxlY3Rpb247XG4gICAgICB9KTtcblxuICAgIHRoaXMuZXh0ZW5zaW9uc1xuICAgICAgLmdldFZpZXdlclRvb2xiYXJBY3Rpb25zKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoYWN0aW9ucykgPT4ge1xuICAgICAgICB0aGlzLnRvb2xiYXJBY3Rpb25zID0gYWN0aW9ucztcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5leHRlbnNpb25zXG4gICAgICAuZ2V0T3BlbldpdGhBY3Rpb25zKClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoYWN0aW9ucykgPT4ge1xuICAgICAgICB0aGlzLm9wZW5XaXRoID0gYWN0aW9ucztcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcbiAgICAgIHRoaXMuZm9sZGVySWQgPSBwYXJhbXMuZm9sZGVySWQ7XG4gICAgICBjb25zdCB7IG5vZGVJZCB9ID0gcGFyYW1zO1xuICAgICAgdGhpcy52ZXJzaW9uSWQgPSBwYXJhbXMudmVyc2lvbklkO1xuICAgICAgaWYgKHRoaXMudmVyc2lvbklkKSB7XG4gICAgICAgIHZvaWQgdGhpcy52ZXJzaW9uc0FwaS5nZXRWZXJzaW9uKG5vZGVJZCwgdGhpcy52ZXJzaW9uSWQpLnRoZW4oKHZlcnNpb246IFZlcnNpb25FbnRyeSkgPT4ge1xuICAgICAgICAgIGlmICh2ZXJzaW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRDdXJyZW50Tm9kZVZlcnNpb25BY3Rpb24odmVyc2lvbikpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAobm9kZUlkKSB7XG4gICAgICAgIHZvaWQgdGhpcy5kaXNwbGF5Tm9kZShub2RlSWQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgdGhpcy5uYXZpZ2F0aW9uUGF0aCA9IHBhcmFtcy5wYXRoIHx8IHBhcmFtcy5sb2NhdGlvbjtcbiAgICB9KTtcblxuICAgIGlmICh0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGE/Lm5hdmlnYXRlU291cmNlKSB7XG4gICAgICBjb25zdCBzb3VyY2UgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEubmF2aWdhdGVTb3VyY2UudG9Mb3dlckNhc2UoKTtcbiAgICAgIGlmICh0aGlzLm5hdmlnYXRpb25Tb3VyY2VzLmluY2x1ZGVzKHNvdXJjZSkpIHtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZVNvdXJjZSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5uYXZpZ2F0ZVNvdXJjZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmFjdGlvbnMkLnBpcGUob2ZUeXBlPENsb3NlUHJldmlld0FjdGlvbj4oVmlld2VyQWN0aW9uVHlwZXMuQ2xvc2VQcmV2aWV3KSwgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRDdXJyZW50Tm9kZVZlcnNpb25BY3Rpb24obnVsbCkpO1xuICAgICAgdGhpcy5uYXZpZ2F0ZVRvRmlsZUxvY2F0aW9uKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmFjdGlvbnMkXG4gICAgICAucGlwZShvZlR5cGU8UmVmcmVzaFByZXZpZXdBY3Rpb24+KFZpZXdlckFjdGlvblR5cGVzLlJlZnJlc2hQcmV2aWV3KSwgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChhY3Rpb246IFJlZnJlc2hQcmV2aWV3QWN0aW9uKSA9PiB7XG4gICAgICAgIHRoaXMubm9kZXNBcGlTZXJ2aWNlLm5vZGVVcGRhdGVkLm5leHQoYWN0aW9uLm5vZGUpO1xuICAgICAgICB2b2lkIHRoaXMuZGlzcGxheU5vZGUoYWN0aW9uLm5vZGUuaWQpO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmFwcEhvb2tTZXJ2aWNlLm5vZGVzRGVsZXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uYXZpZ2F0ZVRvRmlsZUxvY2F0aW9uKCkpO1xuXG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlLmZpbGVVcGxvYWREZWxldGVkLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLm5hdmlnYXRlVG9GaWxlTG9jYXRpb24oKSk7XG5cbiAgICB0aGlzLnVwbG9hZFNlcnZpY2UuZmlsZVVwbG9hZENvbXBsZXRlLnBpcGUoZGVib3VuY2VUaW1lKDMwMCksIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKGZpbGUpID0+IHtcbiAgICAgIHRoaXMubm9kZXNBcGlTZXJ2aWNlLm5vZGVVcGRhdGVkLm5leHQoZmlsZS5kYXRhLmVudHJ5KTtcbiAgICAgIHZvaWQgdGhpcy5kaXNwbGF5Tm9kZShmaWxlLmRhdGEuZW50cnkuaWQpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5wcmV2aWV3TG9jYXRpb24gPSB0aGlzLnJvdXRlci51cmwuc3Vic3RyaW5nKDAsIHRoaXMucm91dGVyLnVybC5pbmRleE9mKCcvJywgMSkpLnJlcGxhY2UoL1xcLy9nLCAnJyk7XG4gIH1cblxuICBvblZpZXdlclZpc2liaWxpdHlDaGFuZ2VkKCkge1xuICAgIHRoaXMuZG9jdW1lbnRMaXN0U2VydmljZS5yZWxvYWQoKTtcbiAgICB0aGlzLm5hdmlnYXRlVG9GaWxlTG9jYXRpb24oKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldEN1cnJlbnROb2RlVmVyc2lvbkFjdGlvbihudWxsKSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy5vbkRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cblxuICB0cmFja0J5QWN0aW9uSWQoXzogbnVtYmVyLCBvYmo6IENvbnRlbnRBY3Rpb25SZWYpOiBzdHJpbmcge1xuICAgIHJldHVybiBvYmouaWQ7XG4gIH1cblxuICBhc3luYyBkaXNwbGF5Tm9kZShub2RlSWQ6IHN0cmluZykge1xuICAgIGlmIChub2RlSWQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMubm9kZSA9IGF3YWl0IHRoaXMuY29udGVudEFwaS5nZXROb2RlSW5mbyhub2RlSWQpLnRvUHJvbWlzZSgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRTZWxlY3RlZE5vZGVzQWN0aW9uKFt7IGVudHJ5OiB0aGlzLm5vZGUgfV0pKTtcbiAgICAgICAgdGhpcy5uYXZpZ2F0ZU11bHRpcGxlID0gdGhpcy5leHRlbnNpb25zLmNhblNob3dWaWV3ZXJOYXZpZ2F0aW9uKHsgZW50cnk6IHRoaXMubm9kZSB9KTtcblxuICAgICAgICBpZiAodGhpcy5ub2RlPy5pc0ZpbGUpIHtcbiAgICAgICAgICB0aGlzLm5vZGVJZCA9IHRoaXMubm9kZS5pZDtcbiAgICAgICAgICB0aGlzLmZpbGVOYW1lID0gdGhpcy5ub2RlLm5hbWUgKyB0aGlzLm5vZGU/LnByb3BlcnRpZXM/LlsnY206dmVyc2lvbkxhYmVsJ107XG4gICAgICAgICAgaWYgKHRoaXMubmF2aWdhdGVNdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3QgbmVhcmVzdCA9IGF3YWl0IHRoaXMudmlld2VyU2VydmljZS5nZXROZWFyZXN0Tm9kZXModGhpcy5ub2RlLmlkLCB0aGlzLm5vZGUucGFyZW50SWQsIHRoaXMubmF2aWdhdGVTb3VyY2UpO1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c05vZGVJZCA9IG5lYXJlc3QubGVmdDtcbiAgICAgICAgICAgIHRoaXMubmV4dE5vZGVJZCA9IG5lYXJlc3QucmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm5hdmlnYXRlVG9GaWxlTG9jYXRpb24oKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnN0IHN0YXR1c0NvZGUgPSBKU09OLnBhcnNlKGVycm9yLm1lc3NhZ2UpLmVycm9yLnN0YXR1c0NvZGU7XG5cbiAgICAgICAgaWYgKHN0YXR1c0NvZGUgIT09IDQwMSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLnByZXZpZXdMb2NhdGlvbiwgeyBvdXRsZXRzOiB7IHZpZXdlcjogbnVsbCB9IH1dKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHZvaWQgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMucHJldmlld0xvY2F0aW9uLCBub2RlSWRdKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uTmF2aWdhdGVCZWZvcmUoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnR5cGUgIT09ICdjbGljaycgJiYgdGhpcy5zaG91bGROYXZpZ2F0ZShldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLmdldEZpbGVMb2NhdGlvbigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFZpZXdOb2RlQWN0aW9uKHRoaXMucHJldmlvdXNOb2RlSWQsIHsgbG9jYXRpb24gfSkpO1xuICB9XG5cbiAgb25OYXZpZ2F0ZU5leHQoZXZlbnQ6IE1vdXNlRXZlbnQgfCBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LnR5cGUgIT09ICdjbGljaycgJiYgdGhpcy5zaG91bGROYXZpZ2F0ZShldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbG9jYXRpb24gPSB0aGlzLmdldEZpbGVMb2NhdGlvbigpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFZpZXdOb2RlQWN0aW9uKHRoaXMubmV4dE5vZGVJZCwgeyBsb2NhdGlvbiB9KSk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleTtcblxuICAgIGlmIChrZXkgPT09ICdBcnJvd1JpZ2h0JyB8fCBrZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuYXZpZ2F0ZVRvRmlsZUxvY2F0aW9uKCkge1xuICAgIGNvbnN0IGxvY2F0aW9uID0gdGhpcy5nZXRGaWxlTG9jYXRpb24oKTtcbiAgICB2b2lkIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwobG9jYXRpb24pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWxlTG9jYXRpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYXZpZ2F0aW9uUGF0aCB8fCB0aGlzLnJvdXRlci5wYXJzZVVybCh0aGlzLnJvdXRlci51cmwpLnJvb3QuY2hpbGRyZW5bUFJJTUFSWV9PVVRMRVRdLnRvU3RyaW5nKCk7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZE5hdmlnYXRlKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gICAgbGV0IGN1cnJlbnRFbGVtZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuXG4gICAgd2hpbGUgKGN1cnJlbnRFbGVtZW50ICYmICF0aGlzLmlzQ2hpbGQoY3VycmVudEVsZW1lbnQuY2xhc3NMaXN0KSkge1xuICAgICAgY3VycmVudEVsZW1lbnQgPSBjdXJyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIH1cblxuICAgIHJldHVybiAhIWN1cnJlbnRFbGVtZW50O1xuICB9XG5cbiAgcHJpdmF0ZSBpc0NoaWxkKGxpc3Q6IERPTVRva2VuTGlzdCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKGxpc3QpLnNvbWUoKGNsYXNzTmFtZTogc3RyaW5nKSA9PiB0aGlzLmNvbnRhaW5lcnNTa2lwTmF2aWdhdGlvbi5pbmNsdWRlcyhjbGFzc05hbWUpKTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vZGVJZFwiPlxuICA8YWRmLWFsZnJlc2NvLXZpZXdlclxuICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICdhY2EtcmlnaHRfc2lkZS0taGlkZSc6ICFzaG93UmlnaHRTaWRlXG4gICAgfVwiXG4gICAgW21heFJldHJpZXNdPVwic2V0dGluZ3Mudmlld2VyTWF4UmV0cmllc1wiXG4gICAgW25vZGVJZF09XCJub2RlSWRcIlxuICAgIFt2ZXJzaW9uSWRdPVwidmVyc2lvbklkXCJcbiAgICBbYWxsb3dOYXZpZ2F0ZV09XCJuYXZpZ2F0ZU11bHRpcGxlXCJcbiAgICBbYWxsb3dSaWdodFNpZGViYXJdPVwidHJ1ZVwiXG4gICAgW2FsbG93UHJpbnRdPVwiZmFsc2VcIlxuICAgIFtzaG93UmlnaHRTaWRlYmFyXT1cInRydWVcIlxuICAgIFthbGxvd0Rvd25sb2FkXT1cImZhbHNlXCJcbiAgICBbYWxsb3dGdWxsU2NyZWVuXT1cImZhbHNlXCJcbiAgICBbb3ZlcmxheU1vZGVdPVwidHJ1ZVwiXG4gICAgW2hpZGVJbmZvQnV0dG9uXT1cInRydWVcIlxuICAgIFtjbG9zZUJ1dHRvblBvc2l0aW9uXT1cInNldHRpbmdzLnZpZXdlckNsb3NlQnV0dG9uUG9zaXRpb25cIlxuICAgIChzaG93Vmlld2VyQ2hhbmdlKT1cIm9uVmlld2VyVmlzaWJpbGl0eUNoYW5nZWQoKVwiXG4gICAgW2Nhbk5hdmlnYXRlQmVmb3JlXT1cIiEhcHJldmlvdXNOb2RlSWRcIlxuICAgIFtjYW5OYXZpZ2F0ZU5leHRdPVwiISFuZXh0Tm9kZUlkXCJcbiAgICAobmF2aWdhdGVCZWZvcmUpPVwib25OYXZpZ2F0ZUJlZm9yZSgkZXZlbnQpXCJcbiAgICAobmF2aWdhdGVOZXh0KT1cIm9uTmF2aWdhdGVOZXh0KCRldmVudClcIlxuICA+XG4gICAgPGFkZi12aWV3ZXItc2lkZWJhciAqbmdJZj1cImluZm9EcmF3ZXJPcGVuZWQkIHwgYXN5bmNcIj5cbiAgICAgIDxhY2EtaW5mby1kcmF3ZXIgW25vZGVdPVwic2VsZWN0aW9uLmZpbGVcIj48L2FjYS1pbmZvLWRyYXdlcj5cbiAgICA8L2FkZi12aWV3ZXItc2lkZWJhcj5cblxuICAgIDxhZGYtdmlld2VyLW9wZW4td2l0aCAqbmdJZj1cIm9wZW5XaXRoLmxlbmd0aFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIG9wZW5XaXRoOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uSWRcIj5cbiAgICAgICAgPGFwcC10b29sYmFyLW1lbnUtaXRlbSBbYWN0aW9uUmVmXT1cImFjdGlvblwiPjwvYXBwLXRvb2xiYXItbWVudS1pdGVtPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hZGYtdmlld2VyLW9wZW4td2l0aD5cblxuICAgIDxhZGYtdmlld2VyLXRvb2xiYXItYWN0aW9ucz5cbiAgICAgIDxhY2EtdG9vbGJhciBbaXRlbXNdPVwidG9vbGJhckFjdGlvbnNcIj48L2FjYS10b29sYmFyPlxuICAgIDwvYWRmLXZpZXdlci10b29sYmFyLWFjdGlvbnM+XG4gIDwvYWRmLWFsZnJlc2NvLXZpZXdlcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Alfresco Example Content Application
|
|
5
|
-
*
|
|
6
|
-
* This file is part of the Alfresco Example Content Application.
|
|
7
|
-
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
-
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
-
* provided under the following open source license terms:
|
|
10
|
-
*
|
|
11
|
-
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
-
* (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Lesser General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
-
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*/
|
|
24
|
-
import { ObjectUtils, UserPreferencesService } from '@alfresco/adf-core';
|
|
25
|
-
import { Injectable } from '@angular/core';
|
|
26
|
-
import { ContentApiService } from '@alfresco/aca-shared';
|
|
27
|
-
import * as i0 from "@angular/core";
|
|
28
|
-
import * as i1 from "@alfresco/adf-core";
|
|
29
|
-
import * as i2 from "@alfresco/aca-shared";
|
|
30
|
-
export class ViewerService {
|
|
31
|
-
set customNodesOrder(customNodesOrder) {
|
|
32
|
-
this._customNodesOrder = customNodesOrder;
|
|
33
|
-
}
|
|
34
|
-
constructor(preferences, contentApi) {
|
|
35
|
-
this.preferences = preferences;
|
|
36
|
-
this.contentApi = contentApi;
|
|
37
|
-
this._customNodesOrder = [];
|
|
38
|
-
this.recentFileFilters = [
|
|
39
|
-
'TYPE:"content"',
|
|
40
|
-
'-PATH:"//cm:wiki/*"',
|
|
41
|
-
'-TYPE:"app:filelink"',
|
|
42
|
-
'-TYPE:"fm:post"',
|
|
43
|
-
'-TYPE:"cm:thumbnail"',
|
|
44
|
-
'-TYPE:"cm:failedThumbnail"',
|
|
45
|
-
'-TYPE:"cm:rating"',
|
|
46
|
-
'-TYPE:"dl:dataList"',
|
|
47
|
-
'-TYPE:"dl:todoList"',
|
|
48
|
-
'-TYPE:"dl:issue"',
|
|
49
|
-
'-TYPE:"dl:contact"',
|
|
50
|
-
'-TYPE:"dl:eventAgenda"',
|
|
51
|
-
'-TYPE:"dl:event"',
|
|
52
|
-
'-TYPE:"dl:task"',
|
|
53
|
-
'-TYPE:"dl:simpletask"',
|
|
54
|
-
'-TYPE:"dl:meetingAgenda"',
|
|
55
|
-
'-TYPE:"dl:location"',
|
|
56
|
-
'-TYPE:"fm:topic"',
|
|
57
|
-
'-TYPE:"fm:post"',
|
|
58
|
-
'-TYPE:"ia:calendarEvent"',
|
|
59
|
-
'-TYPE:"lnk:link"'
|
|
60
|
-
];
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Retrieves nearest node information for the given node and folder.
|
|
64
|
-
*
|
|
65
|
-
* @param nodeId Unique identifier of the document node
|
|
66
|
-
* @param folderId Unique identifier of the containing folder node.
|
|
67
|
-
* @param source Data source name. Returns file ids for personal-files, libraries, favorites, shared and recent-files, otherwise returns empty.
|
|
68
|
-
*/
|
|
69
|
-
async getNearestNodes(nodeId, folderId, source) {
|
|
70
|
-
const empty = {
|
|
71
|
-
left: null,
|
|
72
|
-
right: null
|
|
73
|
-
};
|
|
74
|
-
if (nodeId && folderId) {
|
|
75
|
-
try {
|
|
76
|
-
const ids = await this.getFileIds(source, folderId);
|
|
77
|
-
const idx = ids.indexOf(nodeId);
|
|
78
|
-
if (idx >= 0) {
|
|
79
|
-
return {
|
|
80
|
-
left: ids[idx - 1] || null,
|
|
81
|
-
right: ids[idx + 1] || null
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
catch { }
|
|
86
|
-
}
|
|
87
|
-
return empty;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Retrieves a list of node identifiers for the folder and data source.
|
|
91
|
-
*
|
|
92
|
-
* @param source Data source name. Returns file ids for personal-files, libraries, favorites, shared and recent-files, otherwise returns empty.
|
|
93
|
-
* @param folderId Optional parameter containing folder node identifier for 'personal-files' and 'libraries' sources.
|
|
94
|
-
*/
|
|
95
|
-
async getFileIds(source, folderId) {
|
|
96
|
-
if (source === 'libraries') {
|
|
97
|
-
source = 'libraries-files';
|
|
98
|
-
}
|
|
99
|
-
const isClient = this.preferences.get(`${source}.sorting.mode`) === 'client';
|
|
100
|
-
const [sortKey, sortDirection, previousSortKey, previousSortDir] = this.getSortKeyDir(source);
|
|
101
|
-
let nodes;
|
|
102
|
-
if (source === 'personal-files' || source === 'libraries-files') {
|
|
103
|
-
if (!folderId) {
|
|
104
|
-
return [];
|
|
105
|
-
}
|
|
106
|
-
const orderBy = isClient ? null : ['isFolder desc', `${sortKey} ${sortDirection}`];
|
|
107
|
-
nodes = await this.contentApi
|
|
108
|
-
.getNodeChildren(folderId, {
|
|
109
|
-
orderBy: orderBy,
|
|
110
|
-
fields: this.getFields(sortKey, previousSortKey),
|
|
111
|
-
where: '(isFile=true)'
|
|
112
|
-
})
|
|
113
|
-
.toPromise();
|
|
114
|
-
}
|
|
115
|
-
if (source === 'favorites') {
|
|
116
|
-
nodes = await this.contentApi
|
|
117
|
-
.getFavorites('-me-', {
|
|
118
|
-
where: '(EXISTS(target/file))',
|
|
119
|
-
fields: ['target']
|
|
120
|
-
})
|
|
121
|
-
.toPromise();
|
|
122
|
-
}
|
|
123
|
-
if (source === 'shared') {
|
|
124
|
-
nodes = await this.contentApi
|
|
125
|
-
.findSharedLinks({
|
|
126
|
-
fields: ['nodeId', this.getRootField(sortKey)]
|
|
127
|
-
})
|
|
128
|
-
.toPromise();
|
|
129
|
-
}
|
|
130
|
-
if (source === 'recent-files') {
|
|
131
|
-
const person = await this.contentApi.getPerson('-me-').toPromise();
|
|
132
|
-
const username = person.entry.id;
|
|
133
|
-
const query = {
|
|
134
|
-
query: {
|
|
135
|
-
query: '*',
|
|
136
|
-
language: 'afts'
|
|
137
|
-
},
|
|
138
|
-
filterQueries: [
|
|
139
|
-
{ query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },
|
|
140
|
-
{ query: `cm:modifier:${username} OR cm:creator:${username}` },
|
|
141
|
-
{
|
|
142
|
-
query: this.recentFileFilters.join(' AND ')
|
|
143
|
-
}
|
|
144
|
-
],
|
|
145
|
-
fields: this.getFields(sortKey, previousSortKey),
|
|
146
|
-
include: ['path', 'properties', 'allowableOperations'],
|
|
147
|
-
sort: [
|
|
148
|
-
{
|
|
149
|
-
type: 'FIELD',
|
|
150
|
-
field: 'cm:modified',
|
|
151
|
-
ascending: false
|
|
152
|
-
}
|
|
153
|
-
]
|
|
154
|
-
};
|
|
155
|
-
nodes = await this.contentApi.search(query).toPromise();
|
|
156
|
-
}
|
|
157
|
-
return this.getCustomNodesOrderIfNoNodes(nodes, isClient, previousSortKey, previousSortDir, sortKey, sortDirection);
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Get the root field name from the property path.
|
|
161
|
-
* Example: 'property1.some.child.property' => 'property1'
|
|
162
|
-
*
|
|
163
|
-
* @param path Property path
|
|
164
|
-
*/
|
|
165
|
-
getRootField(path) {
|
|
166
|
-
if (path) {
|
|
167
|
-
return path.split('.')[0];
|
|
168
|
-
}
|
|
169
|
-
return path;
|
|
170
|
-
}
|
|
171
|
-
sort(items, key, direction) {
|
|
172
|
-
const options = {};
|
|
173
|
-
if (key.includes('sizeInBytes') || key === 'name') {
|
|
174
|
-
options.numeric = true;
|
|
175
|
-
}
|
|
176
|
-
items.sort((a, b) => {
|
|
177
|
-
let left = ObjectUtils.getValue(a, key) ?? '';
|
|
178
|
-
left = left instanceof Date ? left.valueOf().toString() : left.toString();
|
|
179
|
-
let right = ObjectUtils.getValue(b, key) ?? '';
|
|
180
|
-
right = right instanceof Date ? right.valueOf().toString() : right.toString();
|
|
181
|
-
return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);
|
|
182
|
-
});
|
|
183
|
-
}
|
|
184
|
-
getFields(sortKey, previousSortKey) {
|
|
185
|
-
return ['id', this.getRootField(sortKey), this.getRootField(previousSortKey)];
|
|
186
|
-
}
|
|
187
|
-
getSortKeyDir(source) {
|
|
188
|
-
const previousSortKey = this.preferences.get(`${source}.sorting.previousKey`);
|
|
189
|
-
const previousSortDir = this.preferences.get(`${source}.sorting.previousDirection`);
|
|
190
|
-
const sortKey = this.preferences.get(`${source}.sorting.key`) || this.getDefaults(source)[0];
|
|
191
|
-
const sortDirection = this.preferences.get(`${source}.sorting.direction`) || this.getDefaults(source)[1];
|
|
192
|
-
return [sortKey, sortDirection, previousSortKey, previousSortDir];
|
|
193
|
-
}
|
|
194
|
-
getDefaults(source) {
|
|
195
|
-
if (source === 'personal-files' || source === 'libraries-files') {
|
|
196
|
-
return ['name', 'asc'];
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
return ['modifiedAt', 'desc'];
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
getCustomNodesOrderIfNoNodes(nodes, isClient, previousSortKey, previousSortDir, sortKey, sortDirection) {
|
|
203
|
-
if (nodes) {
|
|
204
|
-
const entries = nodes.list.entries.map((obj) => obj.entry.target?.file ?? obj.entry);
|
|
205
|
-
if (isClient) {
|
|
206
|
-
if (previousSortKey) {
|
|
207
|
-
this.sort(entries, previousSortKey, previousSortDir);
|
|
208
|
-
}
|
|
209
|
-
this.sort(entries, sortKey, sortDirection);
|
|
210
|
-
}
|
|
211
|
-
return entries.map((entry) => entry.id ?? entry.nodeId);
|
|
212
|
-
}
|
|
213
|
-
else {
|
|
214
|
-
return this._customNodesOrder;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
ViewerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewerService, deps: [{ token: i1.UserPreferencesService }, { token: i2.ContentApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
219
|
-
ViewerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewerService, providedIn: 'root' });
|
|
220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ViewerService, decorators: [{
|
|
221
|
-
type: Injectable,
|
|
222
|
-
args: [{
|
|
223
|
-
providedIn: 'root'
|
|
224
|
-
}]
|
|
225
|
-
}], ctorParameters: function () { return [{ type: i1.UserPreferencesService }, { type: i2.ContentApiService }]; } });
|
|
226
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC92aWV3ZXIvc3JjL2xpYi9zZXJ2aWNlcy92aWV3ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV6RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7O0FBVXpELE1BQU0sT0FBTyxhQUFhO0lBR3hCLElBQUksZ0JBQWdCLENBQUMsZ0JBQTBCO1FBQzdDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxnQkFBZ0IsQ0FBQztJQUM1QyxDQUFDO0lBRUQsWUFBb0IsV0FBbUMsRUFBVSxVQUE2QjtRQUExRSxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7UUFBVSxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQU50RixzQkFBaUIsR0FBYSxFQUFFLENBQUM7UUFRekMsc0JBQWlCLEdBQUc7WUFDbEIsZ0JBQWdCO1lBQ2hCLHFCQUFxQjtZQUNyQixzQkFBc0I7WUFDdEIsaUJBQWlCO1lBQ2pCLHNCQUFzQjtZQUN0Qiw0QkFBNEI7WUFDNUIsbUJBQW1CO1lBQ25CLHFCQUFxQjtZQUNyQixxQkFBcUI7WUFDckIsa0JBQWtCO1lBQ2xCLG9CQUFvQjtZQUNwQix3QkFBd0I7WUFDeEIsa0JBQWtCO1lBQ2xCLGlCQUFpQjtZQUNqQix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLHFCQUFxQjtZQUNyQixrQkFBa0I7WUFDbEIsaUJBQWlCO1lBQ2pCLDBCQUEwQjtZQUMxQixrQkFBa0I7U0FDbkIsQ0FBQztJQXhCK0YsQ0FBQztJQTBCbEc7Ozs7OztPQU1HO0lBQ0gs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RUFBRSxJQUFJLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JGLElBQUksUUFBUSxFQUFFO2dCQUNaLElBQUksZUFBZSxFQUFFO29CQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7aUJBQ3REO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQzthQUM1QztZQUNELE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekQ7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQy9CO0lBQ0gsQ0FBQzs7MkdBL01VLGFBQWE7K0dBQWIsYUFBYSxjQUZaLE1BQU07NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgT2JqZWN0VXRpbHMsIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgRmF2b3JpdGVQYWdpbmcsIE5vZGUsIE5vZGVQYWdpbmcsIFNlYXJjaFJlcXVlc3QsIFJlc3VsdFNldFBhZ2luZywgU2hhcmVkTGluaywgU2hhcmVkTGlua1BhZ2luZyB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udGVudEFwaVNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5cbmludGVyZmFjZSBBZGphY2VudEZpbGVzIHtcbiAgbGVmdDogc3RyaW5nO1xuICByaWdodDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWaWV3ZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfY3VzdG9tTm9kZXNPcmRlcjogc3RyaW5nW10gPSBbXTtcblxuICBzZXQgY3VzdG9tTm9kZXNPcmRlcihjdXN0b21Ob2Rlc09yZGVyOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX2N1c3RvbU5vZGVzT3JkZXIgPSBjdXN0b21Ob2Rlc09yZGVyO1xuICB9XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwcmVmZXJlbmNlczogVXNlclByZWZlcmVuY2VzU2VydmljZSwgcHJpdmF0ZSBjb250ZW50QXBpOiBDb250ZW50QXBpU2VydmljZSkge31cblxuICByZWNlbnRGaWxlRmlsdGVycyA9IFtcbiAgICAnVFlQRTpcImNvbnRlbnRcIicsXG4gICAgJy1QQVRIOlwiLy9jbTp3aWtpLypcIicsXG4gICAgJy1UWVBFOlwiYXBwOmZpbGVsaW5rXCInLFxuICAgICctVFlQRTpcImZtOnBvc3RcIicsXG4gICAgJy1UWVBFOlwiY206dGh1bWJuYWlsXCInLFxuICAgICctVFlQRTpcImNtOmZhaWxlZFRodW1ibmFpbFwiJyxcbiAgICAnLVRZUEU6XCJjbTpyYXRpbmdcIicsXG4gICAgJy1UWVBFOlwiZGw6ZGF0YUxpc3RcIicsXG4gICAgJy1UWVBFOlwiZGw6dG9kb0xpc3RcIicsXG4gICAgJy1UWVBFOlwiZGw6aXNzdWVcIicsXG4gICAgJy1UWVBFOlwiZGw6Y29udGFjdFwiJyxcbiAgICAnLVRZUEU6XCJkbDpldmVudEFnZW5kYVwiJyxcbiAgICAnLVRZUEU6XCJkbDpldmVudFwiJyxcbiAgICAnLVRZUEU6XCJkbDp0YXNrXCInLFxuICAgICctVFlQRTpcImRsOnNpbXBsZXRhc2tcIicsXG4gICAgJy1UWVBFOlwiZGw6bWVldGluZ0FnZW5kYVwiJyxcbiAgICAnLVRZUEU6XCJkbDpsb2NhdGlvblwiJyxcbiAgICAnLVRZUEU6XCJmbTp0b3BpY1wiJyxcbiAgICAnLVRZUEU6XCJmbTpwb3N0XCInLFxuICAgICctVFlQRTpcImlhOmNhbGVuZGFyRXZlbnRcIicsXG4gICAgJy1UWVBFOlwibG5rOmxpbmtcIidcbiAgXTtcblxuICAvKipcbiAgICogUmV0cmlldmVzIG5lYXJlc3Qgbm9kZSBpbmZvcm1hdGlvbiBmb3IgdGhlIGdpdmVuIG5vZGUgYW5kIGZvbGRlci5cbiAgICpcbiAgICogQHBhcmFtIG5vZGVJZCBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZG9jdW1lbnQgbm9kZVxuICAgKiBAcGFyYW0gZm9sZGVySWQgVW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGNvbnRhaW5pbmcgZm9sZGVyIG5vZGUuXG4gICAqIEBwYXJhbSBzb3VyY2UgRGF0YSBzb3VyY2UgbmFtZS4gUmV0dXJucyBmaWxlIGlkcyBmb3IgcGVyc29uYWwtZmlsZXMsIGxpYnJhcmllcywgZmF2b3JpdGVzLCBzaGFyZWQgYW5kIHJlY2VudC1maWxlcywgb3RoZXJ3aXNlIHJldHVybnMgZW1wdHkuXG4gICAqL1xuICBhc3luYyBnZXROZWFyZXN0Tm9kZXMobm9kZUlkOiBzdHJpbmcsIGZvbGRlcklkOiBzdHJpbmcsIHNvdXJjZTogc3RyaW5nKTogUHJvbWlzZTxBZGphY2VudEZpbGVzPiB7XG4gICAgY29uc3QgZW1wdHk6IEFkamFjZW50RmlsZXMgPSB7XG4gICAgICBsZWZ0OiBudWxsLFxuICAgICAgcmlnaHQ6IG51bGxcbiAgICB9O1xuXG4gICAgaWYgKG5vZGVJZCAmJiBmb2xkZXJJZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgaWRzID0gYXdhaXQgdGhpcy5nZXRGaWxlSWRzKHNvdXJjZSwgZm9sZGVySWQpO1xuICAgICAgICBjb25zdCBpZHggPSBpZHMuaW5kZXhPZihub2RlSWQpO1xuXG4gICAgICAgIGlmIChpZHggPj0gMCkge1xuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsZWZ0OiBpZHNbaWR4IC0gMV0gfHwgbnVsbCxcbiAgICAgICAgICAgIHJpZ2h0OiBpZHNbaWR4ICsgMV0gfHwgbnVsbFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2gge31cbiAgICB9XG4gICAgcmV0dXJuIGVtcHR5O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGxpc3Qgb2Ygbm9kZSBpZGVudGlmaWVycyBmb3IgdGhlIGZvbGRlciBhbmQgZGF0YSBzb3VyY2UuXG4gICAqXG4gICAqIEBwYXJhbSBzb3VyY2UgRGF0YSBzb3VyY2UgbmFtZS4gUmV0dXJucyBmaWxlIGlkcyBmb3IgcGVyc29uYWwtZmlsZXMsIGxpYnJhcmllcywgZmF2b3JpdGVzLCBzaGFyZWQgYW5kIHJlY2VudC1maWxlcywgb3RoZXJ3aXNlIHJldHVybnMgZW1wdHkuXG4gICAqIEBwYXJhbSBmb2xkZXJJZCBPcHRpb25hbCBwYXJhbWV0ZXIgY29udGFpbmluZyBmb2xkZXIgbm9kZSBpZGVudGlmaWVyIGZvciAncGVyc29uYWwtZmlsZXMnIGFuZCAnbGlicmFyaWVzJyBzb3VyY2VzLlxuICAgKi9cbiAgYXN5bmMgZ2V0RmlsZUlkcyhzb3VyY2U6IHN0cmluZywgZm9sZGVySWQ/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgaWYgKHNvdXJjZSA9PT0gJ2xpYnJhcmllcycpIHtcbiAgICAgIHNvdXJjZSA9ICdsaWJyYXJpZXMtZmlsZXMnO1xuICAgIH1cbiAgICBjb25zdCBpc0NsaWVudCA9IHRoaXMucHJlZmVyZW5jZXMuZ2V0KGAke3NvdXJjZX0uc29ydGluZy5tb2RlYCkgPT09ICdjbGllbnQnO1xuICAgIGNvbnN0IFtzb3J0S2V5LCBzb3J0RGlyZWN0aW9uLCBwcmV2aW91c1NvcnRLZXksIHByZXZpb3VzU29ydERpcl0gPSB0aGlzLmdldFNvcnRLZXlEaXIoc291cmNlKTtcbiAgICBsZXQgbm9kZXM6IE5vZGVQYWdpbmcgfCBGYXZvcml0ZVBhZ2luZyB8IFNoYXJlZExpbmtQYWdpbmcgfCBSZXN1bHRTZXRQYWdpbmc7XG5cbiAgICBpZiAoc291cmNlID09PSAncGVyc29uYWwtZmlsZXMnIHx8IHNvdXJjZSA9PT0gJ2xpYnJhcmllcy1maWxlcycpIHtcbiAgICAgIGlmICghZm9sZGVySWQpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgY29uc3Qgb3JkZXJCeSA9IGlzQ2xpZW50ID8gbnVsbCA6IFsnaXNGb2xkZXIgZGVzYycsIGAke3NvcnRLZXl9ICR7c29ydERpcmVjdGlvbn1gXTtcbiAgICAgIG5vZGVzID0gYXdhaXQgdGhpcy5jb250ZW50QXBpXG4gICAgICAgIC5nZXROb2RlQ2hpbGRyZW4oZm9sZGVySWQsIHtcbiAgICAgICAgICBvcmRlckJ5OiBvcmRlckJ5LFxuICAgICAgICAgIGZpZWxkczogdGhpcy5nZXRGaWVsZHMoc29ydEtleSwgcHJldmlvdXNTb3J0S2V5KSxcbiAgICAgICAgICB3aGVyZTogJyhpc0ZpbGU9dHJ1ZSknXG4gICAgICAgIH0pXG4gICAgICAgIC50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlID09PSAnZmF2b3JpdGVzJykge1xuICAgICAgbm9kZXMgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGlcbiAgICAgICAgLmdldEZhdm9yaXRlcygnLW1lLScsIHtcbiAgICAgICAgICB3aGVyZTogJyhFWElTVFModGFyZ2V0L2ZpbGUpKScsXG4gICAgICAgICAgZmllbGRzOiBbJ3RhcmdldCddXG4gICAgICAgIH0pXG4gICAgICAgIC50b1Byb21pc2UoKTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlID09PSAnc2hhcmVkJykge1xuICAgICAgbm9kZXMgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGlcbiAgICAgICAgLmZpbmRTaGFyZWRMaW5rcyh7XG4gICAgICAgICAgZmllbGRzOiBbJ25vZGVJZCcsIHRoaXMuZ2V0Um9vdEZpZWxkKHNvcnRLZXkpXVxuICAgICAgICB9KVxuICAgICAgICAudG9Qcm9taXNlKCk7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZSA9PT0gJ3JlY2VudC1maWxlcycpIHtcbiAgICAgIGNvbnN0IHBlcnNvbiA9IGF3YWl0IHRoaXMuY29udGVudEFwaS5nZXRQZXJzb24oJy1tZS0nKS50b1Byb21pc2UoKTtcbiAgICAgIGNvbnN0IHVzZXJuYW1lID0gcGVyc29uLmVudHJ5LmlkO1xuICAgICAgY29uc3QgcXVlcnk6IFNlYXJjaFJlcXVlc3QgPSB7XG4gICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgcXVlcnk6ICcqJyxcbiAgICAgICAgICBsYW5ndWFnZTogJ2FmdHMnXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlclF1ZXJpZXM6IFtcbiAgICAgICAgICB7IHF1ZXJ5OiBgY206bW9kaWZpZWQ6W05PVy9EQVktMzBEQVlTIFRPIE5PVy9EQVkrMURBWV1gIH0sXG4gICAgICAgICAgeyBxdWVyeTogYGNtOm1vZGlmaWVyOiR7dXNlcm5hbWV9IE9SIGNtOmNyZWF0b3I6JHt1c2VybmFtZX1gIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcXVlcnk6IHRoaXMucmVjZW50RmlsZUZpbHRlcnMuam9pbignIEFORCAnKVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgZmllbGRzOiB0aGlzLmdldEZpZWxkcyhzb3J0S2V5LCBwcmV2aW91c1NvcnRLZXkpLFxuICAgICAgICBpbmNsdWRlOiBbJ3BhdGgnLCAncHJvcGVydGllcycsICdhbGxvd2FibGVPcGVyYXRpb25zJ10sXG4gICAgICAgIHNvcnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnRklFTEQnLFxuICAgICAgICAgICAgZmllbGQ6ICdjbTptb2RpZmllZCcsXG4gICAgICAgICAgICBhc2NlbmRpbmc6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuICAgICAgbm9kZXMgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGkuc2VhcmNoKHF1ZXJ5KS50b1Byb21pc2UoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q3VzdG9tTm9kZXNPcmRlcklmTm9Ob2Rlcyhub2RlcywgaXNDbGllbnQsIHByZXZpb3VzU29ydEtleSwgcHJldmlvdXNTb3J0RGlyLCBzb3J0S2V5LCBzb3J0RGlyZWN0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJvb3QgZmllbGQgbmFtZSBmcm9tIHRoZSBwcm9wZXJ0eSBwYXRoLlxuICAgKiBFeGFtcGxlOiAncHJvcGVydHkxLnNvbWUuY2hpbGQucHJvcGVydHknID0+ICdwcm9wZXJ0eTEnXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIFByb3BlcnR5IHBhdGhcbiAgICovXG4gIGdldFJvb3RGaWVsZChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChwYXRoKSB7XG4gICAgICByZXR1cm4gcGF0aC5zcGxpdCgnLicpWzBdO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIHByaXZhdGUgc29ydChpdGVtczogTm9kZVtdIHwgU2hhcmVkTGlua1tdLCBrZXk6IHN0cmluZywgZGlyZWN0aW9uOiBzdHJpbmcpIHtcbiAgICBjb25zdCBvcHRpb25zOiBJbnRsLkNvbGxhdG9yT3B0aW9ucyA9IHt9O1xuICAgIGlmIChrZXkuaW5jbHVkZXMoJ3NpemVJbkJ5dGVzJykgfHwga2V5ID09PSAnbmFtZScpIHtcbiAgICAgIG9wdGlvbnMubnVtZXJpYyA9IHRydWU7XG4gICAgfVxuXG4gICAgaXRlbXMuc29ydCgoYTogTm9kZSB8IFNoYXJlZExpbmssIGI6IE5vZGUgfCBTaGFyZWRMaW5rKSA9PiB7XG4gICAgICBsZXQgbGVmdCA9IE9iamVjdFV0aWxzLmdldFZhbHVlKGEsIGtleSkgPz8gJyc7XG4gICAgICBsZWZ0ID0gbGVmdCBpbnN0YW5jZW9mIERhdGUgPyBsZWZ0LnZhbHVlT2YoKS50b1N0cmluZygpIDogbGVmdC50b1N0cmluZygpO1xuXG4gICAgICBsZXQgcmlnaHQgPSBPYmplY3RVdGlscy5nZXRWYWx1ZShiLCBrZXkpID8/ICcnO1xuICAgICAgcmlnaHQgPSByaWdodCBpbnN0YW5jZW9mIERhdGUgPyByaWdodC52YWx1ZU9mKCkudG9TdHJpbmcoKSA6IHJpZ2h0LnRvU3RyaW5nKCk7XG5cbiAgICAgIHJldHVybiBkaXJlY3Rpb24gPT09ICdhc2MnID8gbGVmdC5sb2NhbGVDb21wYXJlKHJpZ2h0LCB1bmRlZmluZWQsIG9wdGlvbnMpIDogcmlnaHQubG9jYWxlQ29tcGFyZShsZWZ0LCB1bmRlZmluZWQsIG9wdGlvbnMpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRGaWVsZHMoc29ydEtleTogc3RyaW5nLCBwcmV2aW91c1NvcnRLZXk/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIFsnaWQnLCB0aGlzLmdldFJvb3RGaWVsZChzb3J0S2V5KSwgdGhpcy5nZXRSb290RmllbGQocHJldmlvdXNTb3J0S2V5KV07XG4gIH1cblxuICBwcml2YXRlIGdldFNvcnRLZXlEaXIoc291cmNlOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgcHJldmlvdXNTb3J0S2V5ID0gdGhpcy5wcmVmZXJlbmNlcy5nZXQoYCR7c291cmNlfS5zb3J0aW5nLnByZXZpb3VzS2V5YCk7XG4gICAgY29uc3QgcHJldmlvdXNTb3J0RGlyID0gdGhpcy5wcmVmZXJlbmNlcy5nZXQoYCR7c291cmNlfS5zb3J0aW5nLnByZXZpb3VzRGlyZWN0aW9uYCk7XG4gICAgY29uc3Qgc29ydEtleSA9IHRoaXMucHJlZmVyZW5jZXMuZ2V0KGAke3NvdXJjZX0uc29ydGluZy5rZXlgKSB8fCB0aGlzLmdldERlZmF1bHRzKHNvdXJjZSlbMF07XG4gICAgY29uc3Qgc29ydERpcmVjdGlvbiA9IHRoaXMucHJlZmVyZW5jZXMuZ2V0KGAke3NvdXJjZX0uc29ydGluZy5kaXJlY3Rpb25gKSB8fCB0aGlzLmdldERlZmF1bHRzKHNvdXJjZSlbMV07XG4gICAgcmV0dXJuIFtzb3J0S2V5LCBzb3J0RGlyZWN0aW9uLCBwcmV2aW91c1NvcnRLZXksIHByZXZpb3VzU29ydERpcl07XG4gIH1cblxuICBwcml2YXRlIGdldERlZmF1bHRzKHNvdXJjZTogc3RyaW5nKTogc3RyaW5nW10ge1xuICAgIGlmIChzb3VyY2UgPT09ICdwZXJzb25hbC1maWxlcycgfHwgc291cmNlID09PSAnbGlicmFyaWVzLWZpbGVzJykge1xuICAgICAgcmV0dXJuIFsnbmFtZScsICdhc2MnXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFsnbW9kaWZpZWRBdCcsICdkZXNjJ107XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRDdXN0b21Ob2Rlc09yZGVySWZOb05vZGVzKFxuICAgIG5vZGVzOiBOb2RlUGFnaW5nIHwgRmF2b3JpdGVQYWdpbmcgfCBTaGFyZWRMaW5rUGFnaW5nIHwgUmVzdWx0U2V0UGFnaW5nLFxuICAgIGlzQ2xpZW50OiBib29sZWFuLFxuICAgIHByZXZpb3VzU29ydEtleTogc3RyaW5nLFxuICAgIHByZXZpb3VzU29ydERpcjogc3RyaW5nLFxuICAgIHNvcnRLZXk6IHN0cmluZyxcbiAgICBzb3J0RGlyZWN0aW9uOiBzdHJpbmdcbiAgKTogc3RyaW5nW10ge1xuICAgIGlmIChub2Rlcykge1xuICAgICAgY29uc3QgZW50cmllcyA9IG5vZGVzLmxpc3QuZW50cmllcy5tYXAoKG9iaikgPT4gb2JqLmVudHJ5LnRhcmdldD8uZmlsZSA/PyBvYmouZW50cnkpO1xuICAgICAgaWYgKGlzQ2xpZW50KSB7XG4gICAgICAgIGlmIChwcmV2aW91c1NvcnRLZXkpIHtcbiAgICAgICAgICB0aGlzLnNvcnQoZW50cmllcywgcHJldmlvdXNTb3J0S2V5LCBwcmV2aW91c1NvcnREaXIpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc29ydChlbnRyaWVzLCBzb3J0S2V5LCBzb3J0RGlyZWN0aW9uKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbnRyaWVzLm1hcCgoZW50cnkpID0+IGVudHJ5LmlkID8/IGVudHJ5Lm5vZGVJZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9jdXN0b21Ob2Rlc09yZGVyO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright © 2005-2024 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
-
*
|
|
4
|
-
* Alfresco Example Content Application
|
|
5
|
-
*
|
|
6
|
-
* This file is part of the Alfresco Example Content Application.
|
|
7
|
-
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
-
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
-
* provided under the following open source license terms:
|
|
10
|
-
*
|
|
11
|
-
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
-
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
-
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
-
* (at your option) any later version.
|
|
15
|
-
*
|
|
16
|
-
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
-
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
-
* GNU Lesser General Public License for more details.
|
|
20
|
-
*
|
|
21
|
-
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
-
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
-
*/
|
|
24
|
-
import { NgModule } from '@angular/core';
|
|
25
|
-
import { AcaViewerComponent } from './components/viewer/viewer.component';
|
|
26
|
-
import { PreviewComponent } from './components/preview/preview.component';
|
|
27
|
-
import { RouterModule } from '@angular/router';
|
|
28
|
-
import * as i0 from "@angular/core";
|
|
29
|
-
import * as i1 from "@angular/router";
|
|
30
|
-
const routes = [
|
|
31
|
-
{
|
|
32
|
-
path: '',
|
|
33
|
-
data: {
|
|
34
|
-
title: 'APP.PREVIEW.TITLE',
|
|
35
|
-
navigateMultiple: true
|
|
36
|
-
},
|
|
37
|
-
component: AcaViewerComponent
|
|
38
|
-
}
|
|
39
|
-
];
|
|
40
|
-
export class AcaViewerModule {
|
|
41
|
-
}
|
|
42
|
-
AcaViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
43
|
-
AcaViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerModule, imports: [i1.RouterModule, AcaViewerComponent, PreviewComponent], exports: [AcaViewerComponent, PreviewComponent] });
|
|
44
|
-
AcaViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerModule, imports: [RouterModule.forChild(routes), AcaViewerComponent, PreviewComponent] });
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AcaViewerModule, decorators: [{
|
|
46
|
-
type: NgModule,
|
|
47
|
-
args: [{
|
|
48
|
-
imports: [RouterModule.forChild(routes), AcaViewerComponent, PreviewComponent],
|
|
49
|
-
exports: [AcaViewerComponent, PreviewComponent]
|
|
50
|
-
}]
|
|
51
|
-
}] });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3ZpZXdlci9zcmMvbGliL3ZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBRXZELE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixJQUFJLEVBQUU7WUFDSixLQUFLLEVBQUUsbUJBQW1CO1lBQzFCLGdCQUFnQixFQUFFLElBQUk7U0FDdkI7UUFDRCxTQUFTLEVBQUUsa0JBQWtCO0tBQzlCO0NBQ0YsQ0FBQztBQU1GLE1BQU0sT0FBTyxlQUFlOzs2R0FBZixlQUFlOzhHQUFmLGVBQWUsNkJBSGUsa0JBQWtCLEVBQUUsZ0JBQWdCLGFBQ25FLGtCQUFrQixFQUFFLGdCQUFnQjs4R0FFbkMsZUFBZSxZQUhoQixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQjs0RkFHbEUsZUFBZTtrQkFKM0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDO29CQUM5RSxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjQgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjYVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92aWV3ZXIvdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQcmV2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3ByZXZpZXcvcHJldmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlLCBSb3V0ZXMgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5jb25zdCByb3V0ZXM6IFJvdXRlcyA9IFtcbiAge1xuICAgIHBhdGg6ICcnLFxuICAgIGRhdGE6IHtcbiAgICAgIHRpdGxlOiAnQVBQLlBSRVZJRVcuVElUTEUnLFxuICAgICAgbmF2aWdhdGVNdWx0aXBsZTogdHJ1ZVxuICAgIH0sXG4gICAgY29tcG9uZW50OiBBY2FWaWV3ZXJDb21wb25lbnRcbiAgfVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1JvdXRlck1vZHVsZS5mb3JDaGlsZChyb3V0ZXMpLCBBY2FWaWV3ZXJDb21wb25lbnQsIFByZXZpZXdDb21wb25lbnRdLFxuICBleHBvcnRzOiBbQWNhVmlld2VyQ29tcG9uZW50LCBQcmV2aWV3Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBBY2FWaWV3ZXJNb2R1bGUge31cbiJdfQ==
|