@alfresco/aca-content 4.0.0 → 4.1.0-5398682428
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/{lib/components/create-menu/create-menu.component.d.ts → about/about.component.d.ts} +15 -16
- package/about/aca-about.module.d.ts +9 -0
- package/about/assets/about.plugin.json +47 -0
- package/about/dev-mode.tokens.d.ts +25 -0
- package/about/index.d.ts +5 -0
- package/about/package-json.token.d.ts +25 -0
- package/about/public-api.d.ts +27 -0
- package/assets/app.extensions.json +158 -131
- package/assets/i18n/ar.json +10 -26
- package/assets/i18n/cs.json +10 -26
- package/assets/i18n/da.json +9 -25
- package/assets/i18n/de.json +8 -24
- package/assets/i18n/en.json +9 -25
- package/assets/i18n/es.json +8 -24
- package/assets/i18n/fi.json +9 -25
- package/assets/i18n/fr.json +9 -25
- package/assets/i18n/it.json +9 -25
- package/assets/i18n/ja.json +9 -25
- package/assets/i18n/nb.json +9 -25
- package/assets/i18n/nl.json +8 -24
- package/assets/i18n/pl.json +10 -26
- package/assets/i18n/pt-BR.json +9 -25
- package/assets/i18n/ru.json +10 -26
- package/assets/i18n/sv.json +9 -25
- package/assets/i18n/zh-CN.json +8 -24
- package/esm2020/about/about.component.mjs +73 -0
- package/esm2020/about/aca-about.module.mjs +46 -0
- package/esm2020/about/alfresco-aca-content-about.mjs +5 -0
- package/esm2020/about/dev-mode.tokens.mjs +26 -0
- package/esm2020/about/package-json.token.mjs +26 -0
- package/esm2020/about/public-api.mjs +28 -0
- package/esm2020/folder-rules/alfresco-aca-content-folder-rules.mjs +5 -0
- package/esm2020/folder-rules/folder-rules.module.mjs +123 -0
- package/esm2020/folder-rules/folder-rules.rules.mjs +28 -0
- package/esm2020/folder-rules/manage-rules/manage-rules.smart-component.mjs +240 -0
- package/esm2020/folder-rules/model/action-parameter-constraint.model.mjs +25 -0
- package/esm2020/folder-rules/model/rule-action.model.mjs +26 -0
- package/esm2020/folder-rules/model/rule-composite-condition.model.mjs +25 -0
- package/esm2020/folder-rules/model/rule-grouping-item.model.mjs +25 -0
- package/esm2020/folder-rules/model/rule-set.model.mjs +25 -0
- package/esm2020/folder-rules/model/rule-simple-condition.model.mjs +25 -0
- package/esm2020/folder-rules/model/rule.model.mjs +25 -0
- package/esm2020/folder-rules/public-api.mjs +26 -0
- package/esm2020/folder-rules/rule-details/actions/rule-action-list.ui-component.mjs +112 -0
- package/esm2020/folder-rules/rule-details/actions/rule-action.ui-component.mjs +277 -0
- package/esm2020/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.mjs +159 -0
- package/esm2020/folder-rules/rule-details/conditions/rule-condition-comparators.mjs +87 -0
- package/esm2020/folder-rules/rule-details/conditions/rule-condition-fields.mjs +62 -0
- package/esm2020/folder-rules/rule-details/conditions/rule-mime-types.mjs +25 -0
- package/esm2020/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.mjs +144 -0
- package/esm2020/folder-rules/rule-details/edit-rule-dialog.ui-component.mjs +70 -0
- package/esm2020/folder-rules/rule-details/options/rule-options.ui-component.mjs +134 -0
- package/esm2020/folder-rules/rule-details/rule-details.ui-component.mjs +166 -0
- package/esm2020/folder-rules/rule-details/triggers/rule-triggers.ui-component.mjs +85 -0
- package/esm2020/folder-rules/rule-details/validators/rule-actions.validator.mjs +37 -0
- package/esm2020/folder-rules/rule-details/validators/rule-composite-condition.validator.mjs +31 -0
- package/esm2020/folder-rules/rule-list/rule-list/rule-list.ui-component.mjs +142 -0
- package/esm2020/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.mjs +77 -0
- package/esm2020/folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.mjs +56 -0
- package/esm2020/folder-rules/rule-set-picker/rule-set-picker.smart-component.mjs +104 -0
- package/esm2020/folder-rules/services/actions.service.mjs +114 -0
- package/esm2020/folder-rules/services/folder-rule-sets.service.mjs +221 -0
- package/esm2020/folder-rules/services/folder-rules.service.mjs +193 -0
- package/esm2020/lib/aca-content.module.mjs +56 -91
- package/esm2020/lib/aca-content.routes.mjs +28 -28
- package/esm2020/lib/components/common/common.module.mjs +8 -39
- package/esm2020/lib/components/common/language-picker/language-picker.component.mjs +18 -11
- package/esm2020/lib/components/common/location-link/location-link.component.mjs +17 -16
- package/esm2020/lib/components/common/logout/logout.component.mjs +16 -9
- package/esm2020/lib/components/common/toggle-shared/toggle-shared.component.mjs +29 -18
- package/esm2020/lib/components/common/user-info/user-info.component.mjs +24 -13
- package/esm2020/lib/components/context-menu/context-menu-item.component.mjs +16 -10
- package/esm2020/lib/components/context-menu/context-menu-outside-event.directive.mjs +5 -4
- package/esm2020/lib/components/context-menu/context-menu.component.mjs +29 -15
- package/esm2020/lib/components/context-menu/context-menu.service.mjs +5 -6
- package/esm2020/lib/components/details/details.component.mjs +41 -23
- package/esm2020/lib/components/dl-custom-components/document-list-custom-components.module.mjs +7 -15
- package/esm2020/lib/components/dl-custom-components/name-column/name-column.component.mjs +16 -16
- package/esm2020/lib/components/dl-custom-components/tags-column/tags-column.component.mjs +34 -12
- package/esm2020/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.mjs +32 -15
- package/esm2020/lib/components/favorite-libraries/favorite-libraries.component.mjs +17 -28
- package/esm2020/lib/components/favorites/favorites.component.mjs +18 -34
- package/esm2020/lib/components/files/files.component.mjs +28 -43
- package/esm2020/lib/components/home/home.component.mjs +7 -6
- package/esm2020/lib/components/info-drawer/comments-tab/comments-tab.component.mjs +15 -10
- package/esm2020/lib/components/info-drawer/info.drawer.module.mjs +28 -47
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.mjs +39 -17
- package/esm2020/lib/components/info-drawer/library-metadata-tab/library-metadata-tab.component.mjs +10 -7
- package/esm2020/lib/components/info-drawer/metadata-tab/metadata-tab.component.mjs +13 -12
- package/esm2020/lib/components/info-drawer/versions-tab/versions-tab.component.mjs +18 -10
- package/esm2020/lib/components/libraries/libraries.component.mjs +17 -27
- package/esm2020/lib/components/recent-files/recent-files.component.mjs +18 -37
- package/esm2020/lib/components/search/search-action-menu/search-action-menu.component.mjs +3 -3
- package/esm2020/lib/components/search/search-input/search-input.component.mjs +11 -6
- package/esm2020/lib/components/search/search-input-control/search-input-control.component.mjs +5 -5
- package/esm2020/lib/components/search/search-input.module.mjs +4 -4
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-query-builder.service.mjs +5 -6
- package/esm2020/lib/components/search/search-libraries-results/search-libraries-results.component.mjs +21 -30
- package/esm2020/lib/components/search/search-navigation.service.mjs +3 -3
- package/esm2020/lib/components/search/search-results/search-results.component.mjs +33 -41
- package/esm2020/lib/components/search/search-results-row/search-results-row.component.mjs +6 -7
- package/esm2020/lib/components/search/search-results.module.mjs +31 -23
- package/esm2020/lib/components/shared-files/shared-files.component.mjs +18 -34
- package/esm2020/lib/components/shared-link-view/shared-link-view.component.mjs +9 -7
- package/esm2020/lib/components/shared-link-view/shared-link-view.module.mjs +5 -9
- package/esm2020/lib/components/sidenav/components/button-menu.component.mjs +5 -5
- package/esm2020/lib/components/sidenav/components/expand-menu.component.mjs +5 -5
- package/esm2020/lib/components/sidenav/components/sidenav-header.component.mjs +5 -5
- package/esm2020/lib/components/sidenav/directives/action.directive.mjs +3 -3
- package/esm2020/lib/components/sidenav/directives/active-link.directive.mjs +3 -3
- package/esm2020/lib/components/sidenav/directives/expansion-panel.directive.mjs +3 -3
- package/esm2020/lib/components/sidenav/directives/menu-panel.directive.mjs +3 -3
- package/esm2020/lib/components/sidenav/sidenav.component.mjs +3 -3
- package/esm2020/lib/components/sidenav/sidenav.module.mjs +11 -9
- package/esm2020/lib/components/sidenav/user-menu/user-menu.component.mjs +96 -0
- package/esm2020/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.mjs +10 -17
- package/esm2020/lib/components/toolbar/toggle-favorite/toggle-favorite.component.mjs +3 -3
- package/esm2020/lib/components/toolbar/toggle-favorite-library/toggle-favorite-library.component.mjs +3 -3
- package/esm2020/lib/components/toolbar/toggle-info-drawer/toggle-info-drawer.component.mjs +3 -3
- package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-button.component.mjs +3 -3
- package/esm2020/lib/components/toolbar/toggle-join-library/toggle-join-library-menu.component.mjs +3 -3
- package/esm2020/lib/components/toolbar/toolbar.module.mjs +7 -13
- package/esm2020/lib/components/toolbar/view-node/view-node.component.mjs +3 -3
- package/esm2020/lib/components/trashcan/trashcan.component.mjs +37 -29
- package/esm2020/lib/components/upload-files-dialog/upload-files-dialog.component.mjs +3 -3
- package/esm2020/lib/components/view-profile/view-profile.component.mjs +35 -16
- package/esm2020/lib/components/view-profile/view-profile.guard.mjs +5 -5
- package/esm2020/lib/dialogs/node-template/create-from-template.dialog.mjs +16 -15
- package/esm2020/lib/directives/directives.module.mjs +4 -4
- package/esm2020/lib/directives/document-list.directive.mjs +3 -3
- package/esm2020/lib/extensions/core.extensions.module.mjs +4 -4
- package/esm2020/lib/material.module.mjs +4 -4
- package/esm2020/lib/services/content-management.service.mjs +3 -3
- package/esm2020/lib/services/content-service-extension.service.mjs +3 -3
- package/esm2020/lib/services/content-url.service.mjs +3 -3
- package/esm2020/lib/services/node-actions.service.mjs +5 -5
- package/esm2020/lib/services/node-template.service.mjs +3 -3
- package/esm2020/lib/store/app-store.module.mjs +4 -4
- package/esm2020/lib/store/effects/app.effects.mjs +3 -3
- package/esm2020/lib/store/effects/contextmenu.effects.mjs +3 -3
- package/esm2020/lib/store/effects/download.effects.mjs +3 -3
- package/esm2020/lib/store/effects/favorite.effects.mjs +3 -3
- package/esm2020/lib/store/effects/library.effects.mjs +3 -3
- package/esm2020/lib/store/effects/node.effects.mjs +3 -3
- package/esm2020/lib/store/effects/search.effects.mjs +3 -3
- package/esm2020/lib/store/effects/template.effects.mjs +3 -3
- package/esm2020/lib/store/effects/upload.effects.mjs +5 -5
- package/esm2020/lib/store/effects/viewer.effects.mjs +5 -5
- package/esm2020/ms-office/actions/aos.actions.mjs +31 -0
- package/esm2020/ms-office/alfresco-aca-content-ms-office.mjs +5 -0
- package/esm2020/ms-office/aos-extension.module.mjs +54 -0
- package/esm2020/ms-office/aos-extension.service.mjs +134 -0
- package/esm2020/ms-office/effects/aos.effects.mjs +48 -0
- package/esm2020/ms-office/public-api.mjs +28 -0
- package/esm2020/preview/alfresco-aca-content-preview.mjs +5 -0
- package/esm2020/preview/lib/components/preview.component.mjs +406 -0
- package/esm2020/preview/lib/preview.module.mjs +84 -0
- package/esm2020/preview/public-api.mjs +29 -0
- package/esm2020/viewer/alfresco-aca-content-viewer.mjs +5 -0
- package/esm2020/viewer/lib/components/viewer/viewer.component.mjs +402 -0
- package/esm2020/viewer/lib/viewer.module.mjs +81 -0
- package/esm2020/viewer/public-api.mjs +29 -0
- package/fesm2015/alfresco-aca-content-about.mjs +194 -0
- package/fesm2015/alfresco-aca-content-about.mjs.map +1 -0
- package/fesm2015/alfresco-aca-content-folder-rules.mjs +2479 -0
- package/fesm2015/alfresco-aca-content-folder-rules.mjs.map +1 -0
- package/fesm2015/alfresco-aca-content-ms-office.mjs +260 -0
- package/fesm2015/alfresco-aca-content-ms-office.mjs.map +1 -0
- package/fesm2015/alfresco-aca-content-preview.mjs +495 -0
- package/fesm2015/alfresco-aca-content-preview.mjs.map +1 -0
- package/fesm2015/alfresco-aca-content-viewer.mjs +491 -0
- package/fesm2015/alfresco-aca-content-viewer.mjs.map +1 -0
- package/fesm2015/alfresco-aca-content.mjs +3484 -3874
- package/fesm2015/alfresco-aca-content.mjs.map +1 -1
- package/fesm2020/alfresco-aca-content-about.mjs +194 -0
- package/fesm2020/alfresco-aca-content-about.mjs.map +1 -0
- package/fesm2020/alfresco-aca-content-folder-rules.mjs +2538 -0
- package/fesm2020/alfresco-aca-content-folder-rules.mjs.map +1 -0
- package/fesm2020/alfresco-aca-content-ms-office.mjs +282 -0
- package/fesm2020/alfresco-aca-content-ms-office.mjs.map +1 -0
- package/fesm2020/alfresco-aca-content-preview.mjs +511 -0
- package/fesm2020/alfresco-aca-content-preview.mjs.map +1 -0
- package/fesm2020/alfresco-aca-content-viewer.mjs +504 -0
- package/fesm2020/alfresco-aca-content-viewer.mjs.map +1 -0
- package/fesm2020/alfresco-aca-content.mjs +4649 -5022
- package/fesm2020/alfresco-aca-content.mjs.map +1 -1
- package/folder-rules/assets/folder-rules.plugin.json +71 -0
- package/folder-rules/assets/i18n/ar.json +144 -0
- package/folder-rules/assets/i18n/cs.json +144 -0
- package/folder-rules/assets/i18n/da.json +144 -0
- package/folder-rules/assets/i18n/de.json +144 -0
- package/folder-rules/assets/i18n/en.json +144 -0
- package/folder-rules/assets/i18n/es.json +144 -0
- package/folder-rules/assets/i18n/fi.json +144 -0
- package/folder-rules/assets/i18n/fr.json +144 -0
- package/folder-rules/assets/i18n/it.json +144 -0
- package/folder-rules/assets/i18n/ja.json +144 -0
- package/folder-rules/assets/i18n/nb.json +144 -0
- package/folder-rules/assets/i18n/nl.json +144 -0
- package/folder-rules/assets/i18n/pl.json +144 -0
- package/folder-rules/assets/i18n/pt-BR.json +144 -0
- package/folder-rules/assets/i18n/ru.json +144 -0
- package/folder-rules/assets/i18n/sv.json +144 -0
- package/folder-rules/assets/i18n/zh-CN.json +144 -0
- package/folder-rules/folder-rules.module.d.ts +51 -0
- package/folder-rules/folder-rules.rules.d.ts +27 -0
- package/folder-rules/index.d.ts +5 -0
- package/folder-rules/manage-rules/manage-rules.smart-component.d.ts +87 -0
- package/folder-rules/model/action-parameter-constraint.model.d.ts +31 -0
- package/folder-rules/model/rule-action.model.d.ts +48 -0
- package/folder-rules/model/rule-composite-condition.model.d.ts +30 -0
- package/folder-rules/model/rule-grouping-item.model.d.ts +34 -0
- package/folder-rules/model/rule-set.model.d.ts +34 -0
- package/folder-rules/model/rule-simple-condition.model.d.ts +28 -0
- package/folder-rules/model/rule.model.d.ts +58 -0
- package/folder-rules/public-api.d.ts +25 -0
- package/folder-rules/rule-details/actions/rule-action-list.ui-component.d.ts +47 -0
- package/folder-rules/rule-details/actions/rule-action.ui-component.d.ts +75 -0
- package/folder-rules/rule-details/conditions/rule-composite-condition.ui-component.d.ts +60 -0
- package/folder-rules/rule-details/conditions/rule-condition-comparators.d.ts +30 -0
- package/folder-rules/rule-details/conditions/rule-condition-fields.d.ts +31 -0
- package/folder-rules/rule-details/conditions/rule-mime-types.d.ts +27 -0
- package/folder-rules/rule-details/conditions/rule-simple-condition.ui-component.d.ts +62 -0
- package/folder-rules/rule-details/edit-rule-dialog.ui-component.d.ts +53 -0
- package/folder-rules/rule-details/options/rule-options.ui-component.d.ts +55 -0
- package/folder-rules/rule-details/rule-details.ui-component.d.ts +54 -0
- package/folder-rules/rule-details/triggers/rule-triggers.ui-component.d.ts +43 -0
- package/folder-rules/rule-details/validators/rule-actions.validator.d.ts +27 -0
- package/folder-rules/rule-details/validators/rule-composite-condition.validator.d.ts +25 -0
- package/folder-rules/rule-list/rule-list/rule-list.ui-component.d.ts +57 -0
- package/folder-rules/rule-list/rule-list-grouping/rule-list-grouping.ui-component.d.ts +44 -0
- package/{lib/components/node-version/node-version-form.component.d.ts → folder-rules/rule-list/rule-list-item/rule-list-item.ui-component.d.ts} +10 -21
- package/folder-rules/rule-set-picker/rule-set-picker.smart-component.d.ts +61 -0
- package/folder-rules/services/actions.service.d.ts +28 -0
- package/folder-rules/services/folder-rule-sets.service.d.ts +49 -0
- package/folder-rules/services/folder-rules.service.d.ts +41 -0
- package/lib/aca-content.module.d.ts +37 -37
- package/lib/components/common/common.module.d.ts +29 -17
- package/lib/components/common/language-picker/language-picker.component.d.ts +1 -1
- package/lib/components/common/location-link/location-link.component.d.ts +1 -6
- package/lib/components/common/logout/logout.component.d.ts +2 -3
- package/lib/components/common/toggle-shared/toggle-shared.component.d.ts +9 -6
- package/lib/components/common/user-info/user-info.component.d.ts +15 -3
- 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 +1 -1
- package/lib/components/details/details.component.d.ts +3 -6
- package/lib/components/dl-custom-components/document-list-custom-components.module.d.ts +4 -8
- package/lib/components/dl-custom-components/name-column/name-column.component.d.ts +3 -3
- package/lib/components/dl-custom-components/tags-column/tags-column.component.d.ts +5 -28
- package/lib/components/dl-custom-components/thumbnail-column/thumbnail-column.component.d.ts +32 -12
- package/lib/components/favorite-libraries/favorite-libraries.component.d.ts +3 -8
- package/lib/components/favorites/favorites.component.d.ts +2 -12
- package/lib/components/files/files.component.d.ts +6 -15
- package/lib/components/info-drawer/comments-tab/comments-tab.component.d.ts +28 -3
- package/lib/components/info-drawer/info.drawer.module.d.ts +5 -12
- package/lib/components/info-drawer/library-metadata-tab/library-metadata-form.component.d.ts +5 -4
- 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 +2 -2
- package/lib/components/info-drawer/versions-tab/versions-tab.component.d.ts +1 -1
- package/lib/components/libraries/libraries.component.d.ts +2 -31
- package/lib/components/recent-files/recent-files.component.d.ts +2 -13
- package/lib/components/search/search-input/search-input.component.d.ts +2 -1
- package/lib/components/search/search-libraries-results/search-libraries-results.component.d.ts +2 -31
- package/lib/components/search/search-results/search-results.component.d.ts +7 -13
- package/lib/components/search/search-results-row/search-results-row.component.d.ts +1 -1
- package/lib/components/search/search-results.module.d.ts +7 -5
- package/lib/components/shared-files/shared-files.component.d.ts +2 -11
- package/lib/components/shared-link-view/shared-link-view.component.d.ts +3 -2
- package/lib/components/shared-link-view/shared-link-view.module.d.ts +5 -6
- package/lib/components/sidenav/sidenav.module.d.ts +5 -5
- package/lib/components/sidenav/user-menu/user-menu.component.d.ts +58 -0
- package/lib/components/toolbar/toggle-edit-offline/toggle-edit-offline.component.d.ts +2 -1
- package/lib/components/toolbar/toolbar.module.d.ts +13 -15
- package/lib/components/trashcan/trashcan.component.d.ts +4 -35
- package/lib/components/view-profile/view-profile.component.d.ts +11 -4
- package/lib/components/view-profile/view-profile.guard.d.ts +2 -2
- package/lib/dialogs/node-template/create-from-template.dialog.d.ts +2 -2
- package/lib/store/effects/upload.effects.d.ts +3 -3
- package/ms-office/actions/aos.actions.d.ts +31 -0
- package/ms-office/aos-extension.module.d.ts +34 -0
- package/ms-office/aos-extension.service.d.ts +48 -0
- package/ms-office/assets/aos.plugin.json +74 -0
- package/ms-office/assets/i18n/ar.json +10 -0
- package/ms-office/assets/i18n/cs.json +10 -0
- package/ms-office/assets/i18n/da.json +10 -0
- package/ms-office/assets/i18n/de.json +10 -0
- package/ms-office/assets/i18n/en.json +10 -0
- package/ms-office/assets/i18n/es.json +10 -0
- package/ms-office/assets/i18n/fi.json +10 -0
- package/ms-office/assets/i18n/fr.json +10 -0
- package/ms-office/assets/i18n/it.json +10 -0
- package/ms-office/assets/i18n/ja.json +10 -0
- package/ms-office/assets/i18n/nb.json +10 -0
- package/ms-office/assets/i18n/nl.json +10 -0
- package/ms-office/assets/i18n/pl.json +10 -0
- package/ms-office/assets/i18n/pt-BR.json +10 -0
- package/ms-office/assets/i18n/ru.json +10 -0
- package/ms-office/assets/i18n/sv.json +10 -0
- package/ms-office/assets/i18n/zh-CN.json +10 -0
- package/ms-office/effects/aos.effects.d.ts +11 -0
- package/ms-office/index.d.ts +5 -0
- package/ms-office/public-api.d.ts +27 -0
- package/package.json +53 -2
- package/preview/index.d.ts +5 -0
- package/preview/lib/components/preview.component.d.ts +115 -0
- package/preview/lib/preview.module.d.ts +13 -0
- package/preview/public-api.d.ts +25 -0
- package/ui/application.scss +8 -0
- package/ui/overrides/adf-about.theme.scss +0 -5
- package/ui/overrides/adf-pagination.theme.scss +0 -1
- package/ui/overrides/ay11.scss +1 -1
- package/ui/variables/variables.scss +6 -13
- package/viewer/index.d.ts +5 -0
- package/viewer/lib/components/viewer/viewer.component.d.ts +111 -0
- package/viewer/lib/viewer.module.d.ts +13 -0
- package/viewer/public-api.d.ts +25 -0
- package/esm2020/lib/components/context-menu/context-menu.module.mjs +0 -76
- package/esm2020/lib/components/create-menu/create-menu.component.mjs +0 -73
- package/esm2020/lib/components/create-menu/create-menu.module.mjs +0 -44
- package/esm2020/lib/components/node-version/node-version-form.component.mjs +0 -70
- package/esm2020/lib/components/node-version/node-version.module.mjs +0 -78
- package/esm2020/lib/components/toolbar/document-display-mode/document-display-mode.component.mjs +0 -84
- package/esm2020/lib/components/trashcan/trashcan.module.mjs +0 -74
- package/esm2020/lib/components/view-profile/view-profile.module.mjs +0 -42
- package/lib/components/context-menu/context-menu.module.d.ts +0 -18
- package/lib/components/create-menu/create-menu.module.d.ts +0 -10
- package/lib/components/node-version/node-version.module.d.ts +0 -16
- package/lib/components/toolbar/document-display-mode/document-display-mode.component.d.ts +0 -13
- package/lib/components/trashcan/trashcan.module.d.ts +0 -16
- package/lib/components/view-profile/view-profile.module.d.ts +0 -9
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Alfresco Example Content Application
|
|
5
|
+
*
|
|
6
|
+
* This file is part of the Alfresco Example Content Application.
|
|
7
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
+
* provided under the following open source license terms:
|
|
10
|
+
*
|
|
11
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
+
* (at your option) any later version.
|
|
15
|
+
*
|
|
16
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
* GNU Lesser General Public License for more details.
|
|
20
|
+
*
|
|
21
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
+
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
+
*/
|
|
24
|
+
import { AppExtensionService, AppHookService, ContentApiService } from '@alfresco/aca-shared';
|
|
25
|
+
import { getAppSelection, isInfoDrawerOpened, ReloadDocumentListAction, SetCurrentNodeVersionAction, SetSelectedNodesAction, ViewerActionTypes, ViewNodeAction } from '@alfresco/aca-shared/store';
|
|
26
|
+
import { VersionsApi } from '@alfresco/js-api';
|
|
27
|
+
import { Component, HostListener, ViewEncapsulation } from '@angular/core';
|
|
28
|
+
import { ActivatedRoute, PRIMARY_OUTLET, Router } from '@angular/router';
|
|
29
|
+
import { AlfrescoApiService, ObjectUtils, UserPreferencesService } 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 { NodesApiService, UploadService } from '@alfresco/adf-content-services';
|
|
35
|
+
import * as i0 from "@angular/core";
|
|
36
|
+
import * as i1 from "@angular/router";
|
|
37
|
+
import * as i2 from "@ngrx/store";
|
|
38
|
+
import * as i3 from "@alfresco/aca-shared";
|
|
39
|
+
import * as i4 from "@ngrx/effects";
|
|
40
|
+
import * as i5 from "@alfresco/adf-core";
|
|
41
|
+
import * as i6 from "@alfresco/adf-content-services";
|
|
42
|
+
import * as i7 from "@angular/common";
|
|
43
|
+
export class AcaViewerComponent {
|
|
44
|
+
constructor(router, route, store, extensions, contentApi, actions$, preferences, apiService, nodesApiService, uploadService, appHookService) {
|
|
45
|
+
this.router = router;
|
|
46
|
+
this.route = route;
|
|
47
|
+
this.store = store;
|
|
48
|
+
this.extensions = extensions;
|
|
49
|
+
this.contentApi = contentApi;
|
|
50
|
+
this.actions$ = actions$;
|
|
51
|
+
this.preferences = preferences;
|
|
52
|
+
this.apiService = apiService;
|
|
53
|
+
this.nodesApiService = nodesApiService;
|
|
54
|
+
this.uploadService = uploadService;
|
|
55
|
+
this.appHookService = appHookService;
|
|
56
|
+
this.onDestroy$ = new Subject();
|
|
57
|
+
this.folderId = null;
|
|
58
|
+
this.nodeId = null;
|
|
59
|
+
this.versionId = null;
|
|
60
|
+
this.showRightSide = false;
|
|
61
|
+
this.openWith = [];
|
|
62
|
+
this.toolbarActions = [];
|
|
63
|
+
this.navigateSource = null;
|
|
64
|
+
this.navigateMultiple = true;
|
|
65
|
+
this.routesSkipNavigation = ['shared', 'recent-files', 'favorites'];
|
|
66
|
+
this.navigationSources = ['favorites', 'libraries', 'personal-files', 'recent-files', 'shared'];
|
|
67
|
+
this.recentFileFilters = [
|
|
68
|
+
'TYPE:"content"',
|
|
69
|
+
'-PNAME:"0/wiki"',
|
|
70
|
+
'-TYPE:"app:filelink"',
|
|
71
|
+
'-TYPE:"fm:post"',
|
|
72
|
+
'-TYPE:"cm:thumbnail"',
|
|
73
|
+
'-TYPE:"cm:failedThumbnail"',
|
|
74
|
+
'-TYPE:"cm:rating"',
|
|
75
|
+
'-TYPE:"dl:dataList"',
|
|
76
|
+
'-TYPE:"dl:todoList"',
|
|
77
|
+
'-TYPE:"dl:issue"',
|
|
78
|
+
'-TYPE:"dl:contact"',
|
|
79
|
+
'-TYPE:"dl:eventAgenda"',
|
|
80
|
+
'-TYPE:"dl:event"',
|
|
81
|
+
'-TYPE:"dl:task"',
|
|
82
|
+
'-TYPE:"dl:simpletask"',
|
|
83
|
+
'-TYPE:"dl:meetingAgenda"',
|
|
84
|
+
'-TYPE:"dl:location"',
|
|
85
|
+
'-TYPE:"fm:topic"',
|
|
86
|
+
'-TYPE:"fm:post"',
|
|
87
|
+
'-TYPE:"ia:calendarEvent"',
|
|
88
|
+
'-TYPE:"lnk:link"'
|
|
89
|
+
];
|
|
90
|
+
this.containersSkipNavigation = ['adf-viewer__sidebar', 'cdk-overlay-container', 'adf-image-viewer'];
|
|
91
|
+
}
|
|
92
|
+
get versionsApi() {
|
|
93
|
+
this._versionsApi = this._versionsApi ?? new VersionsApi(this.apiService.getInstance());
|
|
94
|
+
return this._versionsApi;
|
|
95
|
+
}
|
|
96
|
+
ngOnInit() {
|
|
97
|
+
this.infoDrawerOpened$ = this.store.select(isInfoDrawerOpened);
|
|
98
|
+
from(this.infoDrawerOpened$)
|
|
99
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
100
|
+
.subscribe((val) => {
|
|
101
|
+
this.showRightSide = val;
|
|
102
|
+
});
|
|
103
|
+
this.store
|
|
104
|
+
.select(getAppSelection)
|
|
105
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
106
|
+
.subscribe((selection) => {
|
|
107
|
+
this.selection = selection;
|
|
108
|
+
});
|
|
109
|
+
this.extensions
|
|
110
|
+
.getViewerToolbarActions()
|
|
111
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
112
|
+
.subscribe((actions) => {
|
|
113
|
+
this.toolbarActions = actions;
|
|
114
|
+
});
|
|
115
|
+
this.extensions
|
|
116
|
+
.getOpenWithActions()
|
|
117
|
+
.pipe(takeUntil(this.onDestroy$))
|
|
118
|
+
.subscribe((actions) => {
|
|
119
|
+
this.openWith = actions;
|
|
120
|
+
});
|
|
121
|
+
this.route.params.subscribe((params) => {
|
|
122
|
+
this.folderId = params.folderId;
|
|
123
|
+
const { nodeId } = params;
|
|
124
|
+
this.versionId = params.versionId;
|
|
125
|
+
if (this.versionId) {
|
|
126
|
+
this.versionsApi.getVersion(nodeId, this.versionId).then((version) => {
|
|
127
|
+
if (version) {
|
|
128
|
+
this.store.dispatch(new SetCurrentNodeVersionAction(version));
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
if (nodeId) {
|
|
133
|
+
this.displayNode(nodeId);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
this.route.queryParams.subscribe((params) => {
|
|
137
|
+
this.navigationPath = params.path || params.location;
|
|
138
|
+
});
|
|
139
|
+
if (this.route.snapshot.data && this.route.snapshot.data.navigateSource) {
|
|
140
|
+
const source = this.route.snapshot.data.navigateSource.toLowerCase();
|
|
141
|
+
if (this.navigationSources.includes(source)) {
|
|
142
|
+
this.navigateSource = this.route.snapshot.data.navigateSource;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
this.actions$.pipe(ofType(ViewerActionTypes.ClosePreview), takeUntil(this.onDestroy$)).subscribe(() => {
|
|
146
|
+
this.store.dispatch(new SetCurrentNodeVersionAction(null));
|
|
147
|
+
this.navigateToFileLocation();
|
|
148
|
+
});
|
|
149
|
+
this.actions$
|
|
150
|
+
.pipe(ofType(ViewerActionTypes.RefreshPreview), takeUntil(this.onDestroy$))
|
|
151
|
+
.subscribe((action) => {
|
|
152
|
+
this.displayNode(action?.payload?.entry?.id);
|
|
153
|
+
});
|
|
154
|
+
this.appHookService.nodesDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());
|
|
155
|
+
this.uploadService.fileUploadDeleted.pipe(takeUntil(this.onDestroy$)).subscribe(() => this.navigateToFileLocation());
|
|
156
|
+
this.uploadService.fileUploadComplete.pipe(debounceTime(300), takeUntil(this.onDestroy$)).subscribe((file) => {
|
|
157
|
+
this.nodesApiService.nodeUpdated.next(file.data.entry);
|
|
158
|
+
this.displayNode(file.data.entry.id);
|
|
159
|
+
});
|
|
160
|
+
this.previewLocation = this.router.url.substring(0, this.router.url.indexOf('/', 1)).replace(/\//g, '');
|
|
161
|
+
}
|
|
162
|
+
onViewerVisibilityChanged() {
|
|
163
|
+
this.store.dispatch(new ReloadDocumentListAction());
|
|
164
|
+
this.navigateToFileLocation();
|
|
165
|
+
}
|
|
166
|
+
ngOnDestroy() {
|
|
167
|
+
this.store.dispatch(new SetCurrentNodeVersionAction(null));
|
|
168
|
+
this.onDestroy$.next(true);
|
|
169
|
+
this.onDestroy$.complete();
|
|
170
|
+
}
|
|
171
|
+
trackByActionId(_, obj) {
|
|
172
|
+
return obj.id;
|
|
173
|
+
}
|
|
174
|
+
async displayNode(nodeId) {
|
|
175
|
+
if (nodeId) {
|
|
176
|
+
try {
|
|
177
|
+
this.node = await this.contentApi.getNodeInfo(nodeId).toPromise();
|
|
178
|
+
this.store.dispatch(new SetSelectedNodesAction([{ entry: this.node }]));
|
|
179
|
+
this.navigateMultiple = this.extensions.canShowViewerNavigation({ entry: this.node });
|
|
180
|
+
if (!this.navigateMultiple) {
|
|
181
|
+
this.nodeId = this.node.id;
|
|
182
|
+
this.fileName = this.node.name + this.node?.properties?.['cm:versionLabel'];
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
if (this.node && this.node.isFile) {
|
|
186
|
+
const nearest = await this.getNearestNodes(this.node.id, this.node.parentId);
|
|
187
|
+
this.nodeId = this.node.id;
|
|
188
|
+
this.previousNodeId = nearest.left;
|
|
189
|
+
this.nextNodeId = nearest.right;
|
|
190
|
+
this.fileName = this.node.name + this.node?.properties?.['cm:versionLabel'];
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
const statusCode = JSON.parse(error.message).error.statusCode;
|
|
196
|
+
if (statusCode !== 401) {
|
|
197
|
+
this.router.navigate([this.previewLocation, { outlets: { viewer: null } }]).then(() => {
|
|
198
|
+
this.router.navigate([this.previewLocation, nodeId]);
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
onNavigateBefore(event) {
|
|
205
|
+
if (event.type !== 'click' && this.shouldNavigate(event.target)) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
const location = this.getFileLocation();
|
|
209
|
+
this.store.dispatch(new ViewNodeAction(this.previousNodeId, { location }));
|
|
210
|
+
}
|
|
211
|
+
onNavigateNext(event) {
|
|
212
|
+
if (event.type !== 'click' && this.shouldNavigate(event.target)) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
const location = this.getFileLocation();
|
|
216
|
+
this.store.dispatch(new ViewNodeAction(this.nextNodeId, { location }));
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Retrieves nearest node information for the given node and folder.
|
|
220
|
+
*
|
|
221
|
+
* @param nodeId Unique identifier of the document node
|
|
222
|
+
* @param folderId Unique identifier of the containing folder node.
|
|
223
|
+
*/
|
|
224
|
+
async getNearestNodes(nodeId, folderId) {
|
|
225
|
+
const empty = {
|
|
226
|
+
left: null,
|
|
227
|
+
right: null
|
|
228
|
+
};
|
|
229
|
+
if (nodeId && folderId) {
|
|
230
|
+
try {
|
|
231
|
+
const ids = await this.getFileIds(this.navigateSource, folderId);
|
|
232
|
+
const idx = ids.indexOf(nodeId);
|
|
233
|
+
if (idx >= 0) {
|
|
234
|
+
return {
|
|
235
|
+
left: ids[idx - 1] || null,
|
|
236
|
+
right: ids[idx + 1] || null
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
return empty;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
return empty;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
return empty;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Retrieves a list of node identifiers for the folder and data source.
|
|
253
|
+
*
|
|
254
|
+
* @param source Data source name. Allowed values are: personal-files, libraries, favorites, shared, recent-files.
|
|
255
|
+
* @param folderId Containing folder node identifier for 'personal-files' and 'libraries' sources.
|
|
256
|
+
*/
|
|
257
|
+
async getFileIds(source, folderId) {
|
|
258
|
+
if ((source === 'personal-files' || source === 'libraries') && folderId) {
|
|
259
|
+
const sortKey = this.preferences.get('personal-files.sorting.key') || 'modifiedAt';
|
|
260
|
+
const sortDirection = this.preferences.get('personal-files.sorting.direction') || 'desc';
|
|
261
|
+
const nodes = await this.contentApi
|
|
262
|
+
.getNodeChildren(folderId, {
|
|
263
|
+
// orderBy: `${sortKey} ${sortDirection}`,
|
|
264
|
+
fields: ['id', this.getRootField(sortKey)],
|
|
265
|
+
where: '(isFile=true)'
|
|
266
|
+
})
|
|
267
|
+
.toPromise();
|
|
268
|
+
const entries = nodes.list.entries.map((obj) => obj.entry);
|
|
269
|
+
this.sort(entries, sortKey, sortDirection);
|
|
270
|
+
return entries.map((obj) => obj.id);
|
|
271
|
+
}
|
|
272
|
+
if (source === 'favorites') {
|
|
273
|
+
const nodes = await this.contentApi
|
|
274
|
+
.getFavorites('-me-', {
|
|
275
|
+
where: '(EXISTS(target/file))',
|
|
276
|
+
fields: ['target']
|
|
277
|
+
})
|
|
278
|
+
.toPromise();
|
|
279
|
+
const sortKey = this.preferences.get('favorites.sorting.key') || 'modifiedAt';
|
|
280
|
+
const sortDirection = this.preferences.get('favorites.sorting.direction') || 'desc';
|
|
281
|
+
const files = nodes.list.entries.map((obj) => obj.entry.target.file);
|
|
282
|
+
this.sort(files, sortKey, sortDirection);
|
|
283
|
+
return files.map((f) => f.id);
|
|
284
|
+
}
|
|
285
|
+
if (source === 'shared') {
|
|
286
|
+
const sortingKey = this.preferences.get('shared.sorting.key') || 'modifiedAt';
|
|
287
|
+
const sortingDirection = this.preferences.get('shared.sorting.direction') || 'desc';
|
|
288
|
+
const nodes = await this.contentApi
|
|
289
|
+
.findSharedLinks({
|
|
290
|
+
fields: ['nodeId', this.getRootField(sortingKey)]
|
|
291
|
+
})
|
|
292
|
+
.toPromise();
|
|
293
|
+
const entries = nodes.list.entries.map((obj) => obj.entry);
|
|
294
|
+
this.sort(entries, sortingKey, sortingDirection);
|
|
295
|
+
return entries.map((obj) => obj.nodeId);
|
|
296
|
+
}
|
|
297
|
+
if (source === 'recent-files') {
|
|
298
|
+
const person = await this.contentApi.getPerson('-me-').toPromise();
|
|
299
|
+
const username = person.entry.id;
|
|
300
|
+
const sortingKey = this.preferences.get('recent-files.sorting.key') || 'modifiedAt';
|
|
301
|
+
const sortingDirection = this.preferences.get('recent-files.sorting.direction') || 'desc';
|
|
302
|
+
const query = {
|
|
303
|
+
query: {
|
|
304
|
+
query: '*',
|
|
305
|
+
language: 'afts'
|
|
306
|
+
},
|
|
307
|
+
filterQueries: [
|
|
308
|
+
{ query: `cm:modified:[NOW/DAY-30DAYS TO NOW/DAY+1DAY]` },
|
|
309
|
+
{ query: `cm:modifier:${username} OR cm:creator:${username}` },
|
|
310
|
+
{
|
|
311
|
+
query: this.recentFileFilters.join(' AND ')
|
|
312
|
+
}
|
|
313
|
+
],
|
|
314
|
+
fields: ['id', this.getRootField(sortingKey)],
|
|
315
|
+
include: ['path', 'properties', 'allowableOperations'],
|
|
316
|
+
sort: [
|
|
317
|
+
{
|
|
318
|
+
type: 'FIELD',
|
|
319
|
+
field: 'cm:modified',
|
|
320
|
+
ascending: false
|
|
321
|
+
}
|
|
322
|
+
]
|
|
323
|
+
};
|
|
324
|
+
const nodes = await this.contentApi.search(query).toPromise();
|
|
325
|
+
const entries = nodes.list.entries.map((obj) => obj.entry);
|
|
326
|
+
this.sort(entries, sortingKey, sortingDirection);
|
|
327
|
+
return entries.map((obj) => obj.id);
|
|
328
|
+
}
|
|
329
|
+
return [];
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Get the root field name from the property path.
|
|
333
|
+
* Example: 'property1.some.child.property' => 'property1'
|
|
334
|
+
*
|
|
335
|
+
* @param path Property path
|
|
336
|
+
*/
|
|
337
|
+
getRootField(path) {
|
|
338
|
+
if (path) {
|
|
339
|
+
return path.split('.')[0];
|
|
340
|
+
}
|
|
341
|
+
return path;
|
|
342
|
+
}
|
|
343
|
+
handleKeyboardEvent(event) {
|
|
344
|
+
const key = event.keyCode;
|
|
345
|
+
const rightArrow = 39;
|
|
346
|
+
const leftArrow = 37;
|
|
347
|
+
if (key === rightArrow || key === leftArrow) {
|
|
348
|
+
event.preventDefault();
|
|
349
|
+
event.stopImmediatePropagation();
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
sort(items, key, direction) {
|
|
353
|
+
const options = {};
|
|
354
|
+
if (key.includes('sizeInBytes') || key === 'name') {
|
|
355
|
+
options.numeric = true;
|
|
356
|
+
}
|
|
357
|
+
items.sort((a, b) => {
|
|
358
|
+
let left = ObjectUtils.getValue(a, key);
|
|
359
|
+
if (left) {
|
|
360
|
+
left = left instanceof Date ? left.valueOf().toString() : left.toString();
|
|
361
|
+
}
|
|
362
|
+
else {
|
|
363
|
+
left = '';
|
|
364
|
+
}
|
|
365
|
+
let right = ObjectUtils.getValue(b, key);
|
|
366
|
+
if (right) {
|
|
367
|
+
right = right instanceof Date ? right.valueOf().toString() : right.toString();
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
right = '';
|
|
371
|
+
}
|
|
372
|
+
return direction === 'asc' ? left.localeCompare(right, undefined, options) : right.localeCompare(left, undefined, options);
|
|
373
|
+
});
|
|
374
|
+
}
|
|
375
|
+
navigateToFileLocation() {
|
|
376
|
+
const location = this.getFileLocation();
|
|
377
|
+
this.router.navigateByUrl(location);
|
|
378
|
+
}
|
|
379
|
+
getFileLocation() {
|
|
380
|
+
return this.navigationPath || this.router.parseUrl(this.router.url).root.children[PRIMARY_OUTLET].toString();
|
|
381
|
+
}
|
|
382
|
+
shouldNavigate(element) {
|
|
383
|
+
let currentElement = element.parentElement;
|
|
384
|
+
while (currentElement && !this.isChild(currentElement.classList)) {
|
|
385
|
+
currentElement = currentElement.parentElement;
|
|
386
|
+
}
|
|
387
|
+
return !!currentElement;
|
|
388
|
+
}
|
|
389
|
+
isChild(list) {
|
|
390
|
+
return Array.from(list).some((className) => this.containersSkipNavigation.includes(className));
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
AcaViewerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AcaViewerComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i2.Store }, { token: i3.AppExtensionService }, { token: i3.ContentApiService }, { token: i4.Actions }, { token: i5.UserPreferencesService }, { token: i5.AlfrescoApiService }, { token: i6.NodesApiService }, { token: i6.UploadService }, { token: i3.AppHookService }], target: i0.ɵɵFactoryTarget.Component });
|
|
394
|
+
AcaViewerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: AcaViewerComponent, 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 'right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"'viewer.maxRetries' | adfAppConfig\"\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 (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 <ng-container *ngFor=\"let action of toolbarActions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"action\"></aca-toolbar-action>\n </ng-container>\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}.app-viewer .adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.app-viewer .adf-viewer-toolbar .mat-toolbar>button:last-child{display:none}.app-viewer .adf-alfresco-viewer.right_side--hide .adf-viewer__sidebar__right{width:0}\n"], dependencies: [{ 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: "component", type: i5.ViewerSidebarComponent, selector: "adf-viewer-sidebar" }, { kind: "component", type: i5.ViewerOpenWithComponent, selector: "adf-viewer-open-with" }, { kind: "component", type: i5.ViewerToolbarActionsComponent, selector: "adf-viewer-toolbar-actions" }, { kind: "component", type: i6.AlfrescoViewerComponent, selector: "adf-alfresco-viewer", inputs: ["nodeId", "versionId", "sharedLinkId", "showViewer", "maxRetries", "allowGoBack", "showToolbar", "overlayMode", "allowNavigate", "canNavigateBefore", "canNavigateNext", "allowLeftSidebar", "allowRightSidebar", "showRightSidebar", "showLeftSidebar", "allowDownload", "allowPrint", "allowFullScreen", "sidebarRightTemplate", "sidebarLeftTemplate"], outputs: ["invalidSharedLink", "navigateBefore", "navigateNext", "showViewerChange"] }, { kind: "component", type: i3.InfoDrawerComponent, selector: "aca-info-drawer", inputs: ["nodeId", "node"] }, { kind: "component", type: i3.ToolbarActionComponent, selector: "aca-toolbar-action", inputs: ["data", "type", "color", "actionRef"] }, { kind: "component", type: i3.ToolbarMenuItemComponent, selector: "app-toolbar-menu-item", inputs: ["actionRef", "menuId"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.AppConfigPipe, name: "adfAppConfig" }], encapsulation: i0.ViewEncapsulation.None });
|
|
395
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AcaViewerComponent, decorators: [{
|
|
396
|
+
type: Component,
|
|
397
|
+
args: [{ selector: 'aca-viewer', encapsulation: ViewEncapsulation.None, host: { class: 'app-viewer' }, template: "<ng-container *ngIf=\"nodeId\">\n <adf-alfresco-viewer\n [ngClass]=\"{\n 'right_side--hide': !showRightSide\n }\"\n [maxRetries]=\"'viewer.maxRetries' | adfAppConfig\"\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 (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 <ng-container *ngFor=\"let action of toolbarActions; trackBy: trackByActionId\">\n <aca-toolbar-action [actionRef]=\"action\"></aca-toolbar-action>\n </ng-container>\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}.app-viewer .adf-viewer-toolbar-actions .adf-toolbar-divider{display:inline}.app-viewer .adf-viewer-toolbar .mat-toolbar>button:last-child{display:none}.app-viewer .adf-alfresco-viewer.right_side--hide .adf-viewer__sidebar__right{width:0}\n"] }]
|
|
398
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i2.Store }, { type: i3.AppExtensionService }, { type: i3.ContentApiService }, { type: i4.Actions }, { type: i5.UserPreferencesService }, { type: i5.AlfrescoApiService }, { type: i6.NodesApiService }, { type: i6.UploadService }, { type: i3.AppHookService }]; }, propDecorators: { handleKeyboardEvent: [{
|
|
399
|
+
type: HostListener,
|
|
400
|
+
args: ['document:keydown', ['$event']]
|
|
401
|
+
}] } });
|
|
402
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3ZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvdmlld2VyL3ZpZXdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY2EtY29udGVudC92aWV3ZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdlci92aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUdMLGVBQWUsRUFDZixrQkFBa0IsRUFFbEIsd0JBQXdCLEVBQ3hCLDJCQUEyQixFQUMzQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZixNQUFNLDRCQUE0QixDQUFDO0FBRXBDLE9BQU8sRUFBdUQsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEcsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQXFCLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlGLE9BQU8sRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxJQUFJLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQs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QU8sQ0FBQyxDQUFDLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRU8sT0FBTyxDQUFDLElBQWtCO1FBQ2hDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFpQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekcsQ0FBQzs7K0dBOVpVLGtCQUFrQjttR0FBbEIsa0JBQWtCLDRKQ3ZEL0IsbTZDQXNDQTsyRkRpQmEsa0JBQWtCO2tCQVA5QixTQUFTOytCQUNFLFlBQVksaUJBR1AsaUJBQWlCLENBQUMsSUFBSSxRQUMvQixFQUFFLEtBQUssRUFBRSxZQUFZLEVBQUU7bVlBc1c3QixtQkFBbUI7c0JBRGxCLFlBQVk7dUJBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjMgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb25cbiAqXG4gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uLlxuICogSWYgdGhlIHNvZnR3YXJlIHdhcyBwdXJjaGFzZWQgdW5kZXIgYSBwYWlkIEFsZnJlc2NvIGxpY2Vuc2UsIHRoZSB0ZXJtcyBvZlxuICogdGhlIHBhaWQgbGljZW5zZSBhZ3JlZW1lbnQgd2lsbCBwcmV2YWlsLiBPdGhlcndpc2UsIHRoZSBzb2Z0d2FyZSBpc1xuICogcHJvdmlkZWQgdW5kZXIgdGhlIGZvbGxvd2luZyBvcGVuIHNvdXJjZSBsaWNlbnNlIHRlcm1zOlxuICpcbiAqIFRoZSBBbGZyZXNjbyBFeGFtcGxlIENvbnRlbnQgQXBwbGljYXRpb24gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeVxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XG4gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsXG4gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZlxuICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlXG4gKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy5cbiAqXG4gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VcbiAqIGZyb20gSHlsYW5kIFNvZnR3YXJlLiBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uXG4gKi9cblxuaW1wb3J0IHsgQXBwRXh0ZW5zaW9uU2VydmljZSwgQXBwSG9va1NlcnZpY2UsIENvbnRlbnRBcGlTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FjYS1zaGFyZWQnO1xuaW1wb3J0IHtcbiAgQXBwU3RvcmUsXG4gIENsb3NlUHJldmlld0FjdGlvbixcbiAgZ2V0QXBwU2VsZWN0aW9uLFxuICBpc0luZm9EcmF3ZXJPcGVuZWQsXG4gIFJlZnJlc2hQcmV2aWV3QWN0aW9uLFxuICBSZWxvYWREb2N1bWVudExpc3RBY3Rpb24sXG4gIFNldEN1cnJlbnROb2RlVmVyc2lvbkFjdGlvbixcbiAgU2V0U2VsZWN0ZWROb2Rlc0FjdGlvbixcbiAgVmlld2VyQWN0aW9uVHlwZXMsXG4gIFZpZXdOb2RlQWN0aW9uXG59IGZyb20gJ0BhbGZyZXNjby9hY2Etc2hhcmVkL3N0b3JlJztcbmltcG9ydCB7IENvbnRlbnRBY3Rpb25SZWYsIFNlbGVjdGlvblN0YXRlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IE1pbmltYWxOb2RlRW50cnlFbnRpdHksIFNlYXJjaFJlcXVlc3QsIFZlcnNpb25FbnRyeSwgVmVyc2lvbnNBcGkgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdExpc3RlbmVyLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBQUklNQVJZX09VVExFVCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEFsZnJlc2NvQXBpU2VydmljZSwgT2JqZWN0VXRpbHMsIFVzZXJQcmVmZXJlbmNlc1NlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBmcm9tLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGlvbnMsIG9mVHlwZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgTm9kZXNBcGlTZXJ2aWNlLCBVcGxvYWRTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWNhLXZpZXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92aWV3ZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgaG9zdDogeyBjbGFzczogJ2FwcC12aWV3ZXInIH1cbn0pXG5leHBvcnQgY2xhc3MgQWNhVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF92ZXJzaW9uc0FwaTogVmVyc2lvbnNBcGk7XG4gIGdldCB2ZXJzaW9uc0FwaSgpOiBWZXJzaW9uc0FwaSB7XG4gICAgdGhpcy5fdmVyc2lvbnNBcGkgPSB0aGlzLl92ZXJzaW9uc0FwaSA/PyBuZXcgVmVyc2lvbnNBcGkodGhpcy5hcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgIHJldHVybiB0aGlzLl92ZXJzaW9uc0FwaTtcbiAgfVxuXG4gIG9uRGVzdHJveSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIGZpbGVOYW1lOiBzdHJpbmc7XG4gIGZvbGRlcklkOiBzdHJpbmcgPSBudWxsO1xuICBub2RlSWQ6IHN0cmluZyA9IG51bGw7XG4gIHZlcnNpb25JZDogc3RyaW5nID0gbnVsbDtcbiAgbm9kZTogTWluaW1hbE5vZGVFbnRyeUVudGl0eTtcbiAgc2VsZWN0aW9uOiBTZWxlY3Rpb25TdGF0ZTtcbiAgaW5mb0RyYXdlck9wZW5lZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgc2hvd1JpZ2h0U2lkZSA9IGZhbHNlO1xuICBvcGVuV2l0aDogQ29udGVudEFjdGlvblJlZltdID0gW107XG4gIHRvb2xiYXJBY3Rpb25zOiBDb250ZW50QWN0aW9uUmVmW10gPSBbXTtcblxuICBuYXZpZ2F0ZVNvdXJjZTogc3RyaW5nID0gbnVsbDtcbiAgcHJldmlvdXNOb2RlSWQ6IHN0cmluZztcbiAgbmV4dE5vZGVJZDogc3RyaW5nO1xuICBuYXZpZ2F0ZU11bHRpcGxlID0gdHJ1ZTtcbiAgcm91dGVzU2tpcE5hdmlnYXRpb24gPSBbJ3NoYXJlZCcsICdyZWNlbnQtZmlsZXMnLCAnZmF2b3JpdGVzJ107XG4gIG5hdmlnYXRpb25Tb3VyY2VzID0gWydmYXZvcml0ZXMnLCAnbGlicmFyaWVzJywgJ3BlcnNvbmFsLWZpbGVzJywgJ3JlY2VudC1maWxlcycsICdzaGFyZWQnXTtcbiAgcmVjZW50RmlsZUZpbHRlcnMgPSBbXG4gICAgJ1RZUEU6XCJjb250ZW50XCInLFxuICAgICctUE5BTUU6XCIwL3dpa2lcIicsXG4gICAgJy1UWVBFOlwiYXBwOmZpbGVsaW5rXCInLFxuICAgICctVFlQRTpcImZtOnBvc3RcIicsXG4gICAgJy1UWVBFOlwiY206dGh1bWJuYWlsXCInLFxuICAgICctVFlQRTpcImNtOmZhaWxlZFRodW1ibmFpbFwiJyxcbiAgICAnLVRZUEU6XCJjbTpyYXRpbmdcIicsXG4gICAgJy1UWVBFOlwiZGw6ZGF0YUxpc3RcIicsXG4gICAgJy1UWVBFOlwiZGw6dG9kb0xpc3RcIicsXG4gICAgJy1UWVBFOlwiZGw6aXNzdWVcIicsXG4gICAgJy1UWVBFOlwiZGw6Y29udGFjdFwiJyxcbiAgICAnLVRZUEU6XCJkbDpldmVudEFnZW5kYVwiJyxcbiAgICAnLVRZUEU6XCJkbDpldmVudFwiJyxcbiAgICAnLVRZUEU6XCJkbDp0YXNrXCInLFxuICAgICctVFlQRTpcImRsOnNpbXBsZXRhc2tcIicsXG4gICAgJy1UWVBFOlwiZGw6bWVldGluZ0FnZW5kYVwiJyxcbiAgICAnLVRZUEU6XCJkbDpsb2NhdGlvblwiJyxcbiAgICAnLVRZUEU6XCJmbTp0b3BpY1wiJyxcbiAgICAnLVRZUEU6XCJmbTpwb3N0XCInLFxuICAgICctVFlQRTpcImlhOmNhbGVuZGFyRXZlbnRcIicsXG4gICAgJy1UWVBFOlwibG5rOmxpbmtcIidcbiAgXTtcblxuICBwcml2YXRlIG5hdmlnYXRpb25QYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcHJldmlld0xvY2F0aW9uOiBzdHJpbmc7XG4gIHByaXZhdGUgY29udGFpbmVyc1NraXBOYXZpZ2F0aW9uID0gWydhZGYtdmlld2VyX19zaWRlYmFyJywgJ2Nkay1vdmVybGF5LWNvbnRhaW5lcicsICdhZGYtaW1hZ2Utdmlld2VyJ107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZTxBcHBTdG9yZT4sXG4gICAgcHJpdmF0ZSBleHRlbnNpb25zOiBBcHBFeHRlbnNpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgY29udGVudEFwaTogQ29udGVudEFwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBwcml2YXRlIHByZWZlcmVuY2VzOiBVc2VyUHJlZmVyZW5jZXNTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBpU2VydmljZTogQWxmcmVzY29BcGlTZXJ2aWNlLFxuICAgIHByaXZhdGUgbm9kZXNBcGlTZXJ2aWNlOiBOb2Rlc0FwaVNlcnZpY2UsXG4gICAgcHJpdmF0ZSB1cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXBwSG9va1NlcnZpY2U6IEFwcEhvb2tTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmluZm9EcmF3ZXJPcGVuZWQkID0gdGhpcy5zdG9yZS5zZWxlY3QoaXNJbmZvRHJhd2VyT3BlbmVkKTtcblxuICAgIGZyb20odGhpcy5pbmZvRHJhd2VyT3BlbmVkJClcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd1JpZ2h0U2lkZSA9IHZhbDtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLnNlbGVjdChnZXRBcHBTZWxlY3Rpb24pXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKHNlbGVjdGlvbikgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGlvbiA9IHNlbGVjdGlvbjtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5leHRlbnNpb25zXG4gICAgICAuZ2V0Vmlld2VyVG9vbGJhckFjdGlvbnMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChhY3Rpb25zKSA9PiB7XG4gICAgICAgIHRoaXMudG9vbGJhckFjdGlvbnMgPSBhY3Rpb25zO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLmV4dGVuc2lvbnNcbiAgICAgIC5nZXRPcGVuV2l0aEFjdGlvbnMoKVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKChhY3Rpb25zKSA9PiB7XG4gICAgICAgIHRoaXMub3BlbldpdGggPSBhY3Rpb25zO1xuICAgICAgfSk7XG5cbiAgICB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xuICAgICAgdGhpcy5mb2xkZXJJZCA9IHBhcmFtcy5mb2xkZXJJZDtcbiAgICAgIGNvbnN0IHsgbm9kZUlkIH0gPSBwYXJhbXM7XG4gICAgICB0aGlzLnZlcnNpb25JZCA9IHBhcmFtcy52ZXJzaW9uSWQ7XG4gICAgICBpZiAodGhpcy52ZXJzaW9uSWQpIHtcbiAgICAgICAgdGhpcy52ZXJzaW9uc0FwaS5nZXRWZXJzaW9uKG5vZGVJZCwgdGhpcy52ZXJzaW9uSWQpLnRoZW4oKHZlcnNpb246IFZlcnNpb25FbnRyeSkgPT4ge1xuICAgICAgICAgIGlmICh2ZXJzaW9uKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBTZXRDdXJyZW50Tm9kZVZlcnNpb25BY3Rpb24odmVyc2lvbikpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAobm9kZUlkKSB7XG4gICAgICAgIHRoaXMuZGlzcGxheU5vZGUobm9kZUlkKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcbiAgICAgIHRoaXMubmF2aWdhdGlvblBhdGggPSBwYXJhbXMucGF0aCB8fCBwYXJhbXMubG9jYXRpb247XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhICYmIHRoaXMucm91dGUuc25hcHNob3QuZGF0YS5uYXZpZ2F0ZVNvdXJjZSkge1xuICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhLm5hdmlnYXRlU291cmNlLnRvTG93ZXJDYXNlKCk7XG4gICAgICBpZiAodGhpcy5uYXZpZ2F0aW9uU291cmNlcy5pbmNsdWRlcyhzb3VyY2UpKSB7XG4gICAgICAgIHRoaXMubmF2aWdhdGVTb3VyY2UgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEubmF2aWdhdGVTb3VyY2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5hY3Rpb25zJC5waXBlKG9mVHlwZTxDbG9zZVByZXZpZXdBY3Rpb24+KFZpZXdlckFjdGlvblR5cGVzLkNsb3NlUHJldmlldyksIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0Q3VycmVudE5vZGVWZXJzaW9uQWN0aW9uKG51bGwpKTtcbiAgICAgIHRoaXMubmF2aWdhdGVUb0ZpbGVMb2NhdGlvbigpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5hY3Rpb25zJFxuICAgICAgLnBpcGUob2ZUeXBlPFJlZnJlc2hQcmV2aWV3QWN0aW9uPihWaWV3ZXJBY3Rpb25UeXBlcy5SZWZyZXNoUHJldmlldyksIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoYWN0aW9uOiBSZWZyZXNoUHJldmlld0FjdGlvbikgPT4ge1xuICAgICAgICB0aGlzLmRpc3BsYXlOb2RlKGFjdGlvbj8ucGF5bG9hZD8uZW50cnk/LmlkKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hcHBIb29rU2VydmljZS5ub2Rlc0RlbGV0ZWQucGlwZSh0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMubmF2aWdhdGVUb0ZpbGVMb2NhdGlvbigpKTtcblxuICAgIHRoaXMudXBsb2FkU2VydmljZS5maWxlVXBsb2FkRGVsZXRlZC5waXBlKHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5uYXZpZ2F0ZVRvRmlsZUxvY2F0aW9uKCkpO1xuXG4gICAgdGhpcy51cGxvYWRTZXJ2aWNlLmZpbGVVcGxvYWRDb21wbGV0ZS5waXBlKGRlYm91bmNlVGltZSgzMDApLCB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKChmaWxlKSA9PiB7XG4gICAgICB0aGlzLm5vZGVzQXBpU2VydmljZS5ub2RlVXBkYXRlZC5uZXh0KGZpbGUuZGF0YS5lbnRyeSk7XG4gICAgICB0aGlzLmRpc3BsYXlOb2RlKGZpbGUuZGF0YS5lbnRyeS5pZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnByZXZpZXdMb2NhdGlvbiA9IHRoaXMucm91dGVyLnVybC5zdWJzdHJpbmcoMCwgdGhpcy5yb3V0ZXIudXJsLmluZGV4T2YoJy8nLCAxKSkucmVwbGFjZSgvXFwvL2csICcnKTtcbiAgfVxuXG4gIG9uVmlld2VyVmlzaWJpbGl0eUNoYW5nZWQoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgUmVsb2FkRG9jdW1lbnRMaXN0QWN0aW9uKCkpO1xuICAgIHRoaXMubmF2aWdhdGVUb0ZpbGVMb2NhdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgU2V0Q3VycmVudE5vZGVWZXJzaW9uQWN0aW9uKG51bGwpKTtcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCh0cnVlKTtcbiAgICB0aGlzLm9uRGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHRyYWNrQnlBY3Rpb25JZChfOiBudW1iZXIsIG9iajogQ29udGVudEFjdGlvblJlZik6IHN0cmluZyB7XG4gICAgcmV0dXJuIG9iai5pZDtcbiAgfVxuXG4gIGFzeW5jIGRpc3BsYXlOb2RlKG5vZGVJZDogc3RyaW5nKSB7XG4gICAgaWYgKG5vZGVJZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy5ub2RlID0gYXdhaXQgdGhpcy5jb250ZW50QXBpLmdldE5vZGVJbmZvKG5vZGVJZCkudG9Qcm9taXNlKCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IFNldFNlbGVjdGVkTm9kZXNBY3Rpb24oW3sgZW50cnk6IHRoaXMubm9kZSB9XSkpO1xuICAgICAgICB0aGlzLm5hdmlnYXRlTXVsdGlwbGUgPSB0aGlzLmV4dGVuc2lvbnMuY2FuU2hvd1ZpZXdlck5hdmlnYXRpb24oeyBlbnRyeTogdGhpcy5ub2RlIH0pO1xuICAgICAgICBpZiAoIXRoaXMubmF2aWdhdGVNdWx0aXBsZSkge1xuICAgICAgICAgIHRoaXMubm9kZUlkID0gdGhpcy5ub2RlLmlkO1xuICAgICAgICAgIHRoaXMuZmlsZU5hbWUgPSB0aGlzLm5vZGUubmFtZSArIHRoaXMubm9kZT8ucHJvcGVydGllcz8uWydjbTp2ZXJzaW9uTGFiZWwnXTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5ub2RlICYmIHRoaXMubm9kZS5pc0ZpbGUpIHtcbiAgICAgICAgICBjb25zdCBuZWFyZXN0ID0gYXdhaXQgdGhpcy5nZXROZWFyZXN0Tm9kZXModGhpcy5ub2RlLmlkLCB0aGlzLm5vZGUucGFyZW50SWQpO1xuICAgICAgICAgIHRoaXMubm9kZUlkID0gdGhpcy5ub2RlLmlkO1xuICAgICAgICAgIHRoaXMucHJldmlvdXNOb2RlSWQgPSBuZWFyZXN0LmxlZnQ7XG4gICAgICAgICAgdGhpcy5uZXh0Tm9kZUlkID0gbmVhcmVzdC5yaWdodDtcbiAgICAgICAgICB0aGlzLmZpbGVOYW1lID0gdGhpcy5ub2RlLm5hbWUgKyB0aGlzLm5vZGU/LnByb3BlcnRpZXM/LlsnY206dmVyc2lvbkxhYmVsJ107XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zdCBzdGF0dXNDb2RlID0gSlNPTi5wYXJzZShlcnJvci5tZXNzYWdlKS5lcnJvci5zdGF0dXNDb2RlO1xuXG4gICAgICAgIGlmIChzdGF0dXNDb2RlICE9PSA0MDEpIHtcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5wcmV2aWV3TG9jYXRpb24sIHsgb3V0bGV0czogeyB2aWV3ZXI6IG51bGwgfSB9XSkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5wcmV2aWV3TG9jYXRpb24sIG5vZGVJZF0pO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25OYXZpZ2F0ZUJlZm9yZShldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ2NsaWNrJyAmJiB0aGlzLnNob3VsZE5hdmlnYXRlKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuZ2V0RmlsZUxvY2F0aW9uKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVmlld05vZGVBY3Rpb24odGhpcy5wcmV2aW91c05vZGVJZCwgeyBsb2NhdGlvbiB9KSk7XG4gIH1cblxuICBvbk5hdmlnYXRlTmV4dChldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQudHlwZSAhPT0gJ2NsaWNrJyAmJiB0aGlzLnNob3VsZE5hdmlnYXRlKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuZ2V0RmlsZUxvY2F0aW9uKCk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVmlld05vZGVBY3Rpb24odGhpcy5uZXh0Tm9kZUlkLCB7IGxvY2F0aW9uIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgbmVhcmVzdCBub2RlIGluZm9ybWF0aW9uIGZvciB0aGUgZ2l2ZW4gbm9kZSBhbmQgZm9sZGVyLlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZUlkIFVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBkb2N1bWVudCBub2RlXG4gICAqIEBwYXJhbSBmb2xkZXJJZCBVbmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY29udGFpbmluZyBmb2xkZXIgbm9kZS5cbiAgICovXG4gIGFzeW5jIGdldE5lYXJlc3ROb2Rlcyhub2RlSWQ6IHN0cmluZywgZm9sZGVySWQ6IHN0cmluZyk6IFByb21pc2U8eyBsZWZ0OiBzdHJpbmc7IHJpZ2h0OiBzdHJpbmcgfT4ge1xuICAgIGNvbnN0IGVtcHR5ID0ge1xuICAgICAgbGVmdDogbnVsbCxcbiAgICAgIHJpZ2h0OiBudWxsXG4gICAgfTtcblxuICAgIGlmIChub2RlSWQgJiYgZm9sZGVySWQpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGlkcyA9IGF3YWl0IHRoaXMuZ2V0RmlsZUlkcyh0aGlzLm5hdmlnYXRlU291cmNlLCBmb2xkZXJJZCk7XG4gICAgICAgIGNvbnN0IGlkeCA9IGlkcy5pbmRleE9mKG5vZGVJZCk7XG5cbiAgICAgICAgaWYgKGlkeCA+PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGxlZnQ6IGlkc1tpZHggLSAxXSB8fCBudWxsLFxuICAgICAgICAgICAgcmlnaHQ6IGlkc1tpZHggKyAxXSB8fCBudWxsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gZW1wdHk7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gZW1wdHk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlbXB0eTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgbGlzdCBvZiBub2RlIGlkZW50aWZpZXJzIGZvciB0aGUgZm9sZGVyIGFuZCBkYXRhIHNvdXJjZS5cbiAgICpcbiAgICogQHBhcmFtIHNvdXJjZSBEYXRhIHNvdXJjZSBuYW1lLiBBbGxvd2VkIHZhbHVlcyBhcmU6IHBlcnNvbmFsLWZpbGVzLCBsaWJyYXJpZXMsIGZhdm9yaXRlcywgc2hhcmVkLCByZWNlbnQtZmlsZXMuXG4gICAqIEBwYXJhbSBmb2xkZXJJZCBDb250YWluaW5nIGZvbGRlciBub2RlIGlkZW50aWZpZXIgZm9yICdwZXJzb25hbC1maWxlcycgYW5kICdsaWJyYXJpZXMnIHNvdXJjZXMuXG4gICAqL1xuICBhc3luYyBnZXRGaWxlSWRzKHNvdXJjZTogc3RyaW5nLCBmb2xkZXJJZD86IHN0cmluZyk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICBpZiAoKHNvdXJjZSA9PT0gJ3BlcnNvbmFsLWZpbGVzJyB8fCBzb3VyY2UgPT09ICdsaWJyYXJpZXMnKSAmJiBmb2xkZXJJZCkge1xuICAgICAgY29uc3Qgc29ydEtleSA9IHRoaXMucHJlZmVyZW5jZXMuZ2V0KCdwZXJzb25hbC1maWxlcy5zb3J0aW5nLmtleScpIHx8ICdtb2RpZmllZEF0JztcbiAgICAgIGNvbnN0IHNvcnREaXJlY3Rpb24gPSB0aGlzLnByZWZlcmVuY2VzLmdldCgncGVyc29uYWwtZmlsZXMuc29ydGluZy5kaXJlY3Rpb24nKSB8fCAnZGVzYyc7XG4gICAgICBjb25zdCBub2RlcyA9IGF3YWl0IHRoaXMuY29udGVudEFwaVxuICAgICAgICAuZ2V0Tm9kZUNoaWxkcmVuKGZvbGRlcklkLCB7XG4gICAgICAgICAgLy8gb3JkZXJCeTogYCR7c29ydEtleX0gJHtzb3J0RGlyZWN0aW9ufWAsXG4gICAgICAgICAgZmllbGRzOiBbJ2lkJywgdGhpcy5nZXRSb290RmllbGQoc29ydEtleSldLFxuICAgICAgICAgIHdoZXJlOiAnKGlzRmlsZT10cnVlKSdcbiAgICAgICAgfSlcbiAgICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgICBjb25zdCBlbnRyaWVzID0gbm9kZXMubGlzdC5lbnRyaWVzLm1hcCgob2JqKSA9PiBvYmouZW50cnkpO1xuICAgICAgdGhpcy5zb3J0KGVudHJpZXMsIHNvcnRLZXksIHNvcnREaXJlY3Rpb24pO1xuXG4gICAgICByZXR1cm4gZW50cmllcy5tYXAoKG9iaikgPT4gb2JqLmlkKTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlID09PSAnZmF2b3JpdGVzJykge1xuICAgICAgY29uc3Qgbm9kZXMgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGlcbiAgICAgICAgLmdldEZhdm9yaXRlcygnLW1lLScsIHtcbiAgICAgICAgICB3aGVyZTogJyhFWElTVFModGFyZ2V0L2ZpbGUpKScsXG4gICAgICAgICAgZmllbGRzOiBbJ3RhcmdldCddXG4gICAgICAgIH0pXG4gICAgICAgIC50b1Byb21pc2UoKTtcblxuICAgICAgY29uc3Qgc29ydEtleSA9IHRoaXMucHJlZmVyZW5jZXMuZ2V0KCdmYXZvcml0ZXMuc29ydGluZy5rZXknKSB8fCAnbW9kaWZpZWRBdCc7XG4gICAgICBjb25zdCBzb3J0RGlyZWN0aW9uID0gdGhpcy5wcmVmZXJlbmNlcy5nZXQoJ2Zhdm9yaXRlcy5zb3J0aW5nLmRpcmVjdGlvbicpIHx8ICdkZXNjJztcbiAgICAgIGNvbnN0IGZpbGVzID0gbm9kZXMubGlzdC5lbnRyaWVzLm1hcCgob2JqKSA9PiBvYmouZW50cnkudGFyZ2V0LmZpbGUpO1xuICAgICAgdGhpcy5zb3J0KGZpbGVzLCBzb3J0S2V5LCBzb3J0RGlyZWN0aW9uKTtcblxuICAgICAgcmV0dXJuIGZpbGVzLm1hcCgoZikgPT4gZi5pZCk7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZSA9PT0gJ3NoYXJlZCcpIHtcbiAgICAgIGNvbnN0IHNvcnRpbmdLZXkgPSB0aGlzLnByZWZlcmVuY2VzLmdldCgnc2hhcmVkLnNvcnRpbmcua2V5JykgfHwgJ21vZGlmaWVkQXQnO1xuICAgICAgY29uc3Qgc29ydGluZ0RpcmVjdGlvbiA9IHRoaXMucHJlZmVyZW5jZXMuZ2V0KCdzaGFyZWQuc29ydGluZy5kaXJlY3Rpb24nKSB8fCAnZGVzYyc7XG5cbiAgICAgIGNvbnN0IG5vZGVzID0gYXdhaXQgdGhpcy5jb250ZW50QXBpXG4gICAgICAgIC5maW5kU2hhcmVkTGlua3Moe1xuICAgICAgICAgIGZpZWxkczogWydub2RlSWQnLCB0aGlzLmdldFJvb3RGaWVsZChzb3J0aW5nS2V5KV1cbiAgICAgICAgfSlcbiAgICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgICBjb25zdCBlbnRyaWVzID0gbm9kZXMubGlzdC5lbnRyaWVzLm1hcCgob2JqKSA9PiBvYmouZW50cnkpO1xuICAgICAgdGhpcy5zb3J0KGVudHJpZXMsIHNvcnRpbmdLZXksIHNvcnRpbmdEaXJlY3Rpb24pO1xuXG4gICAgICByZXR1cm4gZW50cmllcy5tYXAoKG9iaikgPT4gb2JqLm5vZGVJZCk7XG4gICAgfVxuXG4gICAgaWYgKHNvdXJjZSA9PT0gJ3JlY2VudC1maWxlcycpIHtcbiAgICAgIGNvbnN0IHBlcnNvbiA9IGF3YWl0IHRoaXMuY29udGVudEFwaS5nZXRQZXJzb24oJy1tZS0nKS50b1Byb21pc2UoKTtcbiAgICAgIGNvbnN0IHVzZXJuYW1lID0gcGVyc29uLmVudHJ5LmlkO1xuICAgICAgY29uc3Qgc29ydGluZ0tleSA9IHRoaXMucHJlZmVyZW5jZXMuZ2V0KCdyZWNlbnQtZmlsZXMuc29ydGluZy5rZXknKSB8fCAnbW9kaWZpZWRBdCc7XG4gICAgICBjb25zdCBzb3J0aW5nRGlyZWN0aW9uID0gdGhpcy5wcmVmZXJlbmNlcy5nZXQoJ3JlY2VudC1maWxlcy5zb3J0aW5nLmRpcmVjdGlvbicpIHx8ICdkZXNjJztcblxuICAgICAgY29uc3QgcXVlcnk6IFNlYXJjaFJlcXVlc3QgPSB7XG4gICAgICAgIHF1ZXJ5OiB7XG4gICAgICAgICAgcXVlcnk6ICcqJyxcbiAgICAgICAgICBsYW5ndWFnZTogJ2FmdHMnXG4gICAgICAgIH0sXG4gICAgICAgIGZpbHRlclF1ZXJpZXM6IFtcbiAgICAgICAgICB7IHF1ZXJ5OiBgY206bW9kaWZpZWQ6W05PVy9EQVktMzBEQVlTIFRPIE5PVy9EQVkrMURBWV1gIH0sXG4gICAgICAgICAgeyBxdWVyeTogYGNtOm1vZGlmaWVyOiR7dXNlcm5hbWV9IE9SIGNtOmNyZWF0b3I6JHt1c2VybmFtZX1gIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcXVlcnk6IHRoaXMucmVjZW50RmlsZUZpbHRlcnMuam9pbignIEFORCAnKVxuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgZmllbGRzOiBbJ2lkJywgdGhpcy5nZXRSb290RmllbGQoc29ydGluZ0tleSldLFxuICAgICAgICBpbmNsdWRlOiBbJ3BhdGgnLCAncHJvcGVydGllcycsICdhbGxvd2FibGVPcGVyYXRpb25zJ10sXG4gICAgICAgIHNvcnQ6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnRklFTEQnLFxuICAgICAgICAgICAgZmllbGQ6ICdjbTptb2RpZmllZCcsXG4gICAgICAgICAgICBhc2NlbmRpbmc6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9O1xuICAgICAgY29uc3Qgbm9kZXMgPSBhd2FpdCB0aGlzLmNvbnRlbnRBcGkuc2VhcmNoKHF1ZXJ5KS50b1Byb21pc2UoKTtcblxuICAgICAgY29uc3QgZW50cmllcyA9IG5vZGVzLmxpc3QuZW50cmllcy5tYXAoKG9iaikgPT4gb2JqLmVudHJ5KTtcbiAgICAgIHRoaXMuc29ydChlbnRyaWVzLCBzb3J0aW5nS2V5LCBzb3J0aW5nRGlyZWN0aW9uKTtcblxuICAgICAgcmV0dXJuIGVudHJpZXMubWFwKChvYmopID0+IG9iai5pZCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgcm9vdCBmaWVsZCBuYW1lIGZyb20gdGhlIHByb3BlcnR5IHBhdGguXG4gICAqIEV4YW1wbGU6ICdwcm9wZXJ0eTEuc29tZS5jaGlsZC5wcm9wZXJ0eScgPT4gJ3Byb3BlcnR5MSdcbiAgICpcbiAgICogQHBhcmFtIHBhdGggUHJvcGVydHkgcGF0aFxuICAgKi9cbiAgZ2V0Um9vdEZpZWxkKHBhdGg6IHN0cmluZykge1xuICAgIGlmIChwYXRoKSB7XG4gICAgICByZXR1cm4gcGF0aC5zcGxpdCgnLicpWzBdO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgY29uc3Qga2V5ID0gZXZlbnQua2V5Q29kZTtcbiAgICBjb25zdCByaWdodEFycm93ID0gMzk7XG4gICAgY29uc3QgbGVmdEFycm93ID0gMzc7XG5cbiAgICBpZiAoa2V5ID09PSByaWdodEFycm93IHx8IGtleSA9PT0gbGVmdEFycm93KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzb3J0KGl0ZW1zOiBhbnlbXSwga2V5OiBzdHJpbmcsIGRpcmVjdGlvbjogc3RyaW5nKSB7XG4gICAgY29uc3Qgb3B0aW9uczogSW50bC5Db2xsYXRvck9wdGlvbnMgPSB7fTtcblxuICAgIGlmIChrZXkuaW5jbHVkZXMoJ3NpemVJbkJ5dGVzJykgfHwga2V5ID09PSAnbmFtZScpIHtcbiAgICAgIG9wdGlvbnMubnVtZXJpYyA9IHRydWU7XG4gICAgfVxuXG4gICAgaXRlbXMuc29ydCgoYTogYW55LCBiOiBhbnkpID0+IHtcbiAgICAgIGxldCBsZWZ0ID0gT2JqZWN0VXRpbHMuZ2V0VmFsdWUoYSwga2V5KTtcbiAgICAgIGlmIChsZWZ0KSB7XG4gICAgICAgIGxlZnQgPSBsZWZ0IGluc3RhbmNlb2YgRGF0ZSA/IGxlZnQudmFsdWVPZigpLnRvU3RyaW5nKCkgOiBsZWZ0LnRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsZWZ0ID0gJyc7XG4gICAgICB9XG5cbiAgICAgIGxldCByaWdodCA9IE9iamVjdFV0aWxzLmdldFZhbHVlKGIsIGtleSk7XG4gICAgICBpZiAocmlnaHQpIHtcbiAgICAgICAgcmlnaHQgPSByaWdodCBpbnN0YW5jZW9mIERhdGUgPyByaWdodC52YWx1ZU9mKCkudG9TdHJpbmcoKSA6IHJpZ2h0LnRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByaWdodCA9ICcnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZGlyZWN0aW9uID09PSAnYXNjJyA/IGxlZnQubG9jYWxlQ29tcGFyZShyaWdodCwgdW5kZWZpbmVkLCBvcHRpb25zKSA6IHJpZ2h0LmxvY2FsZUNvbXBhcmUobGVmdCwgdW5kZWZpbmVkLCBvcHRpb25zKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgbmF2aWdhdGVUb0ZpbGVMb2NhdGlvbigpIHtcbiAgICBjb25zdCBsb2NhdGlvbiA9IHRoaXMuZ2V0RmlsZUxvY2F0aW9uKCk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybChsb2NhdGlvbik7XG4gIH1cblxuICBwcml2YXRlIGdldEZpbGVMb2NhdGlvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hdmlnYXRpb25QYXRoIHx8IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMucm91dGVyLnVybCkucm9vdC5jaGlsZHJlbltQUklNQVJZX09VVExFVF0udG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByaXZhdGUgc2hvdWxkTmF2aWdhdGUoZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBsZXQgY3VycmVudEVsZW1lbnQgPSBlbGVtZW50LnBhcmVudEVsZW1lbnQ7XG5cbiAgICB3aGlsZSAoY3VycmVudEVsZW1lbnQgJiYgIXRoaXMuaXNDaGlsZChjdXJyZW50RWxlbWVudC5jbGFzc0xpc3QpKSB7XG4gICAgICBjdXJyZW50RWxlbWVudCA9IGN1cnJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhY3VycmVudEVsZW1lbnQ7XG4gIH1cblxuICBwcml2YXRlIGlzQ2hpbGQobGlzdDogRE9NVG9rZW5MaXN0KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20obGlzdCkuc29tZSgoY2xhc3NOYW1lOiBzdHJpbmcpID0+IHRoaXMuY29udGFpbmVyc1NraXBOYXZpZ2F0aW9uLmluY2x1ZGVzKGNsYXNzTmFtZSkpO1xuICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwibm9kZUlkXCI+XG4gIDxhZGYtYWxmcmVzY28tdmlld2VyXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3JpZ2h0X3NpZGUtLWhpZGUnOiAhc2hvd1JpZ2h0U2lkZVxuICAgIH1cIlxuICAgIFttYXhSZXRyaWVzXT1cIid2aWV3ZXIubWF4UmV0cmllcycgfCBhZGZBcHBDb25maWdcIlxuICAgIFtub2RlSWRdPVwibm9kZUlkXCJcbiAgICBbdmVyc2lvbklkXT1cInZlcnNpb25JZFwiXG4gICAgW2FsbG93TmF2aWdhdGVdPVwibmF2aWdhdGVNdWx0aXBsZVwiXG4gICAgW2FsbG93UmlnaHRTaWRlYmFyXT1cInRydWVcIlxuICAgIFthbGxvd1ByaW50XT1cImZhbHNlXCJcbiAgICBbc2hvd1JpZ2h0U2lkZWJhcl09XCJ0cnVlXCJcbiAgICBbYWxsb3dEb3dubG9hZF09XCJmYWxzZVwiXG4gICAgW2FsbG93RnVsbFNjcmVlbl09XCJmYWxzZVwiXG4gICAgW292ZXJsYXlNb2RlXT1cInRydWVcIlxuICAgIChzaG93Vmlld2VyQ2hhbmdlKT1cIm9uVmlld2VyVmlzaWJpbGl0eUNoYW5nZWQoKVwiXG4gICAgW2Nhbk5hdmlnYXRlQmVmb3JlXT1cIiEhcHJldmlvdXNOb2RlSWRcIlxuICAgIFtjYW5OYXZpZ2F0ZU5leHRdPVwiISFuZXh0Tm9kZUlkXCJcbiAgICAobmF2aWdhdGVCZWZvcmUpPVwib25OYXZpZ2F0ZUJlZm9yZSgkZXZlbnQpXCJcbiAgICAobmF2aWdhdGVOZXh0KT1cIm9uTmF2aWdhdGVOZXh0KCRldmVudClcIlxuICA+XG4gICAgPGFkZi12aWV3ZXItc2lkZWJhciAqbmdJZj1cImluZm9EcmF3ZXJPcGVuZWQkIHwgYXN5bmNcIj5cbiAgICAgIDxhY2EtaW5mby1kcmF3ZXIgW25vZGVdPVwic2VsZWN0aW9uLmZpbGVcIj48L2FjYS1pbmZvLWRyYXdlcj5cbiAgICA8L2FkZi12aWV3ZXItc2lkZWJhcj5cblxuICAgIDxhZGYtdmlld2VyLW9wZW4td2l0aCAqbmdJZj1cIm9wZW5XaXRoLmxlbmd0aFwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIG9wZW5XaXRoOyB0cmFja0J5OiB0cmFja0J5QWN0aW9uSWRcIj5cbiAgICAgICAgPGFwcC10b29sYmFyLW1lbnUtaXRlbSBbYWN0aW9uUmVmXT1cImFjdGlvblwiPjwvYXBwLXRvb2xiYXItbWVudS1pdGVtPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9hZGYtdmlld2VyLW9wZW4td2l0aD5cblxuICAgIDxhZGYtdmlld2VyLXRvb2xiYXItYWN0aW9ucz5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiB0b29sYmFyQWN0aW9uczsgdHJhY2tCeTogdHJhY2tCeUFjdGlvbklkXCI+XG4gICAgICAgIDxhY2EtdG9vbGJhci1hY3Rpb24gW2FjdGlvblJlZl09XCJhY3Rpb25cIj48L2FjYS10b29sYmFyLWFjdGlvbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvYWRmLXZpZXdlci10b29sYmFyLWFjdGlvbnM+XG4gIDwvYWRmLWFsZnJlc2NvLXZpZXdlcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Alfresco Example Content Application
|
|
5
|
+
*
|
|
6
|
+
* This file is part of the Alfresco Example Content Application.
|
|
7
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
+
* provided under the following open source license terms:
|
|
10
|
+
*
|
|
11
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
+
* (at your option) any later version.
|
|
15
|
+
*
|
|
16
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
* GNU Lesser General Public License for more details.
|
|
20
|
+
*
|
|
21
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
+
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
+
*/
|
|
24
|
+
import { NgModule } from '@angular/core';
|
|
25
|
+
import { CommonModule } from '@angular/common';
|
|
26
|
+
import { CoreModule } from '@alfresco/adf-core';
|
|
27
|
+
import { ContentDirectiveModule, ContentModule } from '@alfresco/adf-content-services';
|
|
28
|
+
import { SharedDirectivesModule, InfoDrawerComponent, SharedToolbarModule } from '@alfresco/aca-shared';
|
|
29
|
+
import { ExtensionsModule } from '@alfresco/adf-extensions';
|
|
30
|
+
import { AcaViewerComponent } from './components/viewer/viewer.component';
|
|
31
|
+
import { RouterModule } from '@angular/router';
|
|
32
|
+
import * as i0 from "@angular/core";
|
|
33
|
+
import * as i1 from "@alfresco/adf-core";
|
|
34
|
+
import * as i2 from "@angular/router";
|
|
35
|
+
import * as i3 from "@alfresco/adf-extensions";
|
|
36
|
+
const routes = [
|
|
37
|
+
{
|
|
38
|
+
path: '',
|
|
39
|
+
data: {
|
|
40
|
+
title: 'APP.PREVIEW.TITLE',
|
|
41
|
+
navigateMultiple: true
|
|
42
|
+
},
|
|
43
|
+
component: AcaViewerComponent
|
|
44
|
+
}
|
|
45
|
+
];
|
|
46
|
+
export class AcaViewerModule {
|
|
47
|
+
}
|
|
48
|
+
AcaViewerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AcaViewerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
49
|
+
AcaViewerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: AcaViewerModule, declarations: [AcaViewerComponent], imports: [CommonModule, i1.CoreModule, i2.RouterModule, i3.ExtensionsModule, ContentModule,
|
|
50
|
+
ContentDirectiveModule,
|
|
51
|
+
SharedDirectivesModule,
|
|
52
|
+
InfoDrawerComponent,
|
|
53
|
+
SharedToolbarModule], exports: [AcaViewerComponent] });
|
|
54
|
+
AcaViewerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AcaViewerModule, imports: [CommonModule,
|
|
55
|
+
CoreModule.forChild(),
|
|
56
|
+
RouterModule.forChild(routes),
|
|
57
|
+
ExtensionsModule.forChild(),
|
|
58
|
+
ContentModule,
|
|
59
|
+
ContentDirectiveModule,
|
|
60
|
+
SharedDirectivesModule,
|
|
61
|
+
InfoDrawerComponent,
|
|
62
|
+
SharedToolbarModule] });
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: AcaViewerModule, decorators: [{
|
|
64
|
+
type: NgModule,
|
|
65
|
+
args: [{
|
|
66
|
+
imports: [
|
|
67
|
+
CommonModule,
|
|
68
|
+
CoreModule.forChild(),
|
|
69
|
+
RouterModule.forChild(routes),
|
|
70
|
+
ExtensionsModule.forChild(),
|
|
71
|
+
ContentModule,
|
|
72
|
+
ContentDirectiveModule,
|
|
73
|
+
SharedDirectivesModule,
|
|
74
|
+
InfoDrawerComponent,
|
|
75
|
+
SharedToolbarModule
|
|
76
|
+
],
|
|
77
|
+
declarations: [AcaViewerComponent],
|
|
78
|
+
exports: [AcaViewerComponent]
|
|
79
|
+
}]
|
|
80
|
+
}] });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3ZpZXdlci9zcmMvbGliL3ZpZXdlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hHLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzVELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7QUFFdkQsTUFBTSxNQUFNLEdBQVc7SUFDckI7UUFDRSxJQUFJLEVBQUUsRUFBRTtRQUNSLElBQUksRUFBRTtZQUNKLEtBQUssRUFBRSxtQkFBbUI7WUFDMUIsZ0JBQWdCLEVBQUUsSUFBSTtTQUN2QjtRQUNELFNBQVMsRUFBRSxrQkFBa0I7S0FDOUI7Q0FDRixDQUFDO0FBaUJGLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBSFgsa0JBQWtCLGFBVi9CLFlBQVksdURBSVosYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLG1CQUFtQixhQUdYLGtCQUFrQjs2R0FFakIsZUFBZSxZQWJ4QixZQUFZO1FBQ1osVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUNyQixZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztRQUM3QixnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7UUFDM0IsYUFBYTtRQUNiLHNCQUFzQjtRQUN0QixzQkFBc0I7UUFDdEIsbUJBQW1CO1FBQ25CLG1CQUFtQjsyRkFLVixlQUFlO2tCQWYzQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFVBQVUsQ0FBQyxRQUFRLEVBQUU7d0JBQ3JCLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO3dCQUM3QixnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7d0JBQzNCLGFBQWE7d0JBQ2Isc0JBQXNCO3dCQUN0QixzQkFBc0I7d0JBQ3RCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3FCQUNwQjtvQkFDRCxZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29yZU1vZHVsZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb250ZW50RGlyZWN0aXZlTW9kdWxlLCBDb250ZW50TW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb250ZW50LXNlcnZpY2VzJztcbmltcG9ydCB7IFNoYXJlZERpcmVjdGl2ZXNNb2R1bGUsIEluZm9EcmF3ZXJDb21wb25lbnQsIFNoYXJlZFRvb2xiYXJNb2R1bGUgfSBmcm9tICdAYWxmcmVzY28vYWNhLXNoYXJlZCc7XG5pbXBvcnQgeyBFeHRlbnNpb25zTW9kdWxlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1leHRlbnNpb25zJztcbmltcG9ydCB7IEFjYVZpZXdlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy92aWV3ZXIvdmlld2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUsIFJvdXRlcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xuICB7XG4gICAgcGF0aDogJycsXG4gICAgZGF0YToge1xuICAgICAgdGl0bGU6ICdBUFAuUFJFVklFVy5USVRMRScsXG4gICAgICBuYXZpZ2F0ZU11bHRpcGxlOiB0cnVlXG4gICAgfSxcbiAgICBjb21wb25lbnQ6IEFjYVZpZXdlckNvbXBvbmVudFxuICB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIENvcmVNb2R1bGUuZm9yQ2hpbGQoKSxcbiAgICBSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKSxcbiAgICBFeHRlbnNpb25zTW9kdWxlLmZvckNoaWxkKCksXG4gICAgQ29udGVudE1vZHVsZSxcbiAgICBDb250ZW50RGlyZWN0aXZlTW9kdWxlLFxuICAgIFNoYXJlZERpcmVjdGl2ZXNNb2R1bGUsXG4gICAgSW5mb0RyYXdlckNvbXBvbmVudCxcbiAgICBTaGFyZWRUb29sYmFyTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW0FjYVZpZXdlckNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtBY2FWaWV3ZXJDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIEFjYVZpZXdlck1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Alfresco Example Content Application
|
|
5
|
+
*
|
|
6
|
+
* This file is part of the Alfresco Example Content Application.
|
|
7
|
+
* If the software was purchased under a paid Alfresco license, the terms of
|
|
8
|
+
* the paid license agreement will prevail. Otherwise, the software is
|
|
9
|
+
* provided under the following open source license terms:
|
|
10
|
+
*
|
|
11
|
+
* The Alfresco Example Content Application is free software: you can redistribute it and/or modify
|
|
12
|
+
* it under the terms of the GNU Lesser General Public License as published by
|
|
13
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
14
|
+
* (at your option) any later version.
|
|
15
|
+
*
|
|
16
|
+
* The Alfresco Example Content Application is distributed in the hope that it will be useful,
|
|
17
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
18
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
19
|
+
* GNU Lesser General Public License for more details.
|
|
20
|
+
*
|
|
21
|
+
* You should have received a copy of the GNU Lesser General Public License
|
|
22
|
+
* from Hyland Software. If not, see <http://www.gnu.org/licenses/>.
|
|
23
|
+
*/
|
|
24
|
+
/*
|
|
25
|
+
* Public API Surface of aca-viewer
|
|
26
|
+
*/
|
|
27
|
+
export * from './lib/components/viewer/viewer.component';
|
|
28
|
+
export * from './lib/viewer.module';
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FjYS1jb250ZW50L3ZpZXdlci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVIOztHQUVHO0FBRUgsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDIzIEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uXG4gKlxuICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbi5cbiAqIElmIHRoZSBzb2Z0d2FyZSB3YXMgcHVyY2hhc2VkIHVuZGVyIGEgcGFpZCBBbGZyZXNjbyBsaWNlbnNlLCB0aGUgdGVybXMgb2ZcbiAqIHRoZSBwYWlkIGxpY2Vuc2UgYWdyZWVtZW50IHdpbGwgcHJldmFpbC4gT3RoZXJ3aXNlLCB0aGUgc29mdHdhcmUgaXNcbiAqIHByb3ZpZGVkIHVuZGVyIHRoZSBmb2xsb3dpbmcgb3BlbiBzb3VyY2UgbGljZW5zZSB0ZXJtczpcbiAqXG4gKiBUaGUgQWxmcmVzY28gRXhhbXBsZSBDb250ZW50IEFwcGxpY2F0aW9uIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieVxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXG4gKlxuICogVGhlIEFsZnJlc2NvIEV4YW1wbGUgQ29udGVudCBBcHBsaWNhdGlvbiBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLFxuICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2ZcbiAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZVxuICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuXG4gKlxuICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlXG4gKiBmcm9tIEh5bGFuZCBTb2Z0d2FyZS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LlxuICovXG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgYWNhLXZpZXdlclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdmlld2VyL3ZpZXdlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdmlld2VyLm1vZHVsZSc7XG4iXX0=
|