@alfresco/adf-content-services 8.1.0-16295066092 → 8.1.0-16320806191
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/bundles/assets/adf-content-services/i18n/de.json +1 -3
- package/bundles/assets/adf-content-services/i18n/en.json +1 -3
- package/bundles/assets/adf-content-services/i18n/es.json +1 -3
- package/bundles/assets/adf-content-services/i18n/fr.json +1 -3
- package/bundles/assets/adf-content-services/i18n/it.json +1 -3
- package/bundles/assets/adf-content-services/i18n/pl.json +1 -3
- package/bundles/assets/adf-content-services/i18n/pt.json +1 -3
- package/esm2022/adf-content-services.mjs +5 -0
- package/esm2022/lib/agent/index.mjs +18 -0
- package/esm2022/lib/agent/public-api.mjs +18 -0
- package/esm2022/lib/agent/services/agent.service.mjs +60 -0
- package/esm2022/lib/alfresco-icon/alfresco-icon.component.mjs +27 -0
- package/esm2022/lib/api-factories/alfresco-api-no-auth.service.mjs +42 -0
- package/esm2022/lib/api-factories/alfresco-api-v2-loader.service.mjs +77 -0
- package/esm2022/lib/api-factories/index.mjs +18 -0
- package/esm2022/lib/api-factories/public-api.mjs +19 -0
- package/esm2022/lib/aspect-list/aspect-list-dialog-data.interface.mjs +18 -0
- package/esm2022/lib/aspect-list/aspect-list-dialog.component.mjs +77 -0
- package/esm2022/lib/aspect-list/aspect-list.component.mjs +139 -0
- package/esm2022/lib/aspect-list/aspect-list.module.mjs +35 -0
- package/esm2022/lib/aspect-list/index.mjs +18 -0
- package/esm2022/lib/aspect-list/public-api.mjs +24 -0
- package/esm2022/lib/aspect-list/services/aspect-list.service.mjs +83 -0
- package/esm2022/lib/aspect-list/services/dialog-aspect-list.service.mjs +86 -0
- package/esm2022/lib/aspect-list/services/node-aspect.service.mjs +52 -0
- package/esm2022/lib/auth-loader/content-auth-loader-factory.mjs +26 -0
- package/esm2022/lib/auth-loader/content-auth-loader.service.mjs +42 -0
- package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +166 -0
- package/esm2022/lib/breadcrumb/breadcrumb.module.mjs +35 -0
- package/esm2022/lib/breadcrumb/dropdown-breadcrumb.component.mjs +65 -0
- package/esm2022/lib/breadcrumb/index.mjs +18 -0
- package/esm2022/lib/breadcrumb/public-api.mjs +20 -0
- package/esm2022/lib/category/categories-management/categories-management-mode.mjs +22 -0
- package/esm2022/lib/category/categories-management/categories-management.component.mjs +308 -0
- package/esm2022/lib/category/category.module.mjs +33 -0
- package/esm2022/lib/category/index.mjs +18 -0
- package/esm2022/lib/category/models/category-node.interface.mjs +18 -0
- package/esm2022/lib/category/public-api.mjs +23 -0
- package/esm2022/lib/category/services/category-tree-datasource.service.mjs +80 -0
- package/esm2022/lib/category/services/category.service.mjs +159 -0
- package/esm2022/lib/common/events/file.event.mjs +46 -0
- package/esm2022/lib/common/index.mjs +18 -0
- package/esm2022/lib/common/interfaces/saved-search.interface.mjs +18 -0
- package/esm2022/lib/common/interfaces/search-configuration.interface.mjs +18 -0
- package/esm2022/lib/common/mocks/ecm-user.service.mock.mjs +37 -0
- package/esm2022/lib/common/models/allowable-operations.enum.mjs +30 -0
- package/esm2022/lib/common/models/ecm-company.model.mjs +19 -0
- package/esm2022/lib/common/models/ecm-user.model.mjs +45 -0
- package/esm2022/lib/common/models/file.model.mjs +53 -0
- package/esm2022/lib/common/models/node-metadata.model.mjs +23 -0
- package/esm2022/lib/common/models/permissions.enum.mjs +32 -0
- package/esm2022/lib/common/public-api.mjs +37 -0
- package/esm2022/lib/common/services/card-view-content-update.service.mjs +55 -0
- package/esm2022/lib/common/services/content.service.mjs +180 -0
- package/esm2022/lib/common/services/discovery-api.service.mjs +79 -0
- package/esm2022/lib/common/services/favorites-api.service.mjs +84 -0
- package/esm2022/lib/common/services/nodes-api.service.mjs +251 -0
- package/esm2022/lib/common/services/people-content.service.mjs +138 -0
- package/esm2022/lib/common/services/rendition.service.mjs +270 -0
- package/esm2022/lib/common/services/saved-searches.service.mjs +206 -0
- package/esm2022/lib/common/services/sites.service.mjs +243 -0
- package/esm2022/lib/common/services/upload.service.mjs +391 -0
- package/esm2022/lib/content-metadata/components/content-metadata/content-metadata-header.component.mjs +54 -0
- package/esm2022/lib/content-metadata/components/content-metadata/content-metadata.component.mjs +490 -0
- package/esm2022/lib/content-metadata/components/content-metadata-card/content-metadata-card.component.mjs +128 -0
- package/esm2022/lib/content-metadata/content-metadata.module.mjs +36 -0
- package/esm2022/lib/content-metadata/index.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/aspect-oriented-config.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/card-view-group.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/content-metadata-config.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/content-metadata-custom-panel.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/content-metadata-panel.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/content-metadata.interfaces.mjs +28 -0
- package/esm2022/lib/content-metadata/interfaces/indifferent-config.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/layout-oriented-config.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/organised-property-group.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/preset-config.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/property-group.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/interfaces/property.interface.mjs +18 -0
- package/esm2022/lib/content-metadata/public-api.mjs +31 -0
- package/esm2022/lib/content-metadata/services/basic-properties.service.mjs +107 -0
- package/esm2022/lib/content-metadata/services/config/aspect-oriented-config.service.mjs +106 -0
- package/esm2022/lib/content-metadata/services/config/content-metadata-config.factory.mjs +76 -0
- package/esm2022/lib/content-metadata/services/config/indifferent-config.service.mjs +40 -0
- package/esm2022/lib/content-metadata/services/config/layout-oriented-config.service.mjs +108 -0
- package/esm2022/lib/content-metadata/services/config/property-group-reader.mjs +33 -0
- package/esm2022/lib/content-metadata/services/content-metadata.service.mjs +99 -0
- package/esm2022/lib/content-metadata/services/content-type-property.service.mjs +134 -0
- package/esm2022/lib/content-metadata/services/property-descriptors.service.mjs +52 -0
- package/esm2022/lib/content-metadata/services/property-groups-translator.service.mjs +169 -0
- package/esm2022/lib/content-node-selector/content-node-dialog.service.mjs +256 -0
- package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.component.mjs +617 -0
- package/esm2022/lib/content-node-selector/content-node-selector-panel/content-node-selector-panel.service.mjs +66 -0
- package/esm2022/lib/content-node-selector/content-node-selector.component-data.interface.mjs +18 -0
- package/esm2022/lib/content-node-selector/content-node-selector.component.mjs +205 -0
- package/esm2022/lib/content-node-selector/content-node-selector.module.mjs +50 -0
- package/esm2022/lib/content-node-selector/index.mjs +18 -0
- package/esm2022/lib/content-node-selector/name-location-cell/name-location-cell.component.mjs +48 -0
- package/esm2022/lib/content-node-selector/public-api.mjs +25 -0
- package/esm2022/lib/content-node-selector/site-dropdown/sites-dropdown.component.mjs +168 -0
- package/esm2022/lib/content-node-share/content-node-share.dialog.mjs +287 -0
- package/esm2022/lib/content-node-share/content-node-share.directive.mjs +102 -0
- package/esm2022/lib/content-node-share/content-node-share.module.mjs +35 -0
- package/esm2022/lib/content-node-share/content-node-share.settings.mjs +18 -0
- package/esm2022/lib/content-node-share/index.mjs +18 -0
- package/esm2022/lib/content-node-share/public-api.mjs +22 -0
- package/esm2022/lib/content-node-share/services/shared-links-api.service.mjs +83 -0
- package/esm2022/lib/content-type/content-type-dialog.component.mjs +57 -0
- package/esm2022/lib/content-type/content-type-metadata.interface.mjs +18 -0
- package/esm2022/lib/content-type/content-type.service.mjs +52 -0
- package/esm2022/lib/content-type/index.mjs +20 -0
- package/esm2022/lib/content.module.mjs +277 -0
- package/esm2022/lib/dialogs/category-selector/category-selector.dialog.mjs +51 -0
- package/esm2022/lib/dialogs/dialog.module.mjs +52 -0
- package/esm2022/lib/dialogs/download-zip/download-zip.dialog.mjs +111 -0
- package/esm2022/lib/dialogs/download-zip/download-zip.dialog.module.mjs +38 -0
- package/esm2022/lib/dialogs/download-zip/services/download-zip.service.mjs +66 -0
- package/esm2022/lib/dialogs/folder/folder-name.validators.mjs +44 -0
- package/esm2022/lib/dialogs/folder/folder.dialog.mjs +146 -0
- package/esm2022/lib/dialogs/index.mjs +18 -0
- package/esm2022/lib/dialogs/library/library.dialog.mjs +224 -0
- package/esm2022/lib/dialogs/node-lock/node-lock.dialog.mjs +115 -0
- package/esm2022/lib/dialogs/public-api.mjs +25 -0
- package/esm2022/lib/directives/auto-focus.directive.mjs +38 -0
- package/esm2022/lib/directives/check-allowable-operation.directive.mjs +126 -0
- package/esm2022/lib/directives/content-directive.module.mjs +75 -0
- package/esm2022/lib/directives/index.mjs +18 -0
- package/esm2022/lib/directives/library-favorite.directive.mjs +119 -0
- package/esm2022/lib/directives/library-membership.directive.mjs +202 -0
- package/esm2022/lib/directives/node-counter.directive.mjs +59 -0
- package/esm2022/lib/directives/node-delete.directive.mjs +177 -0
- package/esm2022/lib/directives/node-download.directive.mjs +138 -0
- package/esm2022/lib/directives/node-favorite.directive.mjs +193 -0
- package/esm2022/lib/directives/node-lock.directive.mjs +57 -0
- package/esm2022/lib/directives/node-restore.directive.mjs +218 -0
- package/esm2022/lib/directives/public-api.mjs +28 -0
- package/esm2022/lib/document-list/components/content-action/content-action-list.component.mjs +60 -0
- package/esm2022/lib/document-list/components/content-action/content-action.component.mjs +196 -0
- package/esm2022/lib/document-list/components/document-list.component.mjs +965 -0
- package/esm2022/lib/document-list/components/document-list.token.mjs +21 -0
- package/esm2022/lib/document-list/components/file-auto-download/file-auto-download.component.mjs +42 -0
- package/esm2022/lib/document-list/components/filter-header/filter-header.component.mjs +107 -0
- package/esm2022/lib/document-list/components/library-name-column/library-name-column.component.mjs +131 -0
- package/esm2022/lib/document-list/components/library-role-column/library-role-column.component.mjs +91 -0
- package/esm2022/lib/document-list/components/library-status-column/library-status-column.component.mjs +86 -0
- package/esm2022/lib/document-list/components/name-column/name-column.component.mjs +118 -0
- package/esm2022/lib/document-list/components/node.event.mjs +30 -0
- package/esm2022/lib/document-list/components/trashcan-name-column/trashcan-name-column.component.mjs +83 -0
- package/esm2022/lib/document-list/data/image-resolver.model.mjs +18 -0
- package/esm2022/lib/document-list/data/row-filter.model.mjs +18 -0
- package/esm2022/lib/document-list/data/share-data-row.model.mjs +102 -0
- package/esm2022/lib/document-list/data/share-datatable-adapter.mjs +258 -0
- package/esm2022/lib/document-list/document-list.module.mjs +75 -0
- package/esm2022/lib/document-list/index.mjs +18 -0
- package/esm2022/lib/document-list/interfaces/document-list-loader.interface.mjs +18 -0
- package/esm2022/lib/document-list/models/content-action.model.mjs +59 -0
- package/esm2022/lib/document-list/models/document-folder.model.mjs +23 -0
- package/esm2022/lib/document-list/models/node-action.enum.mjs +27 -0
- package/esm2022/lib/document-list/models/permissions-style.model.mjs +27 -0
- package/esm2022/lib/document-list/models/permissions.model.mjs +26 -0
- package/esm2022/lib/document-list/models/preset.model.mjs +257 -0
- package/esm2022/lib/document-list/public-api.mjs +47 -0
- package/esm2022/lib/document-list/services/custom-resources.service.mjs +378 -0
- package/esm2022/lib/document-list/services/document-actions.service.mjs +142 -0
- package/esm2022/lib/document-list/services/document-list.service.mjs +175 -0
- package/esm2022/lib/document-list/services/folder-actions.service.mjs +137 -0
- package/esm2022/lib/document-list/services/lock.service.mjs +72 -0
- package/esm2022/lib/document-list/services/node-actions.service.mjs +122 -0
- package/esm2022/lib/group/index.mjs +18 -0
- package/esm2022/lib/group/public-api.mjs +18 -0
- package/esm2022/lib/group/services/group.service.mjs +84 -0
- package/esm2022/lib/infinite-scroll-datasource/index.mjs +18 -0
- package/esm2022/lib/infinite-scroll-datasource/infinite-scroll-datasource.mjs +69 -0
- package/esm2022/lib/infinite-scroll-datasource/public-api.mjs +18 -0
- package/esm2022/lib/interfaces/base-card-view-content-update.interface.mjs +18 -0
- package/esm2022/lib/interfaces/index.mjs +18 -0
- package/esm2022/lib/interfaces/library-entity.interface.mjs +18 -0
- package/esm2022/lib/interfaces/library-membership-error-event.interface.mjs +18 -0
- package/esm2022/lib/interfaces/library-membership-toggle-event.interface.mjs +18 -0
- package/esm2022/lib/interfaces/node-allowable-operation-subject.interface.mjs +18 -0
- package/esm2022/lib/interfaces/public-api.mjs +23 -0
- package/esm2022/lib/interfaces/restore-message-model.interface.mjs +19 -0
- package/esm2022/lib/legal-hold/index.mjs +18 -0
- package/esm2022/lib/legal-hold/public-api.mjs +18 -0
- package/esm2022/lib/legal-hold/services/legal-hold.service.mjs +136 -0
- package/esm2022/lib/material.module.mjs +183 -0
- package/esm2022/lib/mock/alfresco-api.service.mock.mjs +43 -0
- package/esm2022/lib/mock/date-range-search-filter.mock.mjs +65 -0
- package/esm2022/lib/mock/document-library.model.mock.mjs +84 -0
- package/esm2022/lib/mock/document-list.component.mock.mjs +364 -0
- package/esm2022/lib/mock/index.mjs +18 -0
- package/esm2022/lib/mock/new-version-uploader.service.mock.mjs +161 -0
- package/esm2022/lib/mock/public-api.mjs +27 -0
- package/esm2022/lib/mock/search-filter-mock.mjs +637 -0
- package/esm2022/lib/mock/search-query.mock.mjs +40 -0
- package/esm2022/lib/mock/search.component.mock.mjs +165 -0
- package/esm2022/lib/mock/search.service.mock.mjs +61 -0
- package/esm2022/lib/mock/sites-dropdown.component.mock.mjs +281 -0
- package/esm2022/lib/new-version-uploader/index.mjs +18 -0
- package/esm2022/lib/new-version-uploader/models/index.mjs +18 -0
- package/esm2022/lib/new-version-uploader/models/new-version-uploader.model.mjs +24 -0
- package/esm2022/lib/new-version-uploader/new-version-uploader.dialog.mjs +74 -0
- package/esm2022/lib/new-version-uploader/new-version-uploader.module.mjs +33 -0
- package/esm2022/lib/new-version-uploader/new-version-uploader.service.mjs +103 -0
- package/esm2022/lib/new-version-uploader/public-api.mjs +21 -0
- package/esm2022/lib/node-comments/index.mjs +18 -0
- package/esm2022/lib/node-comments/node-comments.component.mjs +50 -0
- package/esm2022/lib/node-comments/node-comments.module.mjs +33 -0
- package/esm2022/lib/node-comments/public-api.mjs +20 -0
- package/esm2022/lib/node-comments/services/node-comments.service.mjs +85 -0
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog-data.interface.mjs +18 -0
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-dialog.component.mjs +123 -0
- package/esm2022/lib/permission-manager/components/add-permission/add-permission-panel.component.mjs +102 -0
- package/esm2022/lib/permission-manager/components/add-permission/add-permission.component.mjs +69 -0
- package/esm2022/lib/permission-manager/components/add-permission/search-config-permission.service.mjs +45 -0
- package/esm2022/lib/permission-manager/components/inherited-button.directive.mjs +67 -0
- package/esm2022/lib/permission-manager/components/node-path-column/node-path-column.component.mjs +56 -0
- package/esm2022/lib/permission-manager/components/permission-container/permission-container.component.mjs +102 -0
- package/esm2022/lib/permission-manager/components/permission-list/permission-list.component.mjs +87 -0
- package/esm2022/lib/permission-manager/components/permission-list/permission-list.service.mjs +219 -0
- package/esm2022/lib/permission-manager/components/pop-over.directive.mjs +134 -0
- package/esm2022/lib/permission-manager/components/user-icon-column/user-icon-column.component.mjs +88 -0
- package/esm2022/lib/permission-manager/components/user-name-column/user-name-column.component.mjs +82 -0
- package/esm2022/lib/permission-manager/components/user-role-column/user-role-column.component.mjs +111 -0
- package/esm2022/lib/permission-manager/index.mjs +18 -0
- package/esm2022/lib/permission-manager/models/member.model.mjs +59 -0
- package/esm2022/lib/permission-manager/models/permission.model.mjs +29 -0
- package/esm2022/lib/permission-manager/models/role.model.mjs +18 -0
- package/esm2022/lib/permission-manager/permission-manager.module.mjs +84 -0
- package/esm2022/lib/permission-manager/public-api.mjs +36 -0
- package/esm2022/lib/permission-manager/services/node-permission-dialog.service.mjs +78 -0
- package/esm2022/lib/permission-manager/services/node-permission.service.mjs +299 -0
- package/esm2022/lib/pipes/content-pipe.module.mjs +37 -0
- package/esm2022/lib/pipes/index.mjs +18 -0
- package/esm2022/lib/pipes/node-name-tooltip.pipe.mjs +69 -0
- package/esm2022/lib/pipes/public-api.mjs +19 -0
- package/esm2022/lib/prediction/index.mjs +18 -0
- package/esm2022/lib/prediction/public-api.mjs +18 -0
- package/esm2022/lib/prediction/services/index.mjs +18 -0
- package/esm2022/lib/prediction/services/prediction.service.mjs +57 -0
- package/esm2022/lib/search/components/empty-search-result.component.mjs +27 -0
- package/esm2022/lib/search/components/index.mjs +43 -0
- package/esm2022/lib/search/components/reset-search.directive.mjs +41 -0
- package/esm2022/lib/search/components/search-check-list/index.mjs +18 -0
- package/esm2022/lib/search/components/search-check-list/search-check-list.component.mjs +158 -0
- package/esm2022/lib/search/components/search-chip-autocomplete-input/index.mjs +18 -0
- package/esm2022/lib/search/components/search-chip-autocomplete-input/search-chip-autocomplete-input.component.mjs +169 -0
- package/esm2022/lib/search/components/search-chip-list/search-chip-list.component.mjs +46 -0
- package/esm2022/lib/search/components/search-control.component.mjs +180 -0
- package/esm2022/lib/search/components/search-date-range-tabbed/index.mjs +22 -0
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/date-range-type.mjs +23 -0
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/in-last-date-type.mjs +23 -0
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.component.mjs +196 -0
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range/search-date-range.mjs +18 -0
- package/esm2022/lib/search/components/search-date-range-tabbed/search-date-range-tabbed.component.mjs +201 -0
- package/esm2022/lib/search/components/search-datetime-range/index.mjs +18 -0
- package/esm2022/lib/search/components/search-datetime-range/search-datetime-range.component.mjs +223 -0
- package/esm2022/lib/search/components/search-facet-field/index.mjs +18 -0
- package/esm2022/lib/search/components/search-facet-field/search-facet-field.component.mjs +132 -0
- package/esm2022/lib/search/components/search-filter/index.mjs +19 -0
- package/esm2022/lib/search/components/search-filter/search-filter-card/search-filter-card.component.mjs +45 -0
- package/esm2022/lib/search/components/search-filter/search-filter.component.mjs +80 -0
- package/esm2022/lib/search/components/search-filter-autocomplete-chips/index.mjs +18 -0
- package/esm2022/lib/search/components/search-filter-autocomplete-chips/search-filter-autocomplete-chips.component.mjs +154 -0
- package/esm2022/lib/search/components/search-filter-chips/index.mjs +23 -0
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip/search-facet-chip.component.mjs +104 -0
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-chip-tabbed.component.mjs +109 -0
- package/esm2022/lib/search/components/search-filter-chips/search-facet-chip-tabbed/search-facet-tabbed-content.component.mjs +129 -0
- package/esm2022/lib/search/components/search-filter-chips/search-filter-chips.component.mjs +63 -0
- package/esm2022/lib/search/components/search-filter-chips/search-filter-menu-card/search-filter-menu-card.component.mjs +43 -0
- package/esm2022/lib/search/components/search-filter-chips/search-widget-chip/search-widget-chip.component.mjs +109 -0
- package/esm2022/lib/search/components/search-filter-container/index.mjs +18 -0
- package/esm2022/lib/search/components/search-filter-container/search-filter-container.component.mjs +122 -0
- package/esm2022/lib/search/components/search-filter-tabbed/index.mjs +19 -0
- package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tab.directive.mjs +36 -0
- package/esm2022/lib/search/components/search-filter-tabbed/search-filter-tabbed.component.mjs +63 -0
- package/esm2022/lib/search/components/search-form/index.mjs +18 -0
- package/esm2022/lib/search/components/search-form/search-form.component.mjs +52 -0
- package/esm2022/lib/search/components/search-input/index.mjs +18 -0
- package/esm2022/lib/search/components/search-input/search-input.component.mjs +108 -0
- package/esm2022/lib/search/components/search-logical-filter/index.mjs +18 -0
- package/esm2022/lib/search/components/search-logical-filter/search-logical-filter.component.mjs +163 -0
- package/esm2022/lib/search/components/search-number-range/index.mjs +18 -0
- package/esm2022/lib/search/components/search-number-range/search-number-range.component.mjs +154 -0
- package/esm2022/lib/search/components/search-panel/index.mjs +18 -0
- package/esm2022/lib/search/components/search-panel/search-panel.component.mjs +44 -0
- package/esm2022/lib/search/components/search-properties/file-size-condition.mjs +18 -0
- package/esm2022/lib/search/components/search-properties/file-size-operator.enum.mjs +23 -0
- package/esm2022/lib/search/components/search-properties/file-size-unit.enum.mjs +26 -0
- package/esm2022/lib/search/components/search-properties/index.mjs +22 -0
- package/esm2022/lib/search/components/search-properties/search-properties.component.mjs +244 -0
- package/esm2022/lib/search/components/search-properties/search-properties.mjs +18 -0
- package/esm2022/lib/search/components/search-radio/index.mjs +18 -0
- package/esm2022/lib/search/components/search-radio/search-radio.component.mjs +145 -0
- package/esm2022/lib/search/components/search-slider/index.mjs +18 -0
- package/esm2022/lib/search/components/search-slider/search-slider.component.mjs +119 -0
- package/esm2022/lib/search/components/search-sorting-picker/index.mjs +18 -0
- package/esm2022/lib/search/components/search-sorting-picker/search-sorting-picker.component.mjs +77 -0
- package/esm2022/lib/search/components/search-text/index.mjs +18 -0
- package/esm2022/lib/search/components/search-text/search-text.component.mjs +134 -0
- package/esm2022/lib/search/components/search-widget-container/index.mjs +18 -0
- package/esm2022/lib/search/components/search-widget-container/search-widget-container.component.mjs +113 -0
- package/esm2022/lib/search/components/search.component.mjs +152 -0
- package/esm2022/lib/search/forms/index.mjs +19 -0
- package/esm2022/lib/search/forms/live-error-state-matcher.mjs +23 -0
- package/esm2022/lib/search/forms/search-term-validator.mjs +26 -0
- package/esm2022/lib/search/index.mjs +18 -0
- package/esm2022/lib/search/mocks/index.mjs +18 -0
- package/esm2022/lib/search/mocks/search.service.mock.mjs +56 -0
- package/esm2022/lib/search/models/autocomplete-option.interface.mjs +22 -0
- package/esm2022/lib/search/models/facet-field-bucket.interface.mjs +18 -0
- package/esm2022/lib/search/models/facet-field.interface.mjs +29 -0
- package/esm2022/lib/search/models/facet-query.interface.mjs +18 -0
- package/esm2022/lib/search/models/facet-widget.interface.mjs +18 -0
- package/esm2022/lib/search/models/filter-query.interface.mjs +18 -0
- package/esm2022/lib/search/models/filter-search.interface.mjs +18 -0
- package/esm2022/lib/search/models/index.mjs +34 -0
- package/esm2022/lib/search/models/response-facet-query-list.model.mjs +31 -0
- package/esm2022/lib/search/models/search-category.interface.mjs +18 -0
- package/esm2022/lib/search/models/search-configuration.interface.mjs +18 -0
- package/esm2022/lib/search/models/search-filter-list.model.mjs +148 -0
- package/esm2022/lib/search/models/search-form.interface.mjs +18 -0
- package/esm2022/lib/search/models/search-range.interface.mjs +18 -0
- package/esm2022/lib/search/models/search-sorting-definition.interface.mjs +18 -0
- package/esm2022/lib/search/models/search-widget-settings.interface.mjs +18 -0
- package/esm2022/lib/search/models/search-widget.interface.mjs +18 -0
- package/esm2022/lib/search/models/tabbed-facet-field.interface.mjs +18 -0
- package/esm2022/lib/search/public-api.mjs +24 -0
- package/esm2022/lib/search/search-configuration.token.mjs +19 -0
- package/esm2022/lib/search/search.module.mjs +192 -0
- package/esm2022/lib/search/services/base-query-builder.service.mjs +509 -0
- package/esm2022/lib/search/services/index.mjs +24 -0
- package/esm2022/lib/search/services/search-configuration.service.mjs +50 -0
- package/esm2022/lib/search/services/search-facet-filters.service.mjs +374 -0
- package/esm2022/lib/search/services/search-filter.service.mjs +56 -0
- package/esm2022/lib/search/services/search-header-query-builder.service.mjs +136 -0
- package/esm2022/lib/search/services/search-query-builder.service.mjs +48 -0
- package/esm2022/lib/search/services/search.service.mjs +89 -0
- package/esm2022/lib/search-ai/index.mjs +18 -0
- package/esm2022/lib/search-ai/models/search-ai-input-state.mjs +18 -0
- package/esm2022/lib/search-ai/public-api.mjs +19 -0
- package/esm2022/lib/search-ai/services/search-ai.service.mjs +103 -0
- package/esm2022/lib/security/index.mjs +18 -0
- package/esm2022/lib/security/public-api.mjs +18 -0
- package/esm2022/lib/security/services/models/security-controls-group-response.interface.mjs +18 -0
- package/esm2022/lib/security/services/models/security-controls-mark-response.interface.mjs +18 -0
- package/esm2022/lib/security/services/security-controls-groups-marks-security.service.mjs +274 -0
- package/esm2022/lib/security-options-loader/security-options-loader.service.mjs +43 -0
- package/esm2022/lib/services/alfresco-api.interface.mjs +18 -0
- package/esm2022/lib/services/alfresco-api.service.mjs +120 -0
- package/esm2022/lib/services/index.mjs +18 -0
- package/esm2022/lib/services/public-api.mjs +18 -0
- package/esm2022/lib/tag/index.mjs +18 -0
- package/esm2022/lib/tag/public-api.mjs +24 -0
- package/esm2022/lib/tag/services/tag.service.mjs +171 -0
- package/esm2022/lib/tag/tag-actions/tag-actions.component.mjs +114 -0
- package/esm2022/lib/tag/tag-list/tag-list.component.mjs +98 -0
- package/esm2022/lib/tag/tag-node-list/tag-node-list.component.mjs +80 -0
- package/esm2022/lib/tag/tag.module.mjs +37 -0
- package/esm2022/lib/tag/tags-creator/tags-creator-mode.mjs +27 -0
- package/esm2022/lib/tag/tags-creator/tags-creator.component.mjs +370 -0
- package/esm2022/lib/testing/content.testing.module.mjs +56 -0
- package/esm2022/lib/tree/components/tree.component.mjs +312 -0
- package/esm2022/lib/tree/index.mjs +18 -0
- package/esm2022/lib/tree/models/tree-context-menu-result.interface.mjs +18 -0
- package/esm2022/lib/tree/models/tree-node.interface.mjs +22 -0
- package/esm2022/lib/tree/models/tree-response.interface.mjs +18 -0
- package/esm2022/lib/tree/public-api.mjs +23 -0
- package/esm2022/lib/tree/services/tree.service.mjs +134 -0
- package/esm2022/lib/tree/tree.module.mjs +33 -0
- package/esm2022/lib/tree-view/components/tree-view.component.mjs +75 -0
- package/esm2022/lib/tree-view/data/tree-view-datasource.mjs +99 -0
- package/esm2022/lib/tree-view/index.mjs +18 -0
- package/esm2022/lib/tree-view/models/tree-view.model.mjs +28 -0
- package/esm2022/lib/tree-view/public-api.mjs +22 -0
- package/esm2022/lib/tree-view/services/tree-view.service.mjs +38 -0
- package/esm2022/lib/tree-view/tree-view.module.mjs +33 -0
- package/esm2022/lib/upload/components/base-upload/upload-base.mjs +176 -0
- package/esm2022/lib/upload/components/file-uploading-dialog.component.mjs +190 -0
- package/esm2022/lib/upload/components/file-uploading-list-row.component.mjs +92 -0
- package/esm2022/lib/upload/components/file-uploading-list.component.mjs +124 -0
- package/esm2022/lib/upload/components/upload-button.component.mjs +133 -0
- package/esm2022/lib/upload/components/upload-drag-area.component.mjs +112 -0
- package/esm2022/lib/upload/components/upload-files.event.mjs +41 -0
- package/esm2022/lib/upload/components/upload-version-button.component.mjs +54 -0
- package/esm2022/lib/upload/directives/file-draggable.directive.mjs +154 -0
- package/esm2022/lib/upload/directives/toggle-icon.directive.mjs +75 -0
- package/esm2022/lib/upload/index.mjs +18 -0
- package/esm2022/lib/upload/pipes/file-upload-error.pipe.mjs +39 -0
- package/esm2022/lib/upload/public-api.mjs +29 -0
- package/esm2022/lib/upload/upload.module.mjs +72 -0
- package/esm2022/lib/version-compatibility/index.mjs +18 -0
- package/esm2022/lib/version-compatibility/public-api.mjs +20 -0
- package/esm2022/lib/version-compatibility/version-compatibility-factory.mjs +26 -0
- package/esm2022/lib/version-compatibility/version-compatibility.directive.mjs +53 -0
- package/esm2022/lib/version-compatibility/version-compatibility.module.mjs +33 -0
- package/esm2022/lib/version-compatibility/version-compatibility.service.mjs +76 -0
- package/esm2022/lib/version-manager/content-version.service.mjs +53 -0
- package/esm2022/lib/version-manager/index.mjs +18 -0
- package/esm2022/lib/version-manager/public-api.mjs +23 -0
- package/esm2022/lib/version-manager/version-comparison.component.mjs +42 -0
- package/esm2022/lib/version-manager/version-list.component.mjs +215 -0
- package/esm2022/lib/version-manager/version-manager.component.mjs +145 -0
- package/esm2022/lib/version-manager/version-manager.module.mjs +48 -0
- package/esm2022/lib/version-manager/version-upload.component.mjs +154 -0
- package/esm2022/lib/viewer/alfresco-viewer.module.mjs +33 -0
- package/esm2022/lib/viewer/components/alfresco-viewer.component.mjs +408 -0
- package/esm2022/lib/viewer/index.mjs +18 -0
- package/esm2022/lib/viewer/public-api.mjs +19 -0
- package/esm2022/public-api.mjs +56 -0
- package/fesm2022/adf-content-services.mjs +827 -870
- package/fesm2022/adf-content-services.mjs.map +1 -1
- package/lib/aspect-list/aspect-list.component.d.ts +0 -4
- package/lib/aspect-list/public-api.d.ts +0 -1
- package/lib/aspect-list/services/aspect-list.service.d.ts +4 -6
- package/lib/category/categories-management/categories-management.component.d.ts +0 -4
- package/lib/content.module.d.ts +2 -2
- package/lib/dialogs/dialog.module.d.ts +5 -6
- package/lib/dialogs/download-zip/download-zip.dialog.d.ts +1 -1
- package/lib/dialogs/download-zip/download-zip.dialog.module.d.ts +6 -2
- package/lib/new-version-uploader/new-version-uploader.dialog.scss +1 -1
- package/lib/upload/components/base-upload/upload-base.d.ts +1 -1
- package/lib/version-manager/version-list.component.scss +2 -3
- package/package.json +5 -3
- package/lib/aspect-list/interfaces/custom-aspect-paging.interface.d.ts +0 -21
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { NodesApiService } from '../../common/services/nodes-api.service';
|
|
2
|
+
import { inject, Injectable } from '@angular/core';
|
|
3
|
+
import { NodesApi } from '@alfresco/js-api';
|
|
4
|
+
import { DocumentLoaderNode } from '../models/document-folder.model';
|
|
5
|
+
import { from, forkJoin, Subject } from 'rxjs';
|
|
6
|
+
import { map } from 'rxjs/operators';
|
|
7
|
+
import { CustomResourcesService } from './custom-resources.service';
|
|
8
|
+
import { AlfrescoApiService } from '../../services/alfresco-api.service';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
const ROOT_ID = '-root-';
|
|
11
|
+
export class DocumentListService {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.nodesApiService = inject(NodesApiService);
|
|
14
|
+
this.apiService = inject(AlfrescoApiService);
|
|
15
|
+
this.customResourcesService = inject(CustomResourcesService);
|
|
16
|
+
this._reload = new Subject();
|
|
17
|
+
this._resetSelection = new Subject();
|
|
18
|
+
/** Gets an observable that emits when the document list should be reloaded. */
|
|
19
|
+
this.reload$ = this._reload.asObservable();
|
|
20
|
+
/** Gets an observable that emits when the selection should be reset. */
|
|
21
|
+
this.resetSelection$ = this._resetSelection.asObservable();
|
|
22
|
+
}
|
|
23
|
+
get nodes() {
|
|
24
|
+
this._nodesApi = this._nodesApi ?? new NodesApi(this.apiService.getInstance());
|
|
25
|
+
return this._nodesApi;
|
|
26
|
+
}
|
|
27
|
+
/** Reloads the document list. */
|
|
28
|
+
reload() {
|
|
29
|
+
this._reload.next();
|
|
30
|
+
}
|
|
31
|
+
/** Resets the selection. */
|
|
32
|
+
resetSelection() {
|
|
33
|
+
this._resetSelection.next();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Deletes a node.
|
|
37
|
+
*
|
|
38
|
+
* @param nodeId ID of the node to delete
|
|
39
|
+
* @returns Empty response when the operation is complete
|
|
40
|
+
*/
|
|
41
|
+
deleteNode(nodeId) {
|
|
42
|
+
return from(this.nodes.deleteNode(nodeId));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Copy a node to destination node
|
|
46
|
+
*
|
|
47
|
+
* @param nodeId The id of the node to be copied
|
|
48
|
+
* @param targetParentId The id of the folder where the node will be copied
|
|
49
|
+
* @returns NodeEntry for the copied node
|
|
50
|
+
*/
|
|
51
|
+
copyNode(nodeId, targetParentId) {
|
|
52
|
+
return from(this.nodes.copyNode(nodeId, { targetParentId }));
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Moves a node to destination node.
|
|
56
|
+
*
|
|
57
|
+
* @param nodeId The id of the node to be moved
|
|
58
|
+
* @param targetParentId The id of the folder where the node will be moved
|
|
59
|
+
* @returns NodeEntry for the moved node
|
|
60
|
+
*/
|
|
61
|
+
moveNode(nodeId, targetParentId) {
|
|
62
|
+
return from(this.nodes.moveNode(nodeId, { targetParentId }));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Gets the folder node with the specified relative name path below the root node.
|
|
66
|
+
*
|
|
67
|
+
* @param folder Path to folder.
|
|
68
|
+
* @param opts Options.
|
|
69
|
+
* @param includeFields Extra information to include (available options are "aspectNames", "isLink" and "association")
|
|
70
|
+
* @returns Details of the folder
|
|
71
|
+
*/
|
|
72
|
+
getFolder(folder, opts, includeFields = []) {
|
|
73
|
+
let rootNodeId = ROOT_ID;
|
|
74
|
+
if (opts?.rootFolderId) {
|
|
75
|
+
rootNodeId = opts.rootFolderId;
|
|
76
|
+
}
|
|
77
|
+
const includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', 'aspectNames', ...includeFields].filter((element, index, array) => index === array.indexOf(element));
|
|
78
|
+
const params = {
|
|
79
|
+
includeSource: true,
|
|
80
|
+
include: includeFieldsRequest
|
|
81
|
+
};
|
|
82
|
+
if (folder) {
|
|
83
|
+
params.relativePath = folder;
|
|
84
|
+
}
|
|
85
|
+
if (opts) {
|
|
86
|
+
if (opts.maxItems) {
|
|
87
|
+
params.maxItems = opts.maxItems;
|
|
88
|
+
}
|
|
89
|
+
if (opts.skipCount) {
|
|
90
|
+
params.skipCount = opts.skipCount;
|
|
91
|
+
}
|
|
92
|
+
if (opts.where) {
|
|
93
|
+
params.where = opts.where;
|
|
94
|
+
}
|
|
95
|
+
if (opts.orderBy) {
|
|
96
|
+
params.orderBy = opts.orderBy;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return from(this.nodes.listNodeChildren(rootNodeId, params));
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Gets a node via its node ID.
|
|
103
|
+
*
|
|
104
|
+
* @param nodeId ID of the target node
|
|
105
|
+
* @param includeFields Extra information to include (available options are "aspectNames", "isLink" and "association")
|
|
106
|
+
* @returns Details of the folder
|
|
107
|
+
*/
|
|
108
|
+
getNode(nodeId, includeFields = []) {
|
|
109
|
+
const includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', 'definition', ...includeFields].filter((element, index, array) => index === array.indexOf(element));
|
|
110
|
+
const opts = {
|
|
111
|
+
includeSource: true,
|
|
112
|
+
include: includeFieldsRequest
|
|
113
|
+
};
|
|
114
|
+
return this.nodesApiService.getNode(nodeId, opts);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Gets a folder node via its node ID.
|
|
118
|
+
*
|
|
119
|
+
* @param nodeId ID of the folder node
|
|
120
|
+
* @param includeFields Extra information to include (available options are "aspectNames", "isLink" and "association")
|
|
121
|
+
* @returns Details of the folder
|
|
122
|
+
*/
|
|
123
|
+
getFolderNode(nodeId, includeFields = []) {
|
|
124
|
+
const includeFieldsRequest = ['path', 'properties', 'allowableOperations', 'permissions', 'aspectNames', ...includeFields].filter((element, index, array) => index === array.indexOf(element));
|
|
125
|
+
const opts = {
|
|
126
|
+
includeSource: true,
|
|
127
|
+
include: includeFieldsRequest
|
|
128
|
+
};
|
|
129
|
+
return from(this.nodes.getNode(nodeId, opts));
|
|
130
|
+
}
|
|
131
|
+
isCustomSourceService(nodeId) {
|
|
132
|
+
return this.customResourcesService.isCustomSource(nodeId);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Load a folder by Node Id.
|
|
136
|
+
*
|
|
137
|
+
* @param nodeId ID of the folder node
|
|
138
|
+
* @param pagination pagination model
|
|
139
|
+
* @param includeFields List of data field names to include in the results
|
|
140
|
+
* @param where Optionally filter the list
|
|
141
|
+
* @param orderBy order by node property
|
|
142
|
+
* @returns Details of the folder
|
|
143
|
+
*/
|
|
144
|
+
loadFolderByNodeId(nodeId, pagination, includeFields, where, orderBy) {
|
|
145
|
+
if (this.customResourcesService.isCustomSource(nodeId)) {
|
|
146
|
+
return this.customResourcesService
|
|
147
|
+
.loadFolderByNodeId(nodeId, pagination, includeFields, where)
|
|
148
|
+
.pipe(map((result) => new DocumentLoaderNode(null, result)));
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
return this.retrieveDocumentNode(nodeId, pagination, includeFields, where, orderBy);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
retrieveDocumentNode(nodeId, pagination, includeFields, where, orderBy) {
|
|
155
|
+
return forkJoin([
|
|
156
|
+
this.getFolderNode(nodeId, includeFields),
|
|
157
|
+
this.getFolder(null, {
|
|
158
|
+
maxItems: pagination.maxItems,
|
|
159
|
+
skipCount: pagination.skipCount,
|
|
160
|
+
orderBy,
|
|
161
|
+
rootFolderId: nodeId,
|
|
162
|
+
where
|
|
163
|
+
}, includeFields)
|
|
164
|
+
]).pipe(map((results) => new DocumentLoaderNode(results[0], results[1])));
|
|
165
|
+
}
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentListService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
167
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentListService, providedIn: 'root' }); }
|
|
168
|
+
}
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DocumentListService, decorators: [{
|
|
170
|
+
type: Injectable,
|
|
171
|
+
args: [{
|
|
172
|
+
providedIn: 'root'
|
|
173
|
+
}]
|
|
174
|
+
}] });
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtbGlzdC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9kb2N1bWVudC1saXN0L3NlcnZpY2VzL2RvY3VtZW50LWxpc3Quc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFrQkEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBK0IsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDekUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDckUsT0FBTyxFQUFjLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVyQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFekUsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDO0FBS3pCLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJWSxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMxQyxlQUFVLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDeEMsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFReEQsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRTlDLCtFQUErRTtRQUMvRSxZQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FB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QyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlFLENBQUM7K0dBdE1RLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07OzRGQUVULG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFBhZ2luYXRpb25Nb2RlbCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBOb2Rlc0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb21tb24vc2VydmljZXMvbm9kZXMtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlLCBOb2RlRW50cnksIE5vZGVQYWdpbmcsIE5vZGVzQXBpIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBEb2N1bWVudExvYWRlck5vZGUgfSBmcm9tICcuLi9tb2RlbHMvZG9jdW1lbnQtZm9sZGVyLm1vZGVsJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGZyb20sIGZvcmtKb2luLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEb2N1bWVudExpc3RMb2FkZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2RvY3VtZW50LWxpc3QtbG9hZGVyLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDdXN0b21SZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnLi9jdXN0b20tcmVzb3VyY2VzLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWxmcmVzY29BcGlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYWxmcmVzY28tYXBpLnNlcnZpY2UnO1xuXG5jb25zdCBST09UX0lEID0gJy1yb290LSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgRG9jdW1lbnRMaXN0U2VydmljZSBpbXBsZW1lbnRzIERvY3VtZW50TGlzdExvYWRlciB7XG4gICAgcHJpdmF0ZSBub2Rlc0FwaVNlcnZpY2UgPSBpbmplY3QoTm9kZXNBcGlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGFwaVNlcnZpY2UgPSBpbmplY3QoQWxmcmVzY29BcGlTZXJ2aWNlKTtcbiAgICBwcml2YXRlIGN1c3RvbVJlc291cmNlc1NlcnZpY2UgPSBpbmplY3QoQ3VzdG9tUmVzb3VyY2VzU2VydmljZSk7XG5cbiAgICBwcml2YXRlIF9ub2Rlc0FwaTogTm9kZXNBcGk7XG4gICAgZ2V0IG5vZGVzKCk6IE5vZGVzQXBpIHtcbiAgICAgICAgdGhpcy5fbm9kZXNBcGkgPSB0aGlzLl9ub2Rlc0FwaSA/PyBuZXcgTm9kZXNBcGkodGhpcy5hcGlTZXJ2aWNlLmdldEluc3RhbmNlKCkpO1xuICAgICAgICByZXR1cm4gdGhpcy5fbm9kZXNBcGk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVsb2FkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIF9yZXNldFNlbGVjdGlvbiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICAvKiogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiB0aGUgZG9jdW1lbnQgbGlzdCBzaG91bGQgYmUgcmVsb2FkZWQuICovXG4gICAgcmVsb2FkJCA9IHRoaXMuX3JlbG9hZC5hc09ic2VydmFibGUoKTtcblxuICAgIC8qKiBHZXRzIGFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIHRoZSBzZWxlY3Rpb24gc2hvdWxkIGJlIHJlc2V0LiAqL1xuICAgIHJlc2V0U2VsZWN0aW9uJCA9IHRoaXMuX3Jlc2V0U2VsZWN0aW9uLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIFJlbG9hZHMgdGhlIGRvY3VtZW50IGxpc3QuICovXG4gICAgcmVsb2FkKCkge1xuICAgICAgICB0aGlzLl9yZWxvYWQubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKiBSZXNldHMgdGhlIHNlbGVjdGlvbi4gKi9cbiAgICByZXNldFNlbGVjdGlvbigpIHtcbiAgICAgICAgdGhpcy5fcmVzZXRTZWxlY3Rpb24ubmV4dCgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIERlbGV0ZXMgYSBub2RlLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5vZGVJZCBJRCBvZiB0aGUgbm9kZSB0byBkZWxldGVcbiAgICAgKiBAcmV0dXJucyBFbXB0eSByZXNwb25zZSB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVcbiAgICAgKi9cbiAgICBkZWxldGVOb2RlKG5vZGVJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5ub2Rlcy5kZWxldGVOb2RlKG5vZGVJZCkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcHkgYSBub2RlIHRvIGRlc3RpbmF0aW9uIG5vZGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlSWQgVGhlIGlkIG9mIHRoZSBub2RlIHRvIGJlIGNvcGllZFxuICAgICAqIEBwYXJhbSB0YXJnZXRQYXJlbnRJZCBUaGUgaWQgb2YgdGhlIGZvbGRlciB3aGVyZSB0aGUgbm9kZSB3aWxsIGJlIGNvcGllZFxuICAgICAqIEByZXR1cm5zIE5vZGVFbnRyeSBmb3IgdGhlIGNvcGllZCBub2RlXG4gICAgICovXG4gICAgY29weU5vZGUobm9kZUlkOiBzdHJpbmcsIHRhcmdldFBhcmVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5vZGVFbnRyeT4ge1xuICAgICAgICByZXR1cm4gZnJvbSh0aGlzLm5vZGVzLmNvcHlOb2RlKG5vZGVJZCwgeyB0YXJnZXRQYXJlbnRJZCB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTW92ZXMgYSBub2RlIHRvIGRlc3RpbmF0aW9uIG5vZGUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbm9kZUlkIFRoZSBpZCBvZiB0aGUgbm9kZSB0byBiZSBtb3ZlZFxuICAgICAqIEBwYXJhbSB0YXJnZXRQYXJlbnRJZCBUaGUgaWQgb2YgdGhlIGZvbGRlciB3aGVyZSB0aGUgbm9kZSB3aWxsIGJlIG1vdmVkXG4gICAgICogQHJldHVybnMgTm9kZUVudHJ5IGZvciB0aGUgbW92ZWQgbm9kZVxuICAgICAqL1xuICAgIG1vdmVOb2RlKG5vZGVJZDogc3RyaW5nLCB0YXJnZXRQYXJlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxOb2RlRW50cnk+IHtcbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5ub2Rlcy5tb3ZlTm9kZShub2RlSWQsIHsgdGFyZ2V0UGFyZW50SWQgfSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGZvbGRlciBub2RlIHdpdGggdGhlIHNwZWNpZmllZCByZWxhdGl2ZSBuYW1lIHBhdGggYmVsb3cgdGhlIHJvb3Qgbm9kZS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmb2xkZXIgUGF0aCB0byBmb2xkZXIuXG4gICAgICogQHBhcmFtIG9wdHMgT3B0aW9ucy5cbiAgICAgKiBAcGFyYW0gaW5jbHVkZUZpZWxkcyBFeHRyYSBpbmZvcm1hdGlvbiB0byBpbmNsdWRlIChhdmFpbGFibGUgb3B0aW9ucyBhcmUgXCJhc3BlY3ROYW1lc1wiLCBcImlzTGlua1wiIGFuZCBcImFzc29jaWF0aW9uXCIpXG4gICAgICogQHJldHVybnMgRGV0YWlscyBvZiB0aGUgZm9sZGVyXG4gICAgICovXG4gICAgZ2V0Rm9sZGVyKGZvbGRlcjogc3RyaW5nLCBvcHRzPzogYW55LCBpbmNsdWRlRmllbGRzOiBzdHJpbmdbXSA9IFtdKTogT2JzZXJ2YWJsZTxOb2RlUGFnaW5nPiB7XG4gICAgICAgIGxldCByb290Tm9kZUlkID0gUk9PVF9JRDtcbiAgICAgICAgaWYgKG9wdHM/LnJvb3RGb2xkZXJJZCkge1xuICAgICAgICAgICAgcm9vdE5vZGVJZCA9IG9wdHMucm9vdEZvbGRlcklkO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaW5jbHVkZUZpZWxkc1JlcXVlc3QgPSBbJ3BhdGgnLCAncHJvcGVydGllcycsICdhbGxvd2FibGVPcGVyYXRpb25zJywgJ3Blcm1pc3Npb25zJywgJ2FzcGVjdE5hbWVzJywgLi4uaW5jbHVkZUZpZWxkc10uZmlsdGVyKFxuICAgICAgICAgICAgKGVsZW1lbnQsIGluZGV4LCBhcnJheSkgPT4gaW5kZXggPT09IGFycmF5LmluZGV4T2YoZWxlbWVudClcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBwYXJhbXM6IGFueSA9IHtcbiAgICAgICAgICAgIGluY2x1ZGVTb3VyY2U6IHRydWUsXG4gICAgICAgICAgICBpbmNsdWRlOiBpbmNsdWRlRmllbGRzUmVxdWVzdFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmIChmb2xkZXIpIHtcbiAgICAgICAgICAgIHBhcmFtcy5yZWxhdGl2ZVBhdGggPSBmb2xkZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0cykge1xuICAgICAgICAgICAgaWYgKG9wdHMubWF4SXRlbXMpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMubWF4SXRlbXMgPSBvcHRzLm1heEl0ZW1zO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdHMuc2tpcENvdW50KSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zLnNraXBDb3VudCA9IG9wdHMuc2tpcENvdW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdHMud2hlcmUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbXMud2hlcmUgPSBvcHRzLndoZXJlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdHMub3JkZXJCeSkge1xuICAgICAgICAgICAgICAgIHBhcmFtcy5vcmRlckJ5ID0gb3B0cy5vcmRlckJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZyb20odGhpcy5ub2Rlcy5saXN0Tm9kZUNoaWxkcmVuKHJvb3ROb2RlSWQsIHBhcmFtcykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgYSBub2RlIHZpYSBpdHMgbm9kZSBJRC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlSWQgSUQgb2YgdGhlIHRhcmdldCBub2RlXG4gICAgICogQHBhcmFtIGluY2x1ZGVGaWVsZHMgRXh0cmEgaW5mb3JtYXRpb24gdG8gaW5jbHVkZSAoYXZhaWxhYmxlIG9wdGlvbnMgYXJlIFwiYXNwZWN0TmFtZXNcIiwgXCJpc0xpbmtcIiBhbmQgXCJhc3NvY2lhdGlvblwiKVxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgdGhlIGZvbGRlclxuICAgICAqL1xuICAgIGdldE5vZGUobm9kZUlkOiBzdHJpbmcsIGluY2x1ZGVGaWVsZHM6IHN0cmluZ1tdID0gW10pOiBPYnNlcnZhYmxlPE5vZGU+IHtcbiAgICAgICAgY29uc3QgaW5jbHVkZUZpZWxkc1JlcXVlc3QgPSBbJ3BhdGgnLCAncHJvcGVydGllcycsICdhbGxvd2FibGVPcGVyYXRpb25zJywgJ3Blcm1pc3Npb25zJywgJ2RlZmluaXRpb24nLCAuLi5pbmNsdWRlRmllbGRzXS5maWx0ZXIoXG4gICAgICAgICAgICAoZWxlbWVudCwgaW5kZXgsIGFycmF5KSA9PiBpbmRleCA9PT0gYXJyYXkuaW5kZXhPZihlbGVtZW50KVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG9wdHM6IGFueSA9IHtcbiAgICAgICAgICAgIGluY2x1ZGVTb3VyY2U6IHRydWUsXG4gICAgICAgICAgICBpbmNsdWRlOiBpbmNsdWRlRmllbGRzUmVxdWVzdFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVzQXBpU2VydmljZS5nZXROb2RlKG5vZGVJZCwgb3B0cyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBhIGZvbGRlciBub2RlIHZpYSBpdHMgbm9kZSBJRC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlSWQgSUQgb2YgdGhlIGZvbGRlciBub2RlXG4gICAgICogQHBhcmFtIGluY2x1ZGVGaWVsZHMgRXh0cmEgaW5mb3JtYXRpb24gdG8gaW5jbHVkZSAoYXZhaWxhYmxlIG9wdGlvbnMgYXJlIFwiYXNwZWN0TmFtZXNcIiwgXCJpc0xpbmtcIiBhbmQgXCJhc3NvY2lhdGlvblwiKVxuICAgICAqIEByZXR1cm5zIERldGFpbHMgb2YgdGhlIGZvbGRlclxuICAgICAqL1xuICAgIGdldEZvbGRlck5vZGUobm9kZUlkOiBzdHJpbmcsIGluY2x1ZGVGaWVsZHM6IHN0cmluZ1tdID0gW10pOiBPYnNlcnZhYmxlPE5vZGVFbnRyeT4ge1xuICAgICAgICBjb25zdCBpbmNsdWRlRmllbGRzUmVxdWVzdCA9IFsncGF0aCcsICdwcm9wZXJ0aWVzJywgJ2FsbG93YWJsZU9wZXJhdGlvbnMnLCAncGVybWlzc2lvbnMnLCAnYXNwZWN0TmFtZXMnLCAuLi5pbmNsdWRlRmllbGRzXS5maWx0ZXIoXG4gICAgICAgICAgICAoZWxlbWVudCwgaW5kZXgsIGFycmF5KSA9PiBpbmRleCA9PT0gYXJyYXkuaW5kZXhPZihlbGVtZW50KVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IG9wdHM6IGFueSA9IHtcbiAgICAgICAgICAgIGluY2x1ZGVTb3VyY2U6IHRydWUsXG4gICAgICAgICAgICBpbmNsdWRlOiBpbmNsdWRlRmllbGRzUmVxdWVzdFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBmcm9tKHRoaXMubm9kZXMuZ2V0Tm9kZShub2RlSWQsIG9wdHMpKTtcbiAgICB9XG5cbiAgICBpc0N1c3RvbVNvdXJjZVNlcnZpY2Uobm9kZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY3VzdG9tUmVzb3VyY2VzU2VydmljZS5pc0N1c3RvbVNvdXJjZShub2RlSWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWQgYSBmb2xkZXIgYnkgTm9kZSBJZC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBub2RlSWQgSUQgb2YgdGhlIGZvbGRlciBub2RlXG4gICAgICogQHBhcmFtIHBhZ2luYXRpb24gcGFnaW5hdGlvbiBtb2RlbFxuICAgICAqIEBwYXJhbSBpbmNsdWRlRmllbGRzIExpc3Qgb2YgZGF0YSBmaWVsZCBuYW1lcyB0byBpbmNsdWRlIGluIHRoZSByZXN1bHRzXG4gICAgICogQHBhcmFtIHdoZXJlICBPcHRpb25hbGx5IGZpbHRlciB0aGUgbGlzdFxuICAgICAqIEBwYXJhbSBvcmRlckJ5IG9yZGVyIGJ5IG5vZGUgcHJvcGVydHlcbiAgICAgKiBAcmV0dXJucyBEZXRhaWxzIG9mIHRoZSBmb2xkZXJcbiAgICAgKi9cbiAgICBsb2FkRm9sZGVyQnlOb2RlSWQoXG4gICAgICAgIG5vZGVJZDogc3RyaW5nLFxuICAgICAgICBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uTW9kZWwsXG4gICAgICAgIGluY2x1ZGVGaWVsZHM6IHN0cmluZ1tdLFxuICAgICAgICB3aGVyZT86IHN0cmluZyxcbiAgICAgICAgb3JkZXJCeT86IHN0cmluZ1tdXG4gICAgKTogT2JzZXJ2YWJsZTxEb2N1bWVudExvYWRlck5vZGU+IHtcbiAgICAgICAgaWYgKHRoaXMuY3VzdG9tUmVzb3VyY2VzU2VydmljZS5pc0N1c3RvbVNvdXJjZShub2RlSWQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jdXN0b21SZXNvdXJjZXNTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmxvYWRGb2xkZXJCeU5vZGVJZChub2RlSWQsIHBhZ2luYXRpb24sIGluY2x1ZGVGaWVsZHMsIHdoZXJlKVxuICAgICAgICAgICAgICAgIC5waXBlKG1hcCgocmVzdWx0OiBhbnkpID0+IG5ldyBEb2N1bWVudExvYWRlck5vZGUobnVsbCwgcmVzdWx0KSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucmV0cmlldmVEb2N1bWVudE5vZGUobm9kZUlkLCBwYWdpbmF0aW9uLCBpbmNsdWRlRmllbGRzLCB3aGVyZSwgb3JkZXJCeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJldHJpZXZlRG9jdW1lbnROb2RlKFxuICAgICAgICBub2RlSWQ6IHN0cmluZyxcbiAgICAgICAgcGFnaW5hdGlvbjogUGFnaW5hdGlvbk1vZGVsLFxuICAgICAgICBpbmNsdWRlRmllbGRzOiBzdHJpbmdbXSxcbiAgICAgICAgd2hlcmU/OiBzdHJpbmcsXG4gICAgICAgIG9yZGVyQnk/OiBzdHJpbmdbXVxuICAgICk6IE9ic2VydmFibGU8RG9jdW1lbnRMb2FkZXJOb2RlPiB7XG4gICAgICAgIHJldHVybiBmb3JrSm9pbihbXG4gICAgICAgICAgICB0aGlzLmdldEZvbGRlck5vZGUobm9kZUlkLCBpbmNsdWRlRmllbGRzKSxcbiAgICAgICAgICAgIHRoaXMuZ2V0Rm9sZGVyKFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBtYXhJdGVtczogcGFnaW5hdGlvbi5tYXhJdGVtcyxcbiAgICAgICAgICAgICAgICAgICAgc2tpcENvdW50OiBwYWdpbmF0aW9uLnNraXBDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgb3JkZXJCeSxcbiAgICAgICAgICAgICAgICAgICAgcm9vdEZvbGRlcklkOiBub2RlSWQsXG4gICAgICAgICAgICAgICAgICAgIHdoZXJlXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBpbmNsdWRlRmllbGRzXG4gICAgICAgICAgICApXG4gICAgICAgIF0pLnBpcGUobWFwKChyZXN1bHRzKSA9PiBuZXcgRG9jdW1lbnRMb2FkZXJOb2RlKHJlc3VsdHNbMF0sIHJlc3VsdHNbMV0pKSk7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { TranslationService } from '@alfresco/adf-core';
|
|
18
|
+
import { ContentService } from '../../common/services/content.service';
|
|
19
|
+
import { Injectable } from '@angular/core';
|
|
20
|
+
import { Subject, throwError, of } from 'rxjs';
|
|
21
|
+
import { PermissionModel } from '../models/permissions.model';
|
|
22
|
+
import { DocumentListService } from './document-list.service';
|
|
23
|
+
import { NodeActionsService } from './node-actions.service';
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
import * as i1 from "./node-actions.service";
|
|
26
|
+
import * as i2 from "./document-list.service";
|
|
27
|
+
import * as i3 from "../../common/services/content.service";
|
|
28
|
+
import * as i4 from "@alfresco/adf-core";
|
|
29
|
+
export class FolderActionsService {
|
|
30
|
+
constructor(nodeActionsService, documentListService, contentService, translation) {
|
|
31
|
+
this.nodeActionsService = nodeActionsService;
|
|
32
|
+
this.documentListService = documentListService;
|
|
33
|
+
this.contentService = contentService;
|
|
34
|
+
this.translation = translation;
|
|
35
|
+
this.permissionEvent = new Subject();
|
|
36
|
+
this.error = new Subject();
|
|
37
|
+
this.success = new Subject();
|
|
38
|
+
this.handlers = {};
|
|
39
|
+
this.setupActionHandlers();
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Gets the handler function for an action.
|
|
43
|
+
*
|
|
44
|
+
* @param key Identifier for the action
|
|
45
|
+
* @returns The handler function
|
|
46
|
+
*/
|
|
47
|
+
getHandler(key) {
|
|
48
|
+
if (key) {
|
|
49
|
+
const lKey = key.toLowerCase();
|
|
50
|
+
return this.handlers[lKey] || null;
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Sets a new handler function for an action.
|
|
56
|
+
*
|
|
57
|
+
* @param key Identifier for the action
|
|
58
|
+
* @param handler The new handler function
|
|
59
|
+
* @returns True if the key was a valid action identifier, false otherwise
|
|
60
|
+
*/
|
|
61
|
+
setHandler(key, handler) {
|
|
62
|
+
if (key) {
|
|
63
|
+
const lKey = key.toLowerCase();
|
|
64
|
+
this.handlers[lKey] = handler;
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Checks if an action is available for a particular item.
|
|
71
|
+
*
|
|
72
|
+
* @param nodeEntry Item to check
|
|
73
|
+
* @returns True if the action is available, false otherwise
|
|
74
|
+
*/
|
|
75
|
+
canExecuteAction(nodeEntry) {
|
|
76
|
+
return this.documentListService && nodeEntry && nodeEntry.entry.isFolder === true;
|
|
77
|
+
}
|
|
78
|
+
setupActionHandlers() {
|
|
79
|
+
this.handlers['copy'] = this.copyNode.bind(this);
|
|
80
|
+
this.handlers['move'] = this.moveNode.bind(this);
|
|
81
|
+
this.handlers['delete'] = this.deleteNode.bind(this);
|
|
82
|
+
this.handlers['download'] = this.downloadNode.bind(this);
|
|
83
|
+
}
|
|
84
|
+
downloadNode(nodeEntry) {
|
|
85
|
+
this.nodeActionsService.downloadNode(nodeEntry);
|
|
86
|
+
}
|
|
87
|
+
copyNode(nodeEntry, target, permission) {
|
|
88
|
+
const actionObservable = this.nodeActionsService.copyFolder(nodeEntry.entry, permission);
|
|
89
|
+
this.prepareHandlers(actionObservable, target);
|
|
90
|
+
return actionObservable;
|
|
91
|
+
}
|
|
92
|
+
moveNode(nodeEntry, target, permission) {
|
|
93
|
+
const actionObservable = this.nodeActionsService.moveFolder(nodeEntry.entry, permission);
|
|
94
|
+
this.prepareHandlers(actionObservable, target);
|
|
95
|
+
return actionObservable;
|
|
96
|
+
}
|
|
97
|
+
prepareHandlers(actionObservable, target) {
|
|
98
|
+
actionObservable.subscribe((fileOperationMessage) => {
|
|
99
|
+
if (target && typeof target.reload === 'function') {
|
|
100
|
+
target.reload();
|
|
101
|
+
}
|
|
102
|
+
this.success.next(fileOperationMessage);
|
|
103
|
+
}, this.error.next.bind(this.error));
|
|
104
|
+
}
|
|
105
|
+
deleteNode(node, target, permission) {
|
|
106
|
+
if (this.canExecuteAction(node)) {
|
|
107
|
+
if (this.contentService.hasAllowableOperations(node.entry, permission)) {
|
|
108
|
+
const handlerObservable = this.documentListService.deleteNode(node.entry.id);
|
|
109
|
+
handlerObservable.subscribe(() => {
|
|
110
|
+
if (target && typeof target.reload === 'function') {
|
|
111
|
+
target.reload();
|
|
112
|
+
}
|
|
113
|
+
const message = this.translation.instant('CORE.DELETE_NODE.SINGULAR', { name: node.entry.name });
|
|
114
|
+
this.success.next(message);
|
|
115
|
+
}, () => {
|
|
116
|
+
const message = this.translation.instant('CORE.DELETE_NODE.ERROR_SINGULAR', { name: node.entry.name });
|
|
117
|
+
this.error.next(message);
|
|
118
|
+
});
|
|
119
|
+
return handlerObservable;
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
this.permissionEvent.next(new PermissionModel({ type: 'folder', action: 'delete', permission }));
|
|
123
|
+
return throwError(new Error('No permission to delete'));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return of();
|
|
127
|
+
}
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FolderActionsService, deps: [{ token: i1.NodeActionsService }, { token: i2.DocumentListService }, { token: i3.ContentService }, { token: i4.TranslationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
129
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FolderActionsService, providedIn: 'root' }); }
|
|
130
|
+
}
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FolderActionsService, decorators: [{
|
|
132
|
+
type: Injectable,
|
|
133
|
+
args: [{
|
|
134
|
+
providedIn: 'root'
|
|
135
|
+
}]
|
|
136
|
+
}], ctorParameters: () => [{ type: i1.NodeActionsService }, { type: i2.DocumentListService }, { type: i3.ContentService }, { type: i4.TranslationService }] });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9sZGVyLWFjdGlvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvZG9jdW1lbnQtbGlzdC9zZXJ2aWNlcy9mb2xkZXItYWN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN2RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDOUQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7OztBQUs1RCxNQUFNLE9BQU8sb0JBQW9CO0lBTzdCLFlBQ1ksa0JBQXNDLEVBQ3RDLG1CQUF3QyxFQUN4QyxjQUE4QixFQUM5QixXQUErQjtRQUgvQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQVYzQyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBQ2pELFVBQUssR0FBRyxJQUFJLE9BQU8sRUFBUyxDQUFDO1FBQzdCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRXhCLGFBQVEsR0FBMkMsRUFBRSxDQUFDO1FBUTFELElBQUksQ0FB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QUMsSUFBSSxlQUFlLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNqRyxPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLEVBQUUsRUFBRSxDQUFDO0lBQ2hCLENBQUM7K0dBbkhRLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRmpCLE1BQU07OzRGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTm9kZUVudHJ5IH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0aHJvd0Vycm9yLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQ29udGVudEFjdGlvbkhhbmRsZXIgfSBmcm9tICcuLi9tb2RlbHMvY29udGVudC1hY3Rpb24ubW9kZWwnO1xuaW1wb3J0IHsgUGVybWlzc2lvbk1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3Blcm1pc3Npb25zLm1vZGVsJztcbmltcG9ydCB7IERvY3VtZW50TGlzdFNlcnZpY2UgfSBmcm9tICcuL2RvY3VtZW50LWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBOb2RlQWN0aW9uc1NlcnZpY2UgfSBmcm9tICcuL25vZGUtYWN0aW9ucy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGb2xkZXJBY3Rpb25zU2VydmljZSB7XG4gICAgcGVybWlzc2lvbkV2ZW50ID0gbmV3IFN1YmplY3Q8UGVybWlzc2lvbk1vZGVsPigpO1xuICAgIGVycm9yID0gbmV3IFN1YmplY3Q8RXJyb3I+KCk7XG4gICAgc3VjY2VzcyA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgIHByaXZhdGUgaGFuZGxlcnM6IHsgW2lkOiBzdHJpbmddOiBDb250ZW50QWN0aW9uSGFuZGxlciB9ID0ge307XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBub2RlQWN0aW9uc1NlcnZpY2U6IE5vZGVBY3Rpb25zU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkb2N1bWVudExpc3RTZXJ2aWNlOiBEb2N1bWVudExpc3RTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbnRlbnRTZXJ2aWNlOiBDb250ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGlvbjogVHJhbnNsYXRpb25TZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIHRoaXMuc2V0dXBBY3Rpb25IYW5kbGVycygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIGhhbmRsZXIgZnVuY3Rpb24gZm9yIGFuIGFjdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgSWRlbnRpZmllciBmb3IgdGhlIGFjdGlvblxuICAgICAqIEByZXR1cm5zIFRoZSBoYW5kbGVyIGZ1bmN0aW9uXG4gICAgICovXG4gICAgZ2V0SGFuZGxlcihrZXk6IHN0cmluZyk6IENvbnRlbnRBY3Rpb25IYW5kbGVyIHtcbiAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgY29uc3QgbEtleSA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlcnNbbEtleV0gfHwgbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgbmV3IGhhbmRsZXIgZnVuY3Rpb24gZm9yIGFuIGFjdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBrZXkgSWRlbnRpZmllciBmb3IgdGhlIGFjdGlvblxuICAgICAqIEBwYXJhbSBoYW5kbGVyIFRoZSBuZXcgaGFuZGxlciBmdW5jdGlvblxuICAgICAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGtleSB3YXMgYSB2YWxpZCBhY3Rpb24gaWRlbnRpZmllciwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgc2V0SGFuZGxlcihrZXk6IHN0cmluZywgaGFuZGxlcjogQ29udGVudEFjdGlvbkhhbmRsZXIpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgY29uc3QgbEtleSA9IGtleS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVyc1tsS2V5XSA9IGhhbmRsZXI7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIGFuIGFjdGlvbiBpcyBhdmFpbGFibGUgZm9yIGEgcGFydGljdWxhciBpdGVtLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5vZGVFbnRyeSBJdGVtIHRvIGNoZWNrXG4gICAgICogQHJldHVybnMgVHJ1ZSBpZiB0aGUgYWN0aW9uIGlzIGF2YWlsYWJsZSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgICovXG4gICAgY2FuRXhlY3V0ZUFjdGlvbihub2RlRW50cnk6IE5vZGVFbnRyeSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb2N1bWVudExpc3RTZXJ2aWNlICYmIG5vZGVFbnRyeSAmJiBub2RlRW50cnkuZW50cnkuaXNGb2xkZXIgPT09IHRydWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEFjdGlvbkhhbmRsZXJzKCkge1xuICAgICAgICB0aGlzLmhhbmRsZXJzWydjb3B5J10gPSB0aGlzLmNvcHlOb2RlLmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuaGFuZGxlcnNbJ21vdmUnXSA9IHRoaXMubW92ZU5vZGUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5oYW5kbGVyc1snZGVsZXRlJ10gPSB0aGlzLmRlbGV0ZU5vZGUuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5oYW5kbGVyc1snZG93bmxvYWQnXSA9IHRoaXMuZG93bmxvYWROb2RlLmJpbmQodGhpcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBkb3dubG9hZE5vZGUobm9kZUVudHJ5OiBOb2RlRW50cnkpIHtcbiAgICAgICAgdGhpcy5ub2RlQWN0aW9uc1NlcnZpY2UuZG93bmxvYWROb2RlKG5vZGVFbnRyeSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb3B5Tm9kZShub2RlRW50cnk6IE5vZGVFbnRyeSwgdGFyZ2V0PzogYW55LCBwZXJtaXNzaW9uPzogc3RyaW5nKSB7XG4gICAgICAgIGNvbnN0IGFjdGlvbk9ic2VydmFibGUgPSB0aGlzLm5vZGVBY3Rpb25zU2VydmljZS5jb3B5Rm9sZGVyKG5vZGVFbnRyeS5lbnRyeSwgcGVybWlzc2lvbik7XG4gICAgICAgIHRoaXMucHJlcGFyZUhhbmRsZXJzKGFjdGlvbk9ic2VydmFibGUsIHRhcmdldCk7XG4gICAgICAgIHJldHVybiBhY3Rpb25PYnNlcnZhYmxlO1xuICAgIH1cblxuICAgIHByaXZhdGUgbW92ZU5vZGUobm9kZUVudHJ5OiBOb2RlRW50cnksIHRhcmdldD86IGFueSwgcGVybWlzc2lvbj86IHN0cmluZykge1xuICAgICAgICBjb25zdCBhY3Rpb25PYnNlcnZhYmxlID0gdGhpcy5ub2RlQWN0aW9uc1NlcnZpY2UubW92ZUZvbGRlcihub2RlRW50cnkuZW50cnksIHBlcm1pc3Npb24pO1xuICAgICAgICB0aGlzLnByZXBhcmVIYW5kbGVycyhhY3Rpb25PYnNlcnZhYmxlLCB0YXJnZXQpO1xuICAgICAgICByZXR1cm4gYWN0aW9uT2JzZXJ2YWJsZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZXBhcmVIYW5kbGVycyhhY3Rpb25PYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4sIHRhcmdldD86IGFueSk6IHZvaWQge1xuICAgICAgICBhY3Rpb25PYnNlcnZhYmxlLnN1YnNjcmliZSgoZmlsZU9wZXJhdGlvbk1lc3NhZ2UpID0+IHtcbiAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdHlwZW9mIHRhcmdldC5yZWxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICB0YXJnZXQucmVsb2FkKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnN1Y2Nlc3MubmV4dChmaWxlT3BlcmF0aW9uTWVzc2FnZSk7XG4gICAgICAgIH0sIHRoaXMuZXJyb3IubmV4dC5iaW5kKHRoaXMuZXJyb3IpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGRlbGV0ZU5vZGUobm9kZTogTm9kZUVudHJ5LCB0YXJnZXQ/OiBhbnksIHBlcm1pc3Npb24/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAodGhpcy5jYW5FeGVjdXRlQWN0aW9uKG5vZGUpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5jb250ZW50U2VydmljZS5oYXNBbGxvd2FibGVPcGVyYXRpb25zKG5vZGUuZW50cnksIHBlcm1pc3Npb24pKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFuZGxlck9ic2VydmFibGUgPSB0aGlzLmRvY3VtZW50TGlzdFNlcnZpY2UuZGVsZXRlTm9kZShub2RlLmVudHJ5LmlkKTtcbiAgICAgICAgICAgICAgICBoYW5kbGVyT2JzZXJ2YWJsZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0YXJnZXQgJiYgdHlwZW9mIHRhcmdldC5yZWxvYWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0aW9uLmluc3RhbnQoJ0NPUkUuREVMRVRFX05PREUuU0lOR1VMQVInLCB7IG5hbWU6IG5vZGUuZW50cnkubmFtZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3VjY2Vzcy5uZXh0KG1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy50cmFuc2xhdGlvbi5pbnN0YW50KCdDT1JFLkRFTEVURV9OT0RFLkVSUk9SX1NJTkdVTEFSJywgeyBuYW1lOiBub2RlLmVudHJ5Lm5hbWUgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmVycm9yLm5leHQobWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZXJPYnNlcnZhYmxlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBlcm1pc3Npb25FdmVudC5uZXh0KG5ldyBQZXJtaXNzaW9uTW9kZWwoeyB0eXBlOiAnZm9sZGVyJywgYWN0aW9uOiAnZGVsZXRlJywgcGVybWlzc2lvbiB9KSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdObyBwZXJtaXNzaW9uIHRvIGRlbGV0ZScpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvZigpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { Injectable } from '@angular/core';
|
|
18
|
+
import { AuthenticationService } from '@alfresco/adf-core';
|
|
19
|
+
import { isAfter } from 'date-fns';
|
|
20
|
+
import * as i0 from "@angular/core";
|
|
21
|
+
import * as i1 from "@alfresco/adf-core";
|
|
22
|
+
export class LockService {
|
|
23
|
+
constructor(authService) {
|
|
24
|
+
this.authService = authService;
|
|
25
|
+
}
|
|
26
|
+
isLocked(node) {
|
|
27
|
+
let isLocked = false;
|
|
28
|
+
if (this.hasLockConfigured(node)) {
|
|
29
|
+
if (this.isReadOnlyLock(node)) {
|
|
30
|
+
isLocked = !this.isLockExpired(node);
|
|
31
|
+
}
|
|
32
|
+
else if (this.isLockOwnerAllowed(node)) {
|
|
33
|
+
isLocked = this.authService.getEcmUsername() !== node.properties['cm:lockOwner'].id;
|
|
34
|
+
if (this.isLockExpired(node)) {
|
|
35
|
+
isLocked = false;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return isLocked;
|
|
40
|
+
}
|
|
41
|
+
hasLockConfigured(node) {
|
|
42
|
+
return node.isFile && node.isLocked && node.properties['cm:lockType'];
|
|
43
|
+
}
|
|
44
|
+
isReadOnlyLock(node) {
|
|
45
|
+
return node.properties['cm:lockType'] === 'READ_ONLY_LOCK' && node.properties['cm:lockLifetime'] === 'PERSISTENT';
|
|
46
|
+
}
|
|
47
|
+
isLockOwnerAllowed(node) {
|
|
48
|
+
return node.properties['cm:lockType'] === 'WRITE_LOCK' && node.properties['cm:lockLifetime'] === 'PERSISTENT';
|
|
49
|
+
}
|
|
50
|
+
getLockExpiryTime(node) {
|
|
51
|
+
if (node.properties['cm:expiryDate']) {
|
|
52
|
+
return new Date(node.properties['cm:expiryDate']);
|
|
53
|
+
}
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
isLockExpired(node) {
|
|
57
|
+
const expiryLockTime = this.getLockExpiryTime(node);
|
|
58
|
+
if (expiryLockTime) {
|
|
59
|
+
return isAfter(new Date(), expiryLockTime);
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LockService, deps: [{ token: i1.AuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
64
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LockService, providedIn: 'root' }); }
|
|
65
|
+
}
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LockService, decorators: [{
|
|
67
|
+
type: Injectable,
|
|
68
|
+
args: [{
|
|
69
|
+
providedIn: 'root'
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: () => [{ type: i1.AuthenticationService }] });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jay5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9kb2N1bWVudC1saXN0L3NlcnZpY2VzL2xvY2suc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzNELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQUtuQyxNQUFNLE9BQU8sV0FBVztJQUNwQixZQUFvQixXQUFrQztRQUFsQyxnQkFBVyxHQUFYLFdBQVcsQ0FBdUI7SUFBRyxDQUFDO0lBRTFELFFBQVEsQ0FBQyxJQUFVO1FBQ2YsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQzVCLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekMsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDcEYsSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7b0JBQzNCLFFBQVEsR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLENBQUM7WUFDTCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxJQUFVO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFVO1FBQzdCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLEtBQUssWUFBWSxDQUFDO0lBQ3RILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxJQUFVO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxZQUFZLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLFlBQVksQ0FBQztJQUNsSCxDQUFDO0lBRU8saUJBQWlCLENBQUMsSUFBVTtRQUNoQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUNuQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFVO1FBQzVCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRCxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDL0MsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7K0dBM0NRLFdBQVc7bUhBQVgsV0FBVyxjQUZSLE1BQU07OzRGQUVULFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOb2RlIH0gZnJvbSAnQGFsZnJlc2NvL2pzLWFwaSc7XG5pbXBvcnQgeyBBdXRoZW50aWNhdGlvblNlcnZpY2UgfSBmcm9tICdAYWxmcmVzY28vYWRmLWNvcmUnO1xuaW1wb3J0IHsgaXNBZnRlciB9IGZyb20gJ2RhdGUtZm5zJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMb2NrU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aGVudGljYXRpb25TZXJ2aWNlKSB7fVxuXG4gICAgaXNMb2NrZWQobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICBsZXQgaXNMb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuaGFzTG9ja0NvbmZpZ3VyZWQobm9kZSkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVhZE9ubHlMb2NrKG5vZGUpKSB7XG4gICAgICAgICAgICAgICAgaXNMb2NrZWQgPSAhdGhpcy5pc0xvY2tFeHBpcmVkKG5vZGUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzTG9ja093bmVyQWxsb3dlZChub2RlKSkge1xuICAgICAgICAgICAgICAgIGlzTG9ja2VkID0gdGhpcy5hdXRoU2VydmljZS5nZXRFY21Vc2VybmFtZSgpICE9PSBub2RlLnByb3BlcnRpZXNbJ2NtOmxvY2tPd25lciddLmlkO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzTG9ja0V4cGlyZWQobm9kZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNMb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzTG9ja2VkO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzTG9ja0NvbmZpZ3VyZWQobm9kZTogTm9kZSk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gbm9kZS5pc0ZpbGUgJiYgbm9kZS5pc0xvY2tlZCAmJiBub2RlLnByb3BlcnRpZXNbJ2NtOmxvY2tUeXBlJ107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1JlYWRPbmx5TG9jayhub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBub2RlLnByb3BlcnRpZXNbJ2NtOmxvY2tUeXBlJ10gPT09ICdSRUFEX09OTFlfTE9DSycgJiYgbm9kZS5wcm9wZXJ0aWVzWydjbTpsb2NrTGlmZXRpbWUnXSA9PT0gJ1BFUlNJU1RFTlQnO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNMb2NrT3duZXJBbGxvd2VkKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIG5vZGUucHJvcGVydGllc1snY206bG9ja1R5cGUnXSA9PT0gJ1dSSVRFX0xPQ0snICYmIG5vZGUucHJvcGVydGllc1snY206bG9ja0xpZmV0aW1lJ10gPT09ICdQRVJTSVNURU5UJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldExvY2tFeHBpcnlUaW1lKG5vZGU6IE5vZGUpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKG5vZGUucHJvcGVydGllc1snY206ZXhwaXJ5RGF0ZSddKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUobm9kZS5wcm9wZXJ0aWVzWydjbTpleHBpcnlEYXRlJ10pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc0xvY2tFeHBpcmVkKG5vZGU6IE5vZGUpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZXhwaXJ5TG9ja1RpbWUgPSB0aGlzLmdldExvY2tFeHBpcnlUaW1lKG5vZGUpO1xuICAgICAgICBpZiAoZXhwaXJ5TG9ja1RpbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBpc0FmdGVyKG5ldyBEYXRlKCksIGV4cGlyeUxvY2tUaW1lKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuIl19
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { Injectable, Output, EventEmitter } from '@angular/core';
|
|
18
|
+
import { Subject } from 'rxjs';
|
|
19
|
+
import { DownloadService } from '@alfresco/adf-core';
|
|
20
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
21
|
+
import { ContentService } from '../../common/services/content.service';
|
|
22
|
+
import { NodeDownloadDirective } from '../../directives/node-download.directive';
|
|
23
|
+
import { AlfrescoApiService } from '../../services/alfresco-api.service';
|
|
24
|
+
import { DocumentListService } from './document-list.service';
|
|
25
|
+
import { ContentNodeDialogService } from '../../content-node-selector/content-node-dialog.service';
|
|
26
|
+
import { NodeAction } from '../models/node-action.enum';
|
|
27
|
+
import * as i0 from "@angular/core";
|
|
28
|
+
import * as i1 from "../../content-node-selector/content-node-dialog.service";
|
|
29
|
+
import * as i2 from "@angular/material/dialog";
|
|
30
|
+
import * as i3 from "../../common/services/content.service";
|
|
31
|
+
import * as i4 from "./document-list.service";
|
|
32
|
+
import * as i5 from "../../services/alfresco-api.service";
|
|
33
|
+
import * as i6 from "@alfresco/adf-core";
|
|
34
|
+
// eslint-disable-next-line @angular-eslint/directive-class-suffix
|
|
35
|
+
export class NodeActionsService {
|
|
36
|
+
constructor(contentDialogService, dialogRef, content, documentListService, apiService, dialog, downloadService) {
|
|
37
|
+
this.contentDialogService = contentDialogService;
|
|
38
|
+
this.dialogRef = dialogRef;
|
|
39
|
+
this.content = content;
|
|
40
|
+
this.documentListService = documentListService;
|
|
41
|
+
this.apiService = apiService;
|
|
42
|
+
this.dialog = dialog;
|
|
43
|
+
this.downloadService = downloadService;
|
|
44
|
+
this.error = new EventEmitter();
|
|
45
|
+
}
|
|
46
|
+
downloadNode(node) {
|
|
47
|
+
new NodeDownloadDirective(this.apiService, this.downloadService, this.dialog).downloadNode(node);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Copy content node
|
|
51
|
+
*
|
|
52
|
+
* @param contentEntry node to copy
|
|
53
|
+
* @param permission permission which is needed to apply the action
|
|
54
|
+
* @returns operation result
|
|
55
|
+
*/
|
|
56
|
+
copyContent(contentEntry, permission) {
|
|
57
|
+
return this.doFileOperation(NodeAction.COPY, 'content', contentEntry, permission);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Copy folder node
|
|
61
|
+
*
|
|
62
|
+
* @param contentEntry node to copy
|
|
63
|
+
* @param permission permission which is needed to apply the action
|
|
64
|
+
* @returns operation result
|
|
65
|
+
*/
|
|
66
|
+
copyFolder(contentEntry, permission) {
|
|
67
|
+
return this.doFileOperation(NodeAction.COPY, 'folder', contentEntry, permission);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Move content node
|
|
71
|
+
*
|
|
72
|
+
* @param contentEntry node to move
|
|
73
|
+
* @param permission permission which is needed to apply the action
|
|
74
|
+
* @returns operation result
|
|
75
|
+
*/
|
|
76
|
+
moveContent(contentEntry, permission) {
|
|
77
|
+
return this.doFileOperation(NodeAction.MOVE, 'content', contentEntry, permission);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Move folder node
|
|
81
|
+
*
|
|
82
|
+
* @param contentEntry node to move
|
|
83
|
+
* @param permission permission which is needed to apply the action
|
|
84
|
+
* @returns operation result
|
|
85
|
+
*/
|
|
86
|
+
moveFolder(contentEntry, permission) {
|
|
87
|
+
return this.doFileOperation(NodeAction.MOVE, 'folder', contentEntry, permission);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* General method for performing the given operation (copy|move)
|
|
91
|
+
*
|
|
92
|
+
* @param action the action to perform (copy|move)
|
|
93
|
+
* @param type type of the content (content|folder)
|
|
94
|
+
* @param contentEntry the contentEntry which has to have the action performed on
|
|
95
|
+
* @param permission permission which is needed to apply the action
|
|
96
|
+
* @returns operation result
|
|
97
|
+
*/
|
|
98
|
+
doFileOperation(action, type, contentEntry, permission) {
|
|
99
|
+
const observable = new Subject();
|
|
100
|
+
this.contentDialogService.openCopyMoveDialog(action, contentEntry, permission).subscribe((selections) => {
|
|
101
|
+
const selection = selections[0];
|
|
102
|
+
this.documentListService[`${action.toLowerCase()}Node`]
|
|
103
|
+
.call(this.documentListService, contentEntry.id, selection.id)
|
|
104
|
+
.subscribe(observable.next.bind(observable, `OPERATION.SUCCESS.${type.toUpperCase()}.${action}`), observable.error.bind(observable));
|
|
105
|
+
}, (error) => {
|
|
106
|
+
observable.error(error);
|
|
107
|
+
return observable;
|
|
108
|
+
});
|
|
109
|
+
return observable;
|
|
110
|
+
}
|
|
111
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeActionsService, deps: [{ token: i1.ContentNodeDialogService }, { token: i2.MatDialog }, { token: i3.ContentService }, { token: i4.DocumentListService }, { token: i5.AlfrescoApiService }, { token: i2.MatDialog }, { token: i6.DownloadService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
112
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeActionsService, providedIn: 'root' }); }
|
|
113
|
+
}
|
|
114
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NodeActionsService, decorators: [{
|
|
115
|
+
type: Injectable,
|
|
116
|
+
args: [{
|
|
117
|
+
providedIn: 'root'
|
|
118
|
+
}]
|
|
119
|
+
}], ctorParameters: () => [{ type: i1.ContentNodeDialogService }, { type: i2.MatDialog }, { type: i3.ContentService }, { type: i4.DocumentListService }, { type: i5.AlfrescoApiService }, { type: i2.MatDialog }, { type: i6.DownloadService }], propDecorators: { error: [{
|
|
120
|
+
type: Output
|
|
121
|
+
}] } });
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1hY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2RvY3VtZW50LWxpc3Qvc2VydmljZXMvbm9kZS1hY3Rpb25zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWpFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDakYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbkcsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7OztBQUt4RCxrRUFBa0U7QUFDbEUsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixZQUNZLG9CQUE4QyxFQUMvQyxTQUFvQixFQUNwQixPQUF1QixFQUN0QixtQkFBeUMsRUFDekMsVUFBK0IsRUFDL0IsTUFBa0IsRUFDbEIsZUFBaUM7UUFOakMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQUMvQyxjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQ3BCLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQ3RCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBc0I7UUFDekMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFUN0MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7SUFVN0IsQ0FBQztJQUVKLFlBQVksQ0FBQyxJQUFlO1FBQ3hCLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckcsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxZQUFrQixFQUFFLFVBQW1CO1FBQy9DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFVBQVUsQ0FBQyxZQUFrQixFQUFFLFVBQW1CO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxZQUFrQixFQUFFLFVBQW1CO1FBQy9DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFVBQVUsQ0FBQyxZQUFrQixFQUFFLFVBQW1CO1FBQzlDLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDckYsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ssZUFBZSxDQUNuQixNQUF5QyxFQUN6QyxJQUEwQixFQUMxQixZQUFrQixFQUNsQixVQUFtQjtRQUVuQixNQUFNLFVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBVSxDQUFDO1FBRXpDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FDcEYsQ0FBQyxVQUFrQixFQUFFLEVBQUU7WUFDbkIsTUFBTSxTQUFTLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDO2lCQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLFlBQVksQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQztpQkFDN0QsU0FBUyxDQUNOLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxxQkFBcUIsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLE1BQU0sRUFBRSxDQUFDLEVBQ3JGLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUNwQyxDQUFDO1FBQ1YsQ0FBQyxFQUNELENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDTixVQUFVLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLE9BQU8sVUFBVSxDQUFDO1FBQ3RCLENBQUMsQ0FDSixDQUFDO1FBQ0YsT0FBTyxVQUFVLENBQUM7SUFDdEIsQ0FBQzsrR0EvRlEsa0JBQWtCO21IQUFsQixrQkFBa0IsY0FIZixNQUFNOzs0RkFHVCxrQkFBa0I7a0JBSjlCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzJRQUlHLEtBQUs7c0JBREosTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCDCqSAyMDA1LTIwMjUgSHlsYW5kIFNvZnR3YXJlLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5vZGUsIE5vZGVFbnRyeSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRG93bmxvYWRTZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgTm9kZURvd25sb2FkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9ub2RlLWRvd25sb2FkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBBbGZyZXNjb0FwaVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hbGZyZXNjby1hcGkuc2VydmljZSc7XG5cbmltcG9ydCB7IERvY3VtZW50TGlzdFNlcnZpY2UgfSBmcm9tICcuL2RvY3VtZW50LWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBDb250ZW50Tm9kZURpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9jb250ZW50LW5vZGUtc2VsZWN0b3IvY29udGVudC1ub2RlLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7IE5vZGVBY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvbm9kZS1hY3Rpb24uZW51bSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2RpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBjbGFzcyBOb2RlQWN0aW9uc1NlcnZpY2Uge1xuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBjb250ZW50RGlhbG9nU2VydmljZTogQ29udGVudE5vZGVEaWFsb2dTZXJ2aWNlLFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2csXG4gICAgICAgIHB1YmxpYyBjb250ZW50OiBDb250ZW50U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBkb2N1bWVudExpc3RTZXJ2aWNlPzogRG9jdW1lbnRMaXN0U2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcGlTZXJ2aWNlPzogQWxmcmVzY29BcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZz86IE1hdERpYWxvZyxcbiAgICAgICAgcHJpdmF0ZSBkb3dubG9hZFNlcnZpY2U/OiBEb3dubG9hZFNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBkb3dubG9hZE5vZGUobm9kZTogTm9kZUVudHJ5KSB7XG4gICAgICAgIG5ldyBOb2RlRG93bmxvYWREaXJlY3RpdmUodGhpcy5hcGlTZXJ2aWNlLCB0aGlzLmRvd25sb2FkU2VydmljZSwgdGhpcy5kaWFsb2cpLmRvd25sb2FkTm9kZShub2RlKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3B5IGNvbnRlbnQgbm9kZVxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRlbnRFbnRyeSBub2RlIHRvIGNvcHlcbiAgICAgKiBAcGFyYW0gcGVybWlzc2lvbiBwZXJtaXNzaW9uIHdoaWNoIGlzIG5lZWRlZCB0byBhcHBseSB0aGUgYWN0aW9uXG4gICAgICogQHJldHVybnMgb3BlcmF0aW9uIHJlc3VsdFxuICAgICAqL1xuICAgIGNvcHlDb250ZW50KGNvbnRlbnRFbnRyeTogTm9kZSwgcGVybWlzc2lvbj86IHN0cmluZyk6IFN1YmplY3Q8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvRmlsZU9wZXJhdGlvbihOb2RlQWN0aW9uLkNPUFksICdjb250ZW50JywgY29udGVudEVudHJ5LCBwZXJtaXNzaW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3B5IGZvbGRlciBub2RlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudEVudHJ5IG5vZGUgdG8gY29weVxuICAgICAqIEBwYXJhbSBwZXJtaXNzaW9uIHBlcm1pc3Npb24gd2hpY2ggaXMgbmVlZGVkIHRvIGFwcGx5IHRoZSBhY3Rpb25cbiAgICAgKiBAcmV0dXJucyBvcGVyYXRpb24gcmVzdWx0XG4gICAgICovXG4gICAgY29weUZvbGRlcihjb250ZW50RW50cnk6IE5vZGUsIHBlcm1pc3Npb24/OiBzdHJpbmcpOiBTdWJqZWN0PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb0ZpbGVPcGVyYXRpb24oTm9kZUFjdGlvbi5DT1BZLCAnZm9sZGVyJywgY29udGVudEVudHJ5LCBwZXJtaXNzaW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNb3ZlIGNvbnRlbnQgbm9kZVxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRlbnRFbnRyeSBub2RlIHRvIG1vdmVcbiAgICAgKiBAcGFyYW0gcGVybWlzc2lvbiBwZXJtaXNzaW9uIHdoaWNoIGlzIG5lZWRlZCB0byBhcHBseSB0aGUgYWN0aW9uXG4gICAgICogQHJldHVybnMgb3BlcmF0aW9uIHJlc3VsdFxuICAgICAqL1xuICAgIG1vdmVDb250ZW50KGNvbnRlbnRFbnRyeTogTm9kZSwgcGVybWlzc2lvbj86IHN0cmluZyk6IFN1YmplY3Q8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmRvRmlsZU9wZXJhdGlvbihOb2RlQWN0aW9uLk1PVkUsICdjb250ZW50JywgY29udGVudEVudHJ5LCBwZXJtaXNzaW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNb3ZlIGZvbGRlciBub2RlXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY29udGVudEVudHJ5IG5vZGUgdG8gbW92ZVxuICAgICAqIEBwYXJhbSBwZXJtaXNzaW9uIHBlcm1pc3Npb24gd2hpY2ggaXMgbmVlZGVkIHRvIGFwcGx5IHRoZSBhY3Rpb25cbiAgICAgKiBAcmV0dXJucyBvcGVyYXRpb24gcmVzdWx0XG4gICAgICovXG4gICAgbW92ZUZvbGRlcihjb250ZW50RW50cnk6IE5vZGUsIHBlcm1pc3Npb24/OiBzdHJpbmcpOiBTdWJqZWN0PHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kb0ZpbGVPcGVyYXRpb24oTm9kZUFjdGlvbi5NT1ZFLCAnZm9sZGVyJywgY29udGVudEVudHJ5LCBwZXJtaXNzaW9uKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW5lcmFsIG1ldGhvZCBmb3IgcGVyZm9ybWluZyB0aGUgZ2l2ZW4gb3BlcmF0aW9uIChjb3B5fG1vdmUpXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWN0aW9uIHRoZSBhY3Rpb24gdG8gcGVyZm9ybSAoY29weXxtb3ZlKVxuICAgICAqIEBwYXJhbSB0eXBlIHR5cGUgb2YgdGhlIGNvbnRlbnQgKGNvbnRlbnR8Zm9sZGVyKVxuICAgICAqIEBwYXJhbSBjb250ZW50RW50cnkgdGhlIGNvbnRlbnRFbnRyeSB3aGljaCBoYXMgdG8gaGF2ZSB0aGUgYWN0aW9uIHBlcmZvcm1lZCBvblxuICAgICAqIEBwYXJhbSBwZXJtaXNzaW9uIHBlcm1pc3Npb24gd2hpY2ggaXMgbmVlZGVkIHRvIGFwcGx5IHRoZSBhY3Rpb25cbiAgICAgKiBAcmV0dXJucyBvcGVyYXRpb24gcmVzdWx0XG4gICAgICovXG4gICAgcHJpdmF0ZSBkb0ZpbGVPcGVyYXRpb24oXG4gICAgICAgIGFjdGlvbjogTm9kZUFjdGlvbi5DT1BZIHwgTm9kZUFjdGlvbi5NT1ZFLFxuICAgICAgICB0eXBlOiAnY29udGVudCcgfCAnZm9sZGVyJyxcbiAgICAgICAgY29udGVudEVudHJ5OiBOb2RlLFxuICAgICAgICBwZXJtaXNzaW9uPzogc3RyaW5nXG4gICAgKTogU3ViamVjdDxzdHJpbmc+IHtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZSA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcblxuICAgICAgICB0aGlzLmNvbnRlbnREaWFsb2dTZXJ2aWNlLm9wZW5Db3B5TW92ZURpYWxvZyhhY3Rpb24sIGNvbnRlbnRFbnRyeSwgcGVybWlzc2lvbikuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKHNlbGVjdGlvbnM6IE5vZGVbXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHNlbGVjdGlvbnNbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5kb2N1bWVudExpc3RTZXJ2aWNlW2Ake2FjdGlvbi50b0xvd2VyQ2FzZSgpfU5vZGVgXVxuICAgICAgICAgICAgICAgICAgICAuY2FsbCh0aGlzLmRvY3VtZW50TGlzdFNlcnZpY2UsIGNvbnRlbnRFbnRyeS5pZCwgc2VsZWN0aW9uLmlkKVxuICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgICAgICAgICAgb2JzZXJ2YWJsZS5uZXh0LmJpbmQob2JzZXJ2YWJsZSwgYE9QRVJBVElPTi5TVUNDRVNTLiR7dHlwZS50b1VwcGVyQ2FzZSgpfS4ke2FjdGlvbn1gKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmFibGUuZXJyb3IuYmluZChvYnNlcnZhYmxlKVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIG9ic2VydmFibGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybiBvYnNlcnZhYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gb2JzZXJ2YWJsZTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
export * from './public-api';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2dyb3VwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
export * from './services/group.service';
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvZ3JvdXAvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7O0dBZUc7QUFFSCxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2dyb3VwLnNlcnZpY2UnO1xuIl19
|