@alfresco/adf-content-services 8.1.0-16295248176 → 8.1.0-16342534841
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,168 @@
|
|
|
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 { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
18
|
+
import { InfiniteSelectScrollDirective, AuthenticationService } from '@alfresco/adf-core';
|
|
19
|
+
import { SitePaging, SiteEntry, Site } from '@alfresco/js-api';
|
|
20
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
21
|
+
import { LiveAnnouncer } from '@angular/cdk/a11y';
|
|
22
|
+
import { TranslatePipe, TranslateService } from '@ngx-translate/core';
|
|
23
|
+
import { SitesService } from '../../common/services/sites.service';
|
|
24
|
+
import { CommonModule } from '@angular/common';
|
|
25
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
26
|
+
import * as i0 from "@angular/core";
|
|
27
|
+
import * as i1 from "@alfresco/adf-core";
|
|
28
|
+
import * as i2 from "../../common/services/sites.service";
|
|
29
|
+
import * as i3 from "@angular/cdk/a11y";
|
|
30
|
+
import * as i4 from "@ngx-translate/core";
|
|
31
|
+
import * as i5 from "@angular/common";
|
|
32
|
+
import * as i6 from "@angular/material/form-field";
|
|
33
|
+
import * as i7 from "@angular/material/select";
|
|
34
|
+
import * as i8 from "@angular/material/core";
|
|
35
|
+
/* eslint-disable no-shadow */
|
|
36
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
37
|
+
export var Relations;
|
|
38
|
+
(function (Relations) {
|
|
39
|
+
Relations["Members"] = "members";
|
|
40
|
+
Relations["Containers"] = "containers";
|
|
41
|
+
})(Relations || (Relations = {}));
|
|
42
|
+
export class DropdownSitesComponent {
|
|
43
|
+
constructor(authService, sitesService, liveAnnouncer, translateService) {
|
|
44
|
+
this.authService = authService;
|
|
45
|
+
this.sitesService = sitesService;
|
|
46
|
+
this.liveAnnouncer = liveAnnouncer;
|
|
47
|
+
this.translateService = translateService;
|
|
48
|
+
/** Hide the "My Files" option. */
|
|
49
|
+
this.hideMyFiles = false;
|
|
50
|
+
/**
|
|
51
|
+
* A custom list of sites to be displayed by the dropdown. If no value
|
|
52
|
+
* is given, the sites of the current user are displayed by default. A
|
|
53
|
+
* list of objects only with properties 'title' and 'guid' is enough to
|
|
54
|
+
* be able to display the dropdown.
|
|
55
|
+
*/
|
|
56
|
+
this.siteList = null;
|
|
57
|
+
/** Id of the selected site */
|
|
58
|
+
this.value = null;
|
|
59
|
+
/**
|
|
60
|
+
* Text or a translation key to act as a placeholder. Default value is the
|
|
61
|
+
* key "DROPDOWN.PLACEHOLDER_LABEL".
|
|
62
|
+
*/
|
|
63
|
+
this.placeholder = 'DROPDOWN.PLACEHOLDER_LABEL';
|
|
64
|
+
/**
|
|
65
|
+
* Emitted when the user selects a site. When the default option is selected,
|
|
66
|
+
* an empty model is emitted.
|
|
67
|
+
*/
|
|
68
|
+
this.change = new EventEmitter();
|
|
69
|
+
this.error = new EventEmitter();
|
|
70
|
+
this.loading = true;
|
|
71
|
+
this.skipCount = 0;
|
|
72
|
+
this.selected = null;
|
|
73
|
+
this.MY_FILES_VALUE = '-my-';
|
|
74
|
+
}
|
|
75
|
+
ngOnInit() {
|
|
76
|
+
if (!this.siteList) {
|
|
77
|
+
this.loadSiteList();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
loadAllOnScroll() {
|
|
81
|
+
if (this.isInfiniteScrollingEnabled()) {
|
|
82
|
+
this.loading = true;
|
|
83
|
+
this.loadSiteList();
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
selectedSite(event) {
|
|
87
|
+
this.liveAnnouncer.announce(this.translateService.instant('ADF_DROPDOWN.SELECTION_ARIA_LABEL', {
|
|
88
|
+
placeholder: this.translateService.instant(this.placeholder),
|
|
89
|
+
selectedOption: this.translateService.instant(event.value.entry.title)
|
|
90
|
+
}));
|
|
91
|
+
this.change.emit(event.value);
|
|
92
|
+
}
|
|
93
|
+
loadSiteList() {
|
|
94
|
+
const extendedOptions = {
|
|
95
|
+
skipCount: this.skipCount,
|
|
96
|
+
maxItems: InfiniteSelectScrollDirective.MAX_ITEMS
|
|
97
|
+
};
|
|
98
|
+
this.skipCount += InfiniteSelectScrollDirective.MAX_ITEMS;
|
|
99
|
+
if (this.relations) {
|
|
100
|
+
extendedOptions.relations = [this.relations];
|
|
101
|
+
}
|
|
102
|
+
this.sitesService.getSites(extendedOptions).subscribe((sitePaging) => {
|
|
103
|
+
if (!this.siteList) {
|
|
104
|
+
this.siteList = this.relations === Relations.Members ? this.filteredResultsByMember(sitePaging) : sitePaging;
|
|
105
|
+
if (!this.hideMyFiles) {
|
|
106
|
+
const siteEntry = new SiteEntry({
|
|
107
|
+
entry: new Site({ id: this.MY_FILES_VALUE, guid: this.MY_FILES_VALUE, title: 'DROPDOWN.MY_FILES_OPTION' })
|
|
108
|
+
});
|
|
109
|
+
this.siteList.list.entries.unshift(siteEntry);
|
|
110
|
+
if (!this.value) {
|
|
111
|
+
this.value = this.MY_FILES_VALUE;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
const siteList = this.relations === Relations.Members ? this.filteredResultsByMember(sitePaging) : sitePaging;
|
|
117
|
+
this.siteList.list.entries = this.siteList.list.entries.concat(siteList.list.entries);
|
|
118
|
+
this.siteList.list.pagination = sitePaging.list.pagination;
|
|
119
|
+
}
|
|
120
|
+
this.selected = this.siteList.list.entries.find((site) => site.entry.id === this.value);
|
|
121
|
+
if (this.value && !this.selected && this.siteListHasMoreItems()) {
|
|
122
|
+
this.loadSiteList();
|
|
123
|
+
}
|
|
124
|
+
this.loading = false;
|
|
125
|
+
}, (error) => {
|
|
126
|
+
this.error.emit(error);
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
showLoading() {
|
|
130
|
+
return this.loading && this.siteListHasMoreItems();
|
|
131
|
+
}
|
|
132
|
+
isInfiniteScrollingEnabled() {
|
|
133
|
+
return !this.loading && this.siteListHasMoreItems();
|
|
134
|
+
}
|
|
135
|
+
siteListHasMoreItems() {
|
|
136
|
+
return this.siteList?.list.pagination?.hasMoreItems;
|
|
137
|
+
}
|
|
138
|
+
filteredResultsByMember(sites) {
|
|
139
|
+
const loggedUserName = this.authService.getEcmUsername();
|
|
140
|
+
sites.list.entries = sites.list.entries.filter((site) => this.isCurrentUserMember(site, loggedUserName));
|
|
141
|
+
return sites;
|
|
142
|
+
}
|
|
143
|
+
isCurrentUserMember(site, loggedUserName) {
|
|
144
|
+
return (site.entry.visibility === 'PUBLIC' ||
|
|
145
|
+
!!site.relations.members.list.entries.find((member) => member.entry.id.toLowerCase() === loggedUserName.toLowerCase()));
|
|
146
|
+
}
|
|
147
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownSitesComponent, deps: [{ token: i1.AuthenticationService }, { token: i2.SitesService }, { token: i3.LiveAnnouncer }, { token: i4.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
148
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DropdownSitesComponent, isStandalone: true, selector: "adf-sites-dropdown", inputs: { hideMyFiles: "hideMyFiles", siteList: "siteList", value: "value", placeholder: "placeholder", relations: "relations" }, outputs: { change: "change", error: "error" }, host: { classAttribute: "adf-sites-dropdown" }, ngImport: i0, template: "<div id=\"site-dropdown-container\" class=\"adf-site-dropdown-container\">\n <mat-form-field class=\"adf-sites-dropdown-form-field\" appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'NODE_SELECTOR.LOCATION' | translate }}</mat-label>\n <mat-select\n adf-infinite-select-scroll\n (scrollEnd)=\"loadAllOnScroll()\"\n #siteSelect\n data-automation-id=\"site-my-files-option\"\n class=\"adf-site-dropdown-list-element\"\n id=\"site-dropdown\"\n placeholder=\"{{placeholder | translate}}\"\n [(value)]=\"selected\"\n placeholder=\"{{placeholder | translate}}\"\n (selectionChange)=\"selectedSite($event)\">\n <mat-select-trigger class=\"adf-sites-dropdown-select-trigger\">\n {{ selected?.entry.title | translate}}\n </mat-select-trigger>\n <mat-option *ngFor=\"let site of siteList?.list.entries;\" [value]=\"site\">\n {{ site.entry.title | translate}}\n </mat-option>\n <mat-option *ngIf=\"showLoading()\" disabled=\"true\" data-automation-id=\"site-loading\">\n {{ 'ADF_DROPDOWN.LOADING' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatSelectModule }, { kind: "component", type: i7.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "directive", type: i7.MatSelectTrigger, selector: "mat-select-trigger" }, { kind: "component", type: i8.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: InfiniteSelectScrollDirective, selector: "[adf-infinite-select-scroll]", outputs: ["scrollEnd"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
149
|
+
}
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownSitesComponent, decorators: [{
|
|
151
|
+
type: Component,
|
|
152
|
+
args: [{ selector: 'adf-sites-dropdown', standalone: true, imports: [CommonModule, TranslatePipe, MatFormFieldModule, MatSelectModule, InfiniteSelectScrollDirective], encapsulation: ViewEncapsulation.None, host: { class: 'adf-sites-dropdown' }, template: "<div id=\"site-dropdown-container\" class=\"adf-site-dropdown-container\">\n <mat-form-field class=\"adf-sites-dropdown-form-field\" appearance=\"fill\" subscriptSizing=\"dynamic\">\n <mat-label>{{ 'NODE_SELECTOR.LOCATION' | translate }}</mat-label>\n <mat-select\n adf-infinite-select-scroll\n (scrollEnd)=\"loadAllOnScroll()\"\n #siteSelect\n data-automation-id=\"site-my-files-option\"\n class=\"adf-site-dropdown-list-element\"\n id=\"site-dropdown\"\n placeholder=\"{{placeholder | translate}}\"\n [(value)]=\"selected\"\n placeholder=\"{{placeholder | translate}}\"\n (selectionChange)=\"selectedSite($event)\">\n <mat-select-trigger class=\"adf-sites-dropdown-select-trigger\">\n {{ selected?.entry.title | translate}}\n </mat-select-trigger>\n <mat-option *ngFor=\"let site of siteList?.list.entries;\" [value]=\"site\">\n {{ site.entry.title | translate}}\n </mat-option>\n <mat-option *ngIf=\"showLoading()\" disabled=\"true\" data-automation-id=\"site-loading\">\n {{ 'ADF_DROPDOWN.LOADING' | translate}}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n" }]
|
|
153
|
+
}], ctorParameters: () => [{ type: i1.AuthenticationService }, { type: i2.SitesService }, { type: i3.LiveAnnouncer }, { type: i4.TranslateService }], propDecorators: { hideMyFiles: [{
|
|
154
|
+
type: Input
|
|
155
|
+
}], siteList: [{
|
|
156
|
+
type: Input
|
|
157
|
+
}], value: [{
|
|
158
|
+
type: Input
|
|
159
|
+
}], placeholder: [{
|
|
160
|
+
type: Input
|
|
161
|
+
}], relations: [{
|
|
162
|
+
type: Input
|
|
163
|
+
}], change: [{
|
|
164
|
+
type: Output
|
|
165
|
+
}], error: [{
|
|
166
|
+
type: Output
|
|
167
|
+
}] } });
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2l0ZXMtZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGliL2NvbnRlbnQtc2VydmljZXMvc3JjL2xpYi9jb250ZW50LW5vZGUtc2VsZWN0b3Ivc2l0ZS1kcm9wZG93bi9zaXRlcy1kcm9wZG93bi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zZWxlY3Rvci9zaXRlLWRyb3Bkb3duL3NpdGVzLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEcsT0FBTyxFQUFFLDZCQUE2QixFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDMUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0QsT0FBTyxFQUFtQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7Ozs7Ozs7Ozs7QUFFbEUsOEJBQThCO0FBQzlCLHlEQUF5RDtBQUV6RCxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ2pCLGdDQUFtQixDQUFBO0lBQ25CLHNDQUF5QixDQUFBO0FBQzdCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQVVELE1BQU0sT0FBTyxzQkFBc0I7SUFpRC9CLFlBQ1ksV0FBa0MsRUFDbEMsWUFBMEIsRUFDMUIsYUFBNEIsRUFDNUIsZ0JBQWtDO1FBSGxDLGdCQUFXLEdBQVgsV0FBVyxDQUF1QjtRQUNsQyxpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUMxQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBcEQ5QyxrQ0FBa0M7UUFFbEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0I7Ozs7O1dBS0c7UUFFSCxhQUFRLEdBQWUsSUFBSSxDQUFDO1FBRTVCLDhCQUE4QjtRQUU5QixVQUFLLEdBQVcsSUFBSSxDQUFDO1FBRXJCOzs7V0FHRztRQUVILGdCQUFXLEdBQVcsNEJBQTRCLENBQUM7UUFVbkQ7OztXQUdHO1FBRUgsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFHdkMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFeEIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFFdEIsYUFBUSxHQUFjLElBQUksQ0FBQztRQUMzQixtQkFBYyxHQUFHLE1BQU0sQ0FBQztJQU9yQixDQUFDO0lBRUosUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3hCLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBc0I7UUFDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsbUNBQW1DLEVBQUU7WUFDL0QsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUM1RCxjQUFjLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7U0FDekUsQ0FBQyxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLFlBQVk7UUFDaEIsTUFBTSxlQUFlLEdBQVE7WUFDekIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSw2QkFBNkIsQ0FBQyxTQUFTO1NBQ3BELENBQUM7UUFFRixJQUFJLENBQUMsU0FBUyxJQUFJLDZCQUE2QixDQUFDLFNBQVMsQ0FBQztRQUUxRCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixlQUFlLENBQUMsU0FBUyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsQ0FBQyxTQUFTLENBQ2pELENBQUMsVUFBc0IsRUFBRSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztnQkFFN0csSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDcEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUM7d0JBQzVCLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFLEtBQUssRUFBRSwwQkFBMEIsRUFBRSxDQUFDO3FCQUM3RyxDQUFDLENBQUM7b0JBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFFOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDZCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7b0JBQ3JDLENBQUM7Z0JBQ0wsQ0FBQztZQUNMLENBQUM7aUJBQU0sQ0FBQztnQkFDSixNQUFNLFFBQVEsR0FBZSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUUxSCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN0RixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDL0QsQ0FBQztZQUVELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRW5HLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hCLENBQUM7WUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNOLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLENBQUMsQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdkQsQ0FBQztJQUVELDBCQUEwQjtRQUN0QixPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztJQUN4RCxDQUFDO0lBRU8sb0JBQW9CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztJQUN4RCxDQUFDO0lBRU8sdUJBQXVCLENBQUMsS0FBaUI7UUFDN0MsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6RCxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQztRQUN6RyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sbUJBQW1CLENBQUMsSUFBZSxFQUFFLGNBQXNCO1FBQy9ELE9BQU8sQ0FDSCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsS0FBSyxRQUFRO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLEtBQUssY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQ3pILENBQUM7SUFDTixDQUFDOytHQXZKUSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwrU0MzQ25DLCt5Q0EwQkEsMkNEWWMsWUFBWSwyUEFBRSxhQUFhLGlEQUFFLGtCQUFrQiwwU0FBRSxlQUFlLHN3QkFBRSw2QkFBNkI7OzRGQUtoRyxzQkFBc0I7a0JBUmxDLFNBQVM7K0JBQ0ksb0JBQW9CLGNBQ2xCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLDZCQUE2QixDQUFDLGlCQUUzRixpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CLEVBQUUsS0FBSyxFQUFFLG9CQUFvQixFQUFFO2dMQUtyQyxXQUFXO3NCQURWLEtBQUs7Z0JBVU4sUUFBUTtzQkFEUCxLQUFLO2dCQUtOLEtBQUs7c0JBREosS0FBSztnQkFRTixXQUFXO3NCQURWLEtBQUs7Z0JBU04sU0FBUztzQkFEUixLQUFLO2dCQVFOLE1BQU07c0JBREwsTUFBTTtnQkFJUCxLQUFLO3NCQURKLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiFcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgwqkgMjAwNS0yMDI1IEh5bGFuZCBTb2Z0d2FyZSwgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNlbGVjdFNjcm9sbERpcmVjdGl2ZSwgQXV0aGVudGljYXRpb25TZXJ2aWNlIH0gZnJvbSAnQGFsZnJlc2NvL2FkZi1jb3JlJztcbmltcG9ydCB7IFNpdGVQYWdpbmcsIFNpdGVFbnRyeSwgU2l0ZSB9IGZyb20gJ0BhbGZyZXNjby9qcy1hcGknO1xuaW1wb3J0IHsgTWF0U2VsZWN0Q2hhbmdlLCBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTGl2ZUFubm91bmNlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNpdGVzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9zZXJ2aWNlcy9zaXRlcy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcblxuLyogZXNsaW50LWRpc2FibGUgbm8tc2hhZG93ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb24gKi9cblxuZXhwb3J0IGVudW0gUmVsYXRpb25zIHtcbiAgICBNZW1iZXJzID0gJ21lbWJlcnMnLFxuICAgIENvbnRhaW5lcnMgPSAnY29udGFpbmVycydcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2l0ZXMtZHJvcGRvd24nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgVHJhbnNsYXRlUGlwZSwgTWF0Rm9ybUZpZWxkTW9kdWxlLCBNYXRTZWxlY3RNb2R1bGUsIEluZmluaXRlU2VsZWN0U2Nyb2xsRGlyZWN0aXZlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc2l0ZXMtZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zaXRlcy1kcm9wZG93bicgfVxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93blNpdGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICAvKiogSGlkZSB0aGUgXCJNeSBGaWxlc1wiIG9wdGlvbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGhpZGVNeUZpbGVzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBBIGN1c3RvbSBsaXN0IG9mIHNpdGVzIHRvIGJlIGRpc3BsYXllZCBieSB0aGUgZHJvcGRvd24uIElmIG5vIHZhbHVlXG4gICAgICogaXMgZ2l2ZW4sIHRoZSBzaXRlcyBvZiB0aGUgY3VycmVudCB1c2VyIGFyZSBkaXNwbGF5ZWQgYnkgZGVmYXVsdC4gQVxuICAgICAqIGxpc3Qgb2Ygb2JqZWN0cyBvbmx5IHdpdGggcHJvcGVydGllcyAndGl0bGUnIGFuZCAnZ3VpZCcgaXMgZW5vdWdoIHRvXG4gICAgICogYmUgYWJsZSB0byBkaXNwbGF5IHRoZSBkcm9wZG93bi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNpdGVMaXN0OiBTaXRlUGFnaW5nID0gbnVsbDtcblxuICAgIC8qKiBJZCBvZiB0aGUgc2VsZWN0ZWQgc2l0ZSAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IHN0cmluZyA9IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUZXh0IG9yIGEgdHJhbnNsYXRpb24ga2V5IHRvIGFjdCBhcyBhIHBsYWNlaG9sZGVyLiBEZWZhdWx0IHZhbHVlIGlzIHRoZVxuICAgICAqIGtleSBcIkRST1BET1dOLlBMQUNFSE9MREVSX0xBQkVMXCIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ0RST1BET1dOLlBMQUNFSE9MREVSX0xBQkVMJztcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciBmb3IgdGhlIHJlc3VsdHMgb2YgdGhlIHNpdGVzIHF1ZXJ5LiBQb3NzaWJsZSB2YWx1ZXMgYXJlXG4gICAgICogXCJtZW1iZXJzXCIgYW5kIFwiY29udGFpbmVyc1wiLiBXaGVuIFwibWVtYmVyc1wiIGlzIHVzZWQsIHRoZSBzaXRlIGxpc3RcbiAgICAgKiB3aWxsIGJlIHJlc3RyaWN0ZWQgdG8gdGhlIHNpdGVzIHRoYXQgdGhlIHVzZXIgaXMgYSBtZW1iZXIgb2YuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICByZWxhdGlvbnM6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEVtaXR0ZWQgd2hlbiB0aGUgdXNlciBzZWxlY3RzIGEgc2l0ZS4gV2hlbiB0aGUgZGVmYXVsdCBvcHRpb24gaXMgc2VsZWN0ZWQsXG4gICAgICogYW4gZW1wdHkgbW9kZWwgaXMgZW1pdHRlZC5cbiAgICAgKi9cbiAgICBAT3V0cHV0KClcbiAgICBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNpdGVFbnRyeT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGVycm9yID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICBwcml2YXRlIGxvYWRpbmcgPSB0cnVlO1xuICAgIHByaXZhdGUgc2tpcENvdW50ID0gMDtcblxuICAgIHNlbGVjdGVkOiBTaXRlRW50cnkgPSBudWxsO1xuICAgIE1ZX0ZJTEVTX1ZBTFVFID0gJy1teS0nO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhlbnRpY2F0aW9uU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBzaXRlc1NlcnZpY2U6IFNpdGVzU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBsaXZlQW5ub3VuY2VyOiBMaXZlQW5ub3VuY2VyLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKCF0aGlzLnNpdGVMaXN0KSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRTaXRlTGlzdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbG9hZEFsbE9uU2Nyb2xsKCkge1xuICAgICAgICBpZiAodGhpcy5pc0luZmluaXRlU2Nyb2xsaW5nRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5sb2FkU2l0ZUxpc3QoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdGVkU2l0ZShldmVudDogTWF0U2VsZWN0Q2hhbmdlKSB7XG4gICAgICAgIHRoaXMubGl2ZUFubm91bmNlci5hbm5vdW5jZShcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdBREZfRFJPUERPV04uU0VMRUNUSU9OX0FSSUFfTEFCRUwnLCB7XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMucGxhY2Vob2xkZXIpLFxuICAgICAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChldmVudC52YWx1ZS5lbnRyeS50aXRsZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoZXZlbnQudmFsdWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgbG9hZFNpdGVMaXN0KCkge1xuICAgICAgICBjb25zdCBleHRlbmRlZE9wdGlvbnM6IGFueSA9IHtcbiAgICAgICAgICAgIHNraXBDb3VudDogdGhpcy5za2lwQ291bnQsXG4gICAgICAgICAgICBtYXhJdGVtczogSW5maW5pdGVTZWxlY3RTY3JvbGxEaXJlY3RpdmUuTUFYX0lURU1TXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5za2lwQ291bnQgKz0gSW5maW5pdGVTZWxlY3RTY3JvbGxEaXJlY3RpdmUuTUFYX0lURU1TO1xuXG4gICAgICAgIGlmICh0aGlzLnJlbGF0aW9ucykge1xuICAgICAgICAgICAgZXh0ZW5kZWRPcHRpb25zLnJlbGF0aW9ucyA9IFt0aGlzLnJlbGF0aW9uc107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNpdGVzU2VydmljZS5nZXRTaXRlcyhleHRlbmRlZE9wdGlvbnMpLnN1YnNjcmliZShcbiAgICAgICAgICAgIChzaXRlUGFnaW5nOiBTaXRlUGFnaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnNpdGVMaXN0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2l0ZUxpc3QgPSB0aGlzLnJlbGF0aW9ucyA9PT0gUmVsYXRpb25zLk1lbWJlcnMgPyB0aGlzLmZpbHRlcmVkUmVzdWx0c0J5TWVtYmVyKHNpdGVQYWdpbmcpIDogc2l0ZVBhZ2luZztcblxuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaGlkZU15RmlsZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNpdGVFbnRyeSA9IG5ldyBTaXRlRW50cnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJ5OiBuZXcgU2l0ZSh7IGlkOiB0aGlzLk1ZX0ZJTEVTX1ZBTFVFLCBndWlkOiB0aGlzLk1ZX0ZJTEVTX1ZBTFVFLCB0aXRsZTogJ0RST1BET1dOLk1ZX0ZJTEVTX09QVElPTicgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNpdGVMaXN0Lmxpc3QuZW50cmllcy51bnNoaWZ0KHNpdGVFbnRyeSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLk1ZX0ZJTEVTX1ZBTFVFO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2l0ZUxpc3Q6IFNpdGVQYWdpbmcgPSB0aGlzLnJlbGF0aW9ucyA9PT0gUmVsYXRpb25zLk1lbWJlcnMgPyB0aGlzLmZpbHRlcmVkUmVzdWx0c0J5TWVtYmVyKHNpdGVQYWdpbmcpIDogc2l0ZVBhZ2luZztcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpdGVMaXN0Lmxpc3QuZW50cmllcyA9IHRoaXMuc2l0ZUxpc3QubGlzdC5lbnRyaWVzLmNvbmNhdChzaXRlTGlzdC5saXN0LmVudHJpZXMpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpdGVMaXN0Lmxpc3QucGFnaW5hdGlvbiA9IHNpdGVQYWdpbmcubGlzdC5wYWdpbmF0aW9uO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnNpdGVMaXN0Lmxpc3QuZW50cmllcy5maW5kKChzaXRlOiBTaXRlRW50cnkpID0+IHNpdGUuZW50cnkuaWQgPT09IHRoaXMudmFsdWUpO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgIXRoaXMuc2VsZWN0ZWQgJiYgdGhpcy5zaXRlTGlzdEhhc01vcmVJdGVtcygpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubG9hZFNpdGVMaXN0KCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvci5lbWl0KGVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBzaG93TG9hZGluZygpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZyAmJiB0aGlzLnNpdGVMaXN0SGFzTW9yZUl0ZW1zKCk7XG4gICAgfVxuXG4gICAgaXNJbmZpbml0ZVNjcm9sbGluZ0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5sb2FkaW5nICYmIHRoaXMuc2l0ZUxpc3RIYXNNb3JlSXRlbXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNpdGVMaXN0SGFzTW9yZUl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaXRlTGlzdD8ubGlzdC5wYWdpbmF0aW9uPy5oYXNNb3JlSXRlbXM7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmaWx0ZXJlZFJlc3VsdHNCeU1lbWJlcihzaXRlczogU2l0ZVBhZ2luZyk6IFNpdGVQYWdpbmcge1xuICAgICAgICBjb25zdCBsb2dnZWRVc2VyTmFtZSA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0RWNtVXNlcm5hbWUoKTtcbiAgICAgICAgc2l0ZXMubGlzdC5lbnRyaWVzID0gc2l0ZXMubGlzdC5lbnRyaWVzLmZpbHRlcigoc2l0ZSkgPT4gdGhpcy5pc0N1cnJlbnRVc2VyTWVtYmVyKHNpdGUsIGxvZ2dlZFVzZXJOYW1lKSk7XG4gICAgICAgIHJldHVybiBzaXRlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzQ3VycmVudFVzZXJNZW1iZXIoc2l0ZTogU2l0ZUVudHJ5LCBsb2dnZWRVc2VyTmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBzaXRlLmVudHJ5LnZpc2liaWxpdHkgPT09ICdQVUJMSUMnIHx8XG4gICAgICAgICAgICAhIXNpdGUucmVsYXRpb25zLm1lbWJlcnMubGlzdC5lbnRyaWVzLmZpbmQoKG1lbWJlcikgPT4gbWVtYmVyLmVudHJ5LmlkLnRvTG93ZXJDYXNlKCkgPT09IGxvZ2dlZFVzZXJOYW1lLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICk7XG4gICAgfVxufVxuIiwiPGRpdiBpZD1cInNpdGUtZHJvcGRvd24tY29udGFpbmVyXCIgY2xhc3M9XCJhZGYtc2l0ZS1kcm9wZG93bi1jb250YWluZXJcIj5cbiAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJhZGYtc2l0ZXMtZHJvcGRvd24tZm9ybS1maWVsZFwiIGFwcGVhcmFuY2U9XCJmaWxsXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICA8bWF0LWxhYmVsPnt7ICdOT0RFX1NFTEVDVE9SLkxPQ0FUSU9OJyB8IHRyYW5zbGF0ZSB9fTwvbWF0LWxhYmVsPlxuICAgICAgICA8bWF0LXNlbGVjdFxuICAgICAgICAgICAgYWRmLWluZmluaXRlLXNlbGVjdC1zY3JvbGxcbiAgICAgICAgICAgIChzY3JvbGxFbmQpPVwibG9hZEFsbE9uU2Nyb2xsKClcIlxuICAgICAgICAgICAgI3NpdGVTZWxlY3RcbiAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cInNpdGUtbXktZmlsZXMtb3B0aW9uXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNpdGUtZHJvcGRvd24tbGlzdC1lbGVtZW50XCJcbiAgICAgICAgICAgIGlkPVwic2l0ZS1kcm9wZG93blwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXIgfCB0cmFuc2xhdGV9fVwiXG4gICAgICAgICAgICBbKHZhbHVlKV09XCJzZWxlY3RlZFwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXIgfCB0cmFuc2xhdGV9fVwiXG4gICAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cInNlbGVjdGVkU2l0ZSgkZXZlbnQpXCI+XG4gICAgICAgICAgICA8bWF0LXNlbGVjdC10cmlnZ2VyIGNsYXNzPVwiYWRmLXNpdGVzLWRyb3Bkb3duLXNlbGVjdC10cmlnZ2VyXCI+XG4gICAgICAgICAgICAgICAge3sgc2VsZWN0ZWQ/LmVudHJ5LnRpdGxlIHwgdHJhbnNsYXRlfX1cbiAgICAgICAgICAgIDwvbWF0LXNlbGVjdC10cmlnZ2VyPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IHNpdGUgb2Ygc2l0ZUxpc3Q/Lmxpc3QuZW50cmllcztcIiBbdmFsdWVdPVwic2l0ZVwiPlxuICAgICAgICAgICAgICAgIHt7IHNpdGUuZW50cnkudGl0bGUgfCB0cmFuc2xhdGV9fVxuICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nSWY9XCJzaG93TG9hZGluZygpXCIgZGlzYWJsZWQ9XCJ0cnVlXCIgZGF0YS1hdXRvbWF0aW9uLWlkPVwic2l0ZS1sb2FkaW5nXCI+XG4gICAgICAgICAgICAgICAge3sgJ0FERl9EUk9QRE9XTi5MT0FESU5HJyB8IHRyYW5zbGF0ZX19XG4gICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgIDwvbWF0LXNlbGVjdD5cbiAgICA8L21hdC1mb3JtLWZpZWxkPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,287 @@
|
|
|
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 { Component, Inject, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
18
|
+
import { MAT_DIALOG_DATA, MatDialog, MatDialogModule, MatDialogRef } from '@angular/material/dialog';
|
|
19
|
+
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
20
|
+
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
21
|
+
import { ContentService } from '../common/services/content.service';
|
|
22
|
+
import { SharedLinksApiService } from './services/shared-links-api.service';
|
|
23
|
+
import { ClipboardDirective, ConfirmDialogComponent } from '@alfresco/adf-core';
|
|
24
|
+
import { RenditionService } from '../common/services/rendition.service';
|
|
25
|
+
import { add, endOfDay, format, isBefore } from 'date-fns';
|
|
26
|
+
import { CommonModule } from '@angular/common';
|
|
27
|
+
import { TranslatePipe } from '@ngx-translate/core';
|
|
28
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
29
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
30
|
+
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
31
|
+
import { MatInputModule } from '@angular/material/input';
|
|
32
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
33
|
+
import * as i0 from "@angular/core";
|
|
34
|
+
import * as i1 from "./services/shared-links-api.service";
|
|
35
|
+
import * as i2 from "@angular/material/dialog";
|
|
36
|
+
import * as i3 from "../common/services/content.service";
|
|
37
|
+
import * as i4 from "../common/services/rendition.service";
|
|
38
|
+
import * as i5 from "@angular/common";
|
|
39
|
+
import * as i6 from "@angular/material/icon";
|
|
40
|
+
import * as i7 from "@angular/forms";
|
|
41
|
+
import * as i8 from "@angular/material/slide-toggle";
|
|
42
|
+
import * as i9 from "@angular/material/form-field";
|
|
43
|
+
import * as i10 from "@angular/material/datepicker";
|
|
44
|
+
import * as i11 from "@angular/material/input";
|
|
45
|
+
import * as i12 from "@angular/material/button";
|
|
46
|
+
export class ShareDialogComponent {
|
|
47
|
+
constructor(sharedLinksApiService, dialogRef, dialog, contentService, renditionService, data) {
|
|
48
|
+
this.sharedLinksApiService = sharedLinksApiService;
|
|
49
|
+
this.dialogRef = dialogRef;
|
|
50
|
+
this.dialog = dialog;
|
|
51
|
+
this.contentService = contentService;
|
|
52
|
+
this.renditionService = renditionService;
|
|
53
|
+
this.data = data;
|
|
54
|
+
this.minDateValidator = (control) => isBefore(endOfDay(new Date(control.value)), this.minDate) ? { invalidDate: true } : null;
|
|
55
|
+
this.minDate = add(new Date(), { days: 1 });
|
|
56
|
+
this.isFileShared = false;
|
|
57
|
+
this.isDisabled = false;
|
|
58
|
+
this.isLinkWithExpiryDate = false;
|
|
59
|
+
this.form = new FormGroup({
|
|
60
|
+
sharedUrl: new FormControl(''),
|
|
61
|
+
time: new FormControl({ value: null, disabled: true }, [Validators.required, this.minDateValidator])
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
ngOnInit() {
|
|
65
|
+
if (this.data.node?.entry) {
|
|
66
|
+
this.fileName = this.data.node.entry.name;
|
|
67
|
+
this.baseShareUrl = this.data.baseShareUrl;
|
|
68
|
+
const properties = this.data.node.entry.properties;
|
|
69
|
+
if (!properties?.['qshare:sharedId']) {
|
|
70
|
+
this.createSharedLinks(this.data.node.entry.id);
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
this.sharedId = properties['qshare:sharedId'];
|
|
74
|
+
this.isFileShared = true;
|
|
75
|
+
const expiryDate = this.updateForm();
|
|
76
|
+
this.isExpiryDateToggleChecked = this.isLinkWithExpiryDate = !!expiryDate;
|
|
77
|
+
this.isLinkWithExpiryDate ? this.time.enable() : this.time.disable();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
onTimeChanged() {
|
|
82
|
+
if (this.time.valid) {
|
|
83
|
+
this.updateNode(this.time.value);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
get time() {
|
|
87
|
+
return this.form.controls['time'];
|
|
88
|
+
}
|
|
89
|
+
onSlideShareChange(event) {
|
|
90
|
+
if (event.checked) {
|
|
91
|
+
this.createSharedLinks(this.data.node.entry.id);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.openConfirmationDialog();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
get canUpdate() {
|
|
98
|
+
const { entry } = this.data.node;
|
|
99
|
+
if (entry?.allowableOperations) {
|
|
100
|
+
return this.contentService.hasAllowableOperations(entry, 'update');
|
|
101
|
+
}
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
onToggleExpirationDate(slideToggle) {
|
|
105
|
+
if (slideToggle.checked) {
|
|
106
|
+
this.time.enable();
|
|
107
|
+
this.isExpiryDateToggleChecked = true;
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
this.time.disable();
|
|
111
|
+
this.time.setValue(null);
|
|
112
|
+
this.deleteSharedLink(this.sharedId, true);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
onDatePickerClosed() {
|
|
116
|
+
this.onTimeChanged();
|
|
117
|
+
if (!this.time.value) {
|
|
118
|
+
this.slideToggleExpirationDate.checked = false;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
preventIncorrectCharacters(e) {
|
|
122
|
+
const regex = /[^\d/.-]/;
|
|
123
|
+
return e.key.length === 1 ? !regex.test(e.key) : true;
|
|
124
|
+
}
|
|
125
|
+
openConfirmationDialog() {
|
|
126
|
+
this.isFileShared = false;
|
|
127
|
+
this.dialog
|
|
128
|
+
.open(ConfirmDialogComponent, {
|
|
129
|
+
data: {
|
|
130
|
+
title: 'SHARE.CONFIRMATION.DIALOG-TITLE',
|
|
131
|
+
message: 'SHARE.CONFIRMATION.MESSAGE',
|
|
132
|
+
yesLabel: 'SHARE.CONFIRMATION.REMOVE',
|
|
133
|
+
noLabel: 'SHARE.CONFIRMATION.CANCEL'
|
|
134
|
+
},
|
|
135
|
+
minWidth: '250px',
|
|
136
|
+
closeOnNavigation: true
|
|
137
|
+
})
|
|
138
|
+
.beforeClosed()
|
|
139
|
+
.subscribe((deleteSharedLink) => {
|
|
140
|
+
if (deleteSharedLink) {
|
|
141
|
+
this.deleteSharedLink(this.sharedId);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
this.isFileShared = true;
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
createSharedLinks(nodeId, sharedLinkWithExpirySettings) {
|
|
149
|
+
this.isDisabled = true;
|
|
150
|
+
this.sharedLinksApiService.createSharedLinks(nodeId, sharedLinkWithExpirySettings).subscribe((sharedLink) => {
|
|
151
|
+
if (sharedLink.entry) {
|
|
152
|
+
this.sharedId = sharedLink.entry.id;
|
|
153
|
+
if (this.data.node.entry.properties) {
|
|
154
|
+
this.data.node.entry.properties['qshare:sharedId'] = this.sharedId;
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
this.data.node.entry.properties = {
|
|
158
|
+
'qshare:sharedId': this.sharedId
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
this.isDisabled = false;
|
|
162
|
+
this.isFileShared = true;
|
|
163
|
+
// eslint-disable-next-line
|
|
164
|
+
this.renditionService.getNodeRendition(this.data.node.entry.id);
|
|
165
|
+
this.updateForm();
|
|
166
|
+
}
|
|
167
|
+
}, () => {
|
|
168
|
+
this.isDisabled = false;
|
|
169
|
+
this.isFileShared = false;
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
deleteSharedLink(sharedId, dialogOpenFlag) {
|
|
173
|
+
this.isDisabled = true;
|
|
174
|
+
this.sharedLinksApiService.deleteSharedLink(sharedId).subscribe((response) => {
|
|
175
|
+
if (response instanceof Error) {
|
|
176
|
+
this.isDisabled = false;
|
|
177
|
+
this.isFileShared = true;
|
|
178
|
+
this.handleError(response);
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
if (this.data.node.entry.properties) {
|
|
182
|
+
this.data.node.entry.properties['qshare:sharedId'] = null;
|
|
183
|
+
this.data.node.entry.properties['qshare:expiryDate'] = null;
|
|
184
|
+
}
|
|
185
|
+
if (dialogOpenFlag) {
|
|
186
|
+
this.createSharedLinks(this.data.node.entry.id);
|
|
187
|
+
this.isExpiryDateToggleChecked = false;
|
|
188
|
+
this.isLinkWithExpiryDate = false;
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
this.dialogRef.close(false);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
});
|
|
195
|
+
}
|
|
196
|
+
handleError(error) {
|
|
197
|
+
let message = 'SHARE.UNSHARE_ERROR';
|
|
198
|
+
let statusCode = 0;
|
|
199
|
+
try {
|
|
200
|
+
statusCode = JSON.parse(error.message).error.statusCode;
|
|
201
|
+
}
|
|
202
|
+
catch {
|
|
203
|
+
/* empty */
|
|
204
|
+
}
|
|
205
|
+
if (statusCode === 403) {
|
|
206
|
+
message = 'SHARE.UNSHARE_PERMISSION_ERROR';
|
|
207
|
+
}
|
|
208
|
+
this.sharedLinksApiService.error.next({
|
|
209
|
+
statusCode,
|
|
210
|
+
message
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
updateForm() {
|
|
214
|
+
const { entry } = this.data.node;
|
|
215
|
+
let expiryDate = null;
|
|
216
|
+
if (entry?.properties) {
|
|
217
|
+
expiryDate = entry.properties['qshare:expiryDate'];
|
|
218
|
+
}
|
|
219
|
+
this.form.setValue({
|
|
220
|
+
sharedUrl: `${this.baseShareUrl}${this.sharedId}`,
|
|
221
|
+
time: expiryDate ? new Date(expiryDate) : null
|
|
222
|
+
}, { emitEvent: false });
|
|
223
|
+
return expiryDate;
|
|
224
|
+
}
|
|
225
|
+
updateNode(date) {
|
|
226
|
+
let expiryDate;
|
|
227
|
+
if (date) {
|
|
228
|
+
expiryDate = format(endOfDay(new Date(date)), `yyyy-MM-dd'T'HH:mm:ss.SSSxx`);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
expiryDate = null;
|
|
232
|
+
}
|
|
233
|
+
if (this.sharedId && expiryDate) {
|
|
234
|
+
this.isDisabled = true;
|
|
235
|
+
this.sharedLinksApiService.deleteSharedLink(this.sharedId).subscribe((response) => {
|
|
236
|
+
if (response instanceof Error) {
|
|
237
|
+
this.isDisabled = false;
|
|
238
|
+
this.isFileShared = true;
|
|
239
|
+
this.handleError(response);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
this.sharedLinkWithExpirySettings(expiryDate);
|
|
243
|
+
this.isLinkWithExpiryDate = true;
|
|
244
|
+
this.updateEntryExpiryDate(date);
|
|
245
|
+
}
|
|
246
|
+
});
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
sharedLinkWithExpirySettings(expiryDate) {
|
|
250
|
+
const nodeObject = {
|
|
251
|
+
nodeId: this.data.node.entry.id,
|
|
252
|
+
expiresAt: expiryDate
|
|
253
|
+
};
|
|
254
|
+
this.createSharedLinks(this.data.node.entry.id, nodeObject);
|
|
255
|
+
}
|
|
256
|
+
updateEntryExpiryDate(date) {
|
|
257
|
+
const { properties } = this.data.node.entry;
|
|
258
|
+
if (properties) {
|
|
259
|
+
properties['qshare:expiryDate'] = date ? new Date(date) : null;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareDialogComponent, deps: [{ token: i1.SharedLinksApiService }, { token: i2.MatDialogRef }, { token: i2.MatDialog }, { token: i3.ContentService }, { token: i4.RenditionService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
263
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ShareDialogComponent, isStandalone: true, selector: "adf-share-dialog", host: { classAttribute: "adf-share-dialog" }, viewQueries: [{ propertyName: "slideToggleExpirationDate", first: true, predicate: ["slideToggleExpirationDate"], descendants: true, static: true }], ngImport: i0, template: "<div class=\"adf-share-link__dialog-content\">\n <div class=\"adf-share-link__dialog-container\">\n <div class=\"adf-share-link--header adf-share-link--row\">\n <div\n data-automation-id=\"adf-share-dialog-title\"\n class=\"adf-share-link__title adf-share-link__label adf-share-link__heading\"\n role=\"heading\"\n aria-level=\"1\">\n {{ 'SHARE.DIALOG-TITLE' | translate }} {{ fileName }}\n </div>\n <mat-icon mat-dialog-close class=\"adf-share-link__close adf-share-link__icon\">close</mat-icon>\n </div>\n <mat-dialog-content class=\"adf-share-link--dialog-content\">\n <hr class=\"adf-share-link__separation-line\" />\n <form [formGroup]=\"form\" class=\"adf-share-link__form\">\n <div class=\"adf-share-link--row adf-share-link--row-sharable\">\n <mat-icon class=\"adf-share-link__icon\">timer</mat-icon>\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.LINK-EXPIRY-DATE' | translate }}\n </div>\n <mat-slide-toggle\n #slideToggleExpirationDate\n [disabled]=\"!canUpdate\"\n color=\"primary\"\n data-automation-id=\"adf-expire-toggle\"\n aria-label=\"{{ 'SHARE.EXPIRES' | translate }}\"\n [checked]=\"!!time.value\"\n (change)=\"onToggleExpirationDate($event)\" />\n </div>\n <div\n [style.display]=\"isExpiryDateToggleChecked ? 'block' : 'none'\"\n data-automation-id=\"adf-slide-toggle-checked\"\n class=\"adf-share-link__date-time-container\">\n <mat-form-field class=\"adf-full-width\" subscriptSizing=\"dynamic\" data-automation-id=\"adf-content-share-expiration-field\">\n <mat-label>{{ 'SHARE.EXPIRATION-PLACEHOLDER' | translate }}</mat-label>\n <mat-datepicker-toggle\n [disabled]=\"time.disabled\"\n [for]=\"datePicker\"\n matSuffix\n class=\"adf-share-link__icon adf-share-link__calender-icon\" />\n <mat-datepicker\n #datePicker\n (closed)=\"onDatePickerClosed()\" />\n <input\n class=\"adf-share-link__input\"\n #datePickerInput\n matInput\n [attr.aria-label]=\"'SHARE.EXPIRATION-LABEL' | translate\"\n [min]=\"minDate\"\n formControlName=\"time\"\n (keydown)=\"preventIncorrectCharacters($event)\"\n (blur)=\"onTimeChanged()\"\n (keydown.enter)=\"datePickerInput.blur()\"\n [matDatepicker]=\"datePicker\"/>\n <mat-error *ngIf=\"time.errors?.['invalidDate'] && (time.dirty || time.touched)\"\n data-automation-id=\"adf-share-link-input-warning\">{{ 'SHARE.INVALID_DATE_ERROR' | translate }}</mat-error>\n </mat-form-field>\n </div>\n <p class=\"adf-share-link__info adf-share-link__para\">{{ 'SHARE.SHARE-LINK' | translate }}</p>\n <div class=\"adf-share-link--row adf-share-link--sharable-container\">\n <mat-slide-toggle\n color=\"primary\"\n data-automation-id=\"adf-share-toggle\"\n class=\"adf-share-link--row__slide-toggle\"\n aria-label=\"{{ 'SHARE.TITLE' | translate }}\"\n [checked]=\"isFileShared\"\n [disabled]=\"!canUpdate || isDisabled\"\n (change)=\"onSlideShareChange($event)\" />\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.SHARABLE-LINK-CREATED' | translate }}\n </div>\n </div>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n floatLabel=\"always\"\n class=\"adf-full-width adf-share-link__form--field\"\n data-automation-id=\"adf-content-share-public-link-field\"\n [ngClass]=\"isLinkWithExpiryDate? 'adf-share-link__border-color' : ''\">\n <input\n #sharedLinkInput\n data-automation-id=\"adf-share-link\"\n class=\"adf-share-link__input\"\n matInput\n placeholder=\"{{ 'SHARE.PUBLIC-LINK' | translate }}\"\n [attr.aria-label]=\"'SHARE.PUBLIC-LINK' | translate\"\n formControlName=\"sharedUrl\"\n readonly=\"readonly\">\n <mat-icon\n class=\"adf-input-action adf-share-link__icon adf-share-link__copy-icon\"\n role=\"button\"\n matSuffix\n [clipboard-notification]=\"'SHARE.CLIPBOARD-MESSAGE' | translate\"\n [adf-clipboard]\n [attr.aria-label]=\"'SHARE.COPY_BUTTON_LABEL' | translate\"\n [target]=\"sharedLinkInput\"\n tabindex=\"0\">\n content_copy\n </mat-icon>\n </mat-form-field>\n <p class=\"adf-share-link__warn adf-share-link__para\" *ngIf=\"isLinkWithExpiryDate\">\n {{ 'SHARE.LINK-WITH-EXPIRY-SETTINGS' | translate }}\n </p>\n <div class=\"adf-share-link--row\">\n <mat-icon class=\"adf-share-link__icon\">public</mat-icon>\n <p\n class=\"adf-share-link__info adf-sharable-link adf-share-link__public-content adf-share-link__para\">\n {{ 'SHARE.PUBLIC-CONTENT' | translate }}\n </p>\n </div>\n </form>\n <hr class=\"adf-share-link__separation-line\" />\n </mat-dialog-content>\n <div class=\"adf-share-link__actions\" mat-dialog-actions>\n <button data-automation-id=\"adf-share-dialog-close\" mat-button color=\"primary\" mat-dialog-close>\n {{ 'SHARE.CLOSE' | translate }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".adf-share-link-dialog .adf-share-link .mat-mdc-form-field-flex{height:48px}.adf-share-link-dialog .adf-share-link__dialog-content{display:flex;flex-direction:column}.adf-share-link-dialog .adf-share-link__dialog-container{background-color:var(--theme-card-background-color);border-radius:16px}.adf-share-link-dialog .adf-share-link__label,.adf-share-link-dialog .adf-share-link__title,.adf-share-link-dialog .adf-share-link__info{letter-spacing:-.4px;line-height:2;font-weight:400;font-style:normal;font-stretch:normal;font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__label{flex:1 1 auto}.adf-share-link-dialog .adf-share-link__form{padding-top:8px}.adf-share-link-dialog .adf-share-link__form .mat-mdc-form-field-infix:has(.adf-share-link__input){border-top:.9375em solid transparent;border-bottom:.9375em solid transparent;height:16px}.adf-share-link-dialog .adf-share-link__form--field{padding-bottom:16px}.adf-share-link-dialog .adf-share-link__public-content{color:var(--adf-theme-foreground-text-color-054);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link__warn{color:var(--theme-warn-color-a700);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link--row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:8px 0}.adf-share-link-dialog .adf-share-link--row-sharable,.adf-share-link-dialog .adf-share-link--sharable-container{margin-bottom:0}.adf-share-link-dialog .adf-share-link--header{padding:16px 24px 0}.adf-share-link-dialog .adf-share-link--dialog-content{padding-top:0;padding-bottom:0}.adf-share-link-dialog .adf-share-link__input{color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__separation-line{border:1px solid var(--theme-grey-background-color);margin:8px -24px}.adf-share-link-dialog .adf-share-link__close{cursor:pointer;margin-left:12px}.adf-share-link-dialog .adf-share-link__icon{color:var(--adf-theme-foreground-icon-color-054);padding-bottom:0;padding-right:0}.adf-share-link-dialog .adf-share-link__para{margin-top:8px;margin-bottom:8px}.adf-share-link-dialog .adf-share-link__heading{font-weight:700;font-size:var(--theme-subheading-2-font-size)}.adf-share-link-dialog .adf-share-link__copy-icon{padding-top:18px;font-size:22px}.adf-share-link-dialog .adf-share-link__calender-icon{top:12px;position:relative;right:-6px}.adf-share-link-dialog .adf-share-link__calender-icon svg{height:18px;width:18px}.adf-share-link-dialog .adf-share-link__date-time-container{padding-bottom:20px}.adf-share-link-dialog .adf-share-link__border-color{border:1px solid var(--theme-warn-color-a700)}.adf-share-link-dialog .adf-input-action{cursor:pointer}.adf-share-link-dialog .adf-full-width{width:100%;border-radius:6px;margin-top:-6px}.adf-share-link-dialog .adf-sharable-link{margin-top:2px;margin-left:8px}.adf-share-link-dialog .adf-share-link__actions{justify-content:flex-end;padding:8px 24px 32px 0;margin:8px 0 0}.adf-share-link-dialog .adf-share-link__actions>button{color:var(--adf-theme-foreground-base-color);background-color:var(--theme-grey-text-background-color);margin-right:12px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatDialogModule }, { kind: "directive", type: i2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i8.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i9.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i9.MatLabel, selector: "mat-label" }, { kind: "directive", type: i9.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i9.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i10.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i10.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i10.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i11.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i12.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: ClipboardDirective, selector: "[adf-clipboard]", inputs: ["adf-clipboard", "target", "clipboard-notification"], exportAs: ["adfClipboard"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
264
|
+
}
|
|
265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShareDialogComponent, decorators: [{
|
|
266
|
+
type: Component,
|
|
267
|
+
args: [{ selector: 'adf-share-dialog', standalone: true, imports: [
|
|
268
|
+
CommonModule,
|
|
269
|
+
TranslatePipe,
|
|
270
|
+
MatIconModule,
|
|
271
|
+
MatDialogModule,
|
|
272
|
+
ReactiveFormsModule,
|
|
273
|
+
MatSlideToggleModule,
|
|
274
|
+
MatFormFieldModule,
|
|
275
|
+
MatDatepickerModule,
|
|
276
|
+
MatInputModule,
|
|
277
|
+
MatButtonModule,
|
|
278
|
+
ClipboardDirective
|
|
279
|
+
], host: { class: 'adf-share-dialog' }, encapsulation: ViewEncapsulation.None, template: "<div class=\"adf-share-link__dialog-content\">\n <div class=\"adf-share-link__dialog-container\">\n <div class=\"adf-share-link--header adf-share-link--row\">\n <div\n data-automation-id=\"adf-share-dialog-title\"\n class=\"adf-share-link__title adf-share-link__label adf-share-link__heading\"\n role=\"heading\"\n aria-level=\"1\">\n {{ 'SHARE.DIALOG-TITLE' | translate }} {{ fileName }}\n </div>\n <mat-icon mat-dialog-close class=\"adf-share-link__close adf-share-link__icon\">close</mat-icon>\n </div>\n <mat-dialog-content class=\"adf-share-link--dialog-content\">\n <hr class=\"adf-share-link__separation-line\" />\n <form [formGroup]=\"form\" class=\"adf-share-link__form\">\n <div class=\"adf-share-link--row adf-share-link--row-sharable\">\n <mat-icon class=\"adf-share-link__icon\">timer</mat-icon>\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.LINK-EXPIRY-DATE' | translate }}\n </div>\n <mat-slide-toggle\n #slideToggleExpirationDate\n [disabled]=\"!canUpdate\"\n color=\"primary\"\n data-automation-id=\"adf-expire-toggle\"\n aria-label=\"{{ 'SHARE.EXPIRES' | translate }}\"\n [checked]=\"!!time.value\"\n (change)=\"onToggleExpirationDate($event)\" />\n </div>\n <div\n [style.display]=\"isExpiryDateToggleChecked ? 'block' : 'none'\"\n data-automation-id=\"adf-slide-toggle-checked\"\n class=\"adf-share-link__date-time-container\">\n <mat-form-field class=\"adf-full-width\" subscriptSizing=\"dynamic\" data-automation-id=\"adf-content-share-expiration-field\">\n <mat-label>{{ 'SHARE.EXPIRATION-PLACEHOLDER' | translate }}</mat-label>\n <mat-datepicker-toggle\n [disabled]=\"time.disabled\"\n [for]=\"datePicker\"\n matSuffix\n class=\"adf-share-link__icon adf-share-link__calender-icon\" />\n <mat-datepicker\n #datePicker\n (closed)=\"onDatePickerClosed()\" />\n <input\n class=\"adf-share-link__input\"\n #datePickerInput\n matInput\n [attr.aria-label]=\"'SHARE.EXPIRATION-LABEL' | translate\"\n [min]=\"minDate\"\n formControlName=\"time\"\n (keydown)=\"preventIncorrectCharacters($event)\"\n (blur)=\"onTimeChanged()\"\n (keydown.enter)=\"datePickerInput.blur()\"\n [matDatepicker]=\"datePicker\"/>\n <mat-error *ngIf=\"time.errors?.['invalidDate'] && (time.dirty || time.touched)\"\n data-automation-id=\"adf-share-link-input-warning\">{{ 'SHARE.INVALID_DATE_ERROR' | translate }}</mat-error>\n </mat-form-field>\n </div>\n <p class=\"adf-share-link__info adf-share-link__para\">{{ 'SHARE.SHARE-LINK' | translate }}</p>\n <div class=\"adf-share-link--row adf-share-link--sharable-container\">\n <mat-slide-toggle\n color=\"primary\"\n data-automation-id=\"adf-share-toggle\"\n class=\"adf-share-link--row__slide-toggle\"\n aria-label=\"{{ 'SHARE.TITLE' | translate }}\"\n [checked]=\"isFileShared\"\n [disabled]=\"!canUpdate || isDisabled\"\n (change)=\"onSlideShareChange($event)\" />\n <div class=\"adf-share-link__label adf-sharable-link\">{{ 'SHARE.SHARABLE-LINK-CREATED' | translate }}\n </div>\n </div>\n <mat-form-field\n subscriptSizing=\"dynamic\"\n floatLabel=\"always\"\n class=\"adf-full-width adf-share-link__form--field\"\n data-automation-id=\"adf-content-share-public-link-field\"\n [ngClass]=\"isLinkWithExpiryDate? 'adf-share-link__border-color' : ''\">\n <input\n #sharedLinkInput\n data-automation-id=\"adf-share-link\"\n class=\"adf-share-link__input\"\n matInput\n placeholder=\"{{ 'SHARE.PUBLIC-LINK' | translate }}\"\n [attr.aria-label]=\"'SHARE.PUBLIC-LINK' | translate\"\n formControlName=\"sharedUrl\"\n readonly=\"readonly\">\n <mat-icon\n class=\"adf-input-action adf-share-link__icon adf-share-link__copy-icon\"\n role=\"button\"\n matSuffix\n [clipboard-notification]=\"'SHARE.CLIPBOARD-MESSAGE' | translate\"\n [adf-clipboard]\n [attr.aria-label]=\"'SHARE.COPY_BUTTON_LABEL' | translate\"\n [target]=\"sharedLinkInput\"\n tabindex=\"0\">\n content_copy\n </mat-icon>\n </mat-form-field>\n <p class=\"adf-share-link__warn adf-share-link__para\" *ngIf=\"isLinkWithExpiryDate\">\n {{ 'SHARE.LINK-WITH-EXPIRY-SETTINGS' | translate }}\n </p>\n <div class=\"adf-share-link--row\">\n <mat-icon class=\"adf-share-link__icon\">public</mat-icon>\n <p\n class=\"adf-share-link__info adf-sharable-link adf-share-link__public-content adf-share-link__para\">\n {{ 'SHARE.PUBLIC-CONTENT' | translate }}\n </p>\n </div>\n </form>\n <hr class=\"adf-share-link__separation-line\" />\n </mat-dialog-content>\n <div class=\"adf-share-link__actions\" mat-dialog-actions>\n <button data-automation-id=\"adf-share-dialog-close\" mat-button color=\"primary\" mat-dialog-close>\n {{ 'SHARE.CLOSE' | translate }}\n </button>\n </div>\n </div>\n</div>\n", styles: [".adf-share-link-dialog .adf-share-link .mat-mdc-form-field-flex{height:48px}.adf-share-link-dialog .adf-share-link__dialog-content{display:flex;flex-direction:column}.adf-share-link-dialog .adf-share-link__dialog-container{background-color:var(--theme-card-background-color);border-radius:16px}.adf-share-link-dialog .adf-share-link__label,.adf-share-link-dialog .adf-share-link__title,.adf-share-link-dialog .adf-share-link__info{letter-spacing:-.4px;line-height:2;font-weight:400;font-style:normal;font-stretch:normal;font-size:var(--theme-body-1-font-size);color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__label{flex:1 1 auto}.adf-share-link-dialog .adf-share-link__form{padding-top:8px}.adf-share-link-dialog .adf-share-link__form .mat-mdc-form-field-infix:has(.adf-share-link__input){border-top:.9375em solid transparent;border-bottom:.9375em solid transparent;height:16px}.adf-share-link-dialog .adf-share-link__form--field{padding-bottom:16px}.adf-share-link-dialog .adf-share-link__public-content{color:var(--adf-theme-foreground-text-color-054);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link__warn{color:var(--theme-warn-color-a700);font-size:var(--theme-caption-font-size)}.adf-share-link-dialog .adf-share-link--row{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;margin:8px 0}.adf-share-link-dialog .adf-share-link--row-sharable,.adf-share-link-dialog .adf-share-link--sharable-container{margin-bottom:0}.adf-share-link-dialog .adf-share-link--header{padding:16px 24px 0}.adf-share-link-dialog .adf-share-link--dialog-content{padding-top:0;padding-bottom:0}.adf-share-link-dialog .adf-share-link__input{color:var(--adf-theme-foreground-text-color-087)}.adf-share-link-dialog .adf-share-link__separation-line{border:1px solid var(--theme-grey-background-color);margin:8px -24px}.adf-share-link-dialog .adf-share-link__close{cursor:pointer;margin-left:12px}.adf-share-link-dialog .adf-share-link__icon{color:var(--adf-theme-foreground-icon-color-054);padding-bottom:0;padding-right:0}.adf-share-link-dialog .adf-share-link__para{margin-top:8px;margin-bottom:8px}.adf-share-link-dialog .adf-share-link__heading{font-weight:700;font-size:var(--theme-subheading-2-font-size)}.adf-share-link-dialog .adf-share-link__copy-icon{padding-top:18px;font-size:22px}.adf-share-link-dialog .adf-share-link__calender-icon{top:12px;position:relative;right:-6px}.adf-share-link-dialog .adf-share-link__calender-icon svg{height:18px;width:18px}.adf-share-link-dialog .adf-share-link__date-time-container{padding-bottom:20px}.adf-share-link-dialog .adf-share-link__border-color{border:1px solid var(--theme-warn-color-a700)}.adf-share-link-dialog .adf-input-action{cursor:pointer}.adf-share-link-dialog .adf-full-width{width:100%;border-radius:6px;margin-top:-6px}.adf-share-link-dialog .adf-sharable-link{margin-top:2px;margin-left:8px}.adf-share-link-dialog .adf-share-link__actions{justify-content:flex-end;padding:8px 24px 32px 0;margin:8px 0 0}.adf-share-link-dialog .adf-share-link__actions>button{color:var(--adf-theme-foreground-base-color);background-color:var(--theme-grey-text-background-color);margin-right:12px}\n"] }]
|
|
280
|
+
}], ctorParameters: () => [{ type: i1.SharedLinksApiService }, { type: i2.MatDialogRef }, { type: i2.MatDialog }, { type: i3.ContentService }, { type: i4.RenditionService }, { type: undefined, decorators: [{
|
|
281
|
+
type: Inject,
|
|
282
|
+
args: [MAT_DIALOG_DATA]
|
|
283
|
+
}] }], propDecorators: { slideToggleExpirationDate: [{
|
|
284
|
+
type: ViewChild,
|
|
285
|
+
args: ['slideToggleExpirationDate', { static: true }]
|
|
286
|
+
}] } });
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC1ub2RlLXNoYXJlLmRpYWxvZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYi9jb250ZW50LXNlcnZpY2VzL3NyYy9saWIvY29udGVudC1ub2RlLXNoYXJlL2NvbnRlbnQtbm9kZS1zaGFyZS5kaWFsb2cudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9saWIvY29udGVudC1zZXJ2aWNlcy9zcmMvbGliL2NvbnRlbnQtbm9kZS1zaGFyZS9jb250ZW50LW5vZGUtc2hhcmUuZGlhbG9nLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNyRyxPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUYsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsbUJBQW1CLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRTVFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWhGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9B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TUFBTTsyQkFBQyxlQUFlO3lDQVAzQix5QkFBeUI7c0JBRHhCLFNBQVM7dUJBQUMsMkJBQTJCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IMKpIDIwMDUtMjAyNSBIeWxhbmQgU29mdHdhcmUsIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZywgTWF0RGlhbG9nTW9kdWxlLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb250ZW50U2VydmljZSB9IGZyb20gJy4uL2NvbW1vbi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hhcmVkTGlua3NBcGlTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zaGFyZWQtbGlua3MtYXBpLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2hhcmVkTGlua0JvZHlDcmVhdGUgfSBmcm9tICdAYWxmcmVzY28vanMtYXBpJztcbmltcG9ydCB7IENsaXBib2FyZERpcmVjdGl2ZSwgQ29uZmlybURpYWxvZ0NvbXBvbmVudCB9IGZyb20gJ0BhbGZyZXNjby9hZGYtY29yZSc7XG5pbXBvcnQgeyBDb250ZW50Tm9kZVNoYXJlU2V0dGluZ3MgfSBmcm9tICcuL2NvbnRlbnQtbm9kZS1zaGFyZS5zZXR0aW5ncyc7XG5pbXBvcnQgeyBSZW5kaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vY29tbW9uL3NlcnZpY2VzL3JlbmRpdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IGFkZCwgZW5kT2ZEYXksIGZvcm1hdCwgaXNCZWZvcmUgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVHJhbnNsYXRlUGlwZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXREYXRlcGlja2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmludGVyZmFjZSBTaGFyZWREaWFsb2dGb3JtUHJvcHMge1xuICAgIHNoYXJlZFVybDogRm9ybUNvbnRyb2w8c3RyaW5nPjtcbiAgICB0aW1lOiBGb3JtQ29udHJvbDxEYXRlPjtcbn1cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdhZGYtc2hhcmUtZGlhbG9nJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVQaXBlLFxuICAgICAgICBNYXRJY29uTW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgICAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgICAgIE1hdElucHV0TW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIENsaXBib2FyZERpcmVjdGl2ZVxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQtbm9kZS1zaGFyZS5kaWFsb2cuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29udGVudC1ub2RlLXNoYXJlLmRpYWxvZy5zY3NzJ10sXG4gICAgaG9zdDogeyBjbGFzczogJ2FkZi1zaGFyZS1kaWFsb2cnIH0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBTaGFyZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBtaW5EYXRlVmFsaWRhdG9yID0gKGNvbnRyb2w6IEZvcm1Db250cm9sPERhdGU+KTogYW55ID0+XG4gICAgICAgIGlzQmVmb3JlKGVuZE9mRGF5KG5ldyBEYXRlKGNvbnRyb2wudmFsdWUpKSwgdGhpcy5taW5EYXRlKSA/IHsgaW52YWxpZERhdGU6IHRydWUgfSA6IG51bGw7XG5cbiAgICBtaW5EYXRlID0gYWRkKG5ldyBEYXRlKCksIHsgZGF5czogMSB9KTtcbiAgICBzaGFyZWRJZDogc3RyaW5nO1xuICAgIGZpbGVOYW1lOiBzdHJpbmc7XG4gICAgYmFzZVNoYXJlVXJsOiBzdHJpbmc7XG4gICAgaXNGaWxlU2hhcmVkID0gZmFsc2U7XG4gICAgaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgIGlzTGlua1dpdGhFeHBpcnlEYXRlID0gZmFsc2U7XG4gICAgZm9ybSA9IG5ldyBGb3JtR3JvdXA8U2hhcmVkRGlhbG9nRm9ybVByb3BzPih7XG4gICAgICAgIHNoYXJlZFVybDogbmV3IEZvcm1Db250cm9sKCcnKSxcbiAgICAgICAgdGltZTogbmV3IEZvcm1Db250cm9sKHsgdmFsdWU6IG51bGwsIGRpc2FibGVkOiB0cnVlIH0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB0aGlzLm1pbkRhdGVWYWxpZGF0b3JdKVxuICAgIH0pO1xuICAgIGlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQ6IGJvb2xlYW47XG5cbiAgICBAVmlld0NoaWxkKCdzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlO1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHNoYXJlZExpbmtzQXBpU2VydmljZTogU2hhcmVkTGlua3NBcGlTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNoYXJlRGlhbG9nQ29tcG9uZW50PixcbiAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcbiAgICAgICAgcHJpdmF0ZSBjb250ZW50U2VydmljZTogQ29udGVudFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVuZGl0aW9uU2VydmljZTogUmVuZGl0aW9uU2VydmljZSxcbiAgICAgICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBDb250ZW50Tm9kZVNoYXJlU2V0dGluZ3NcbiAgICApIHt9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5ub2RlPy5lbnRyeSkge1xuICAgICAgICAgICAgdGhpcy5maWxlTmFtZSA9IHRoaXMuZGF0YS5ub2RlLmVudHJ5Lm5hbWU7XG4gICAgICAgICAgICB0aGlzLmJhc2VTaGFyZVVybCA9IHRoaXMuZGF0YS5iYXNlU2hhcmVVcmw7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzO1xuXG4gICAgICAgICAgICBpZiAoIXByb3BlcnRpZXM/LlsncXNoYXJlOnNoYXJlZElkJ10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVNoYXJlZExpbmtzKHRoaXMuZGF0YS5ub2RlLmVudHJ5LmlkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRJZCA9IHByb3BlcnRpZXNbJ3FzaGFyZTpzaGFyZWRJZCddO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGV4cGlyeURhdGUgPSB0aGlzLnVwZGF0ZUZvcm0oKTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQgPSB0aGlzLmlzTGlua1dpdGhFeHBpcnlEYXRlID0gISFleHBpcnlEYXRlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rV2l0aEV4cGlyeURhdGUgPyB0aGlzLnRpbWUuZW5hYmxlKCkgOiB0aGlzLnRpbWUuZGlzYWJsZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25UaW1lQ2hhbmdlZCgpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZS52YWxpZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVOb2RlKHRoaXMudGltZS52YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdGltZSgpOiBGb3JtQ29udHJvbDxEYXRlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbJ3RpbWUnXTtcbiAgICB9XG4gICAgb25TbGlkZVNoYXJlQ2hhbmdlKGV2ZW50OiBNYXRTbGlkZVRvZ2dsZUNoYW5nZSkge1xuICAgICAgICBpZiAoZXZlbnQuY2hlY2tlZCkge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVTaGFyZWRMaW5rcyh0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5Db25maXJtYXRpb25EaWFsb2coKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldCBjYW5VcGRhdGUoKSB7XG4gICAgICAgIGNvbnN0IHsgZW50cnkgfSA9IHRoaXMuZGF0YS5ub2RlO1xuXG4gICAgICAgIGlmIChlbnRyeT8uYWxsb3dhYmxlT3BlcmF0aW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY29udGVudFNlcnZpY2UuaGFzQWxsb3dhYmxlT3BlcmF0aW9ucyhlbnRyeSwgJ3VwZGF0ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgb25Ub2dnbGVFeHBpcmF0aW9uRGF0ZShzbGlkZVRvZ2dsZTogTWF0U2xpZGVUb2dnbGVDaGFuZ2UpIHtcbiAgICAgICAgaWYgKHNsaWRlVG9nZ2xlLmNoZWNrZWQpIHtcbiAgICAgICAgICAgIHRoaXMudGltZS5lbmFibGUoKTtcbiAgICAgICAgICAgIHRoaXMuaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZCA9IHRydWU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpbWUuZGlzYWJsZSgpO1xuICAgICAgICAgICAgdGhpcy50aW1lLnNldFZhbHVlKG51bGwpO1xuICAgICAgICAgICAgdGhpcy5kZWxldGVTaGFyZWRMaW5rKHRoaXMuc2hhcmVkSWQsIHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25EYXRlUGlja2VyQ2xvc2VkKCkge1xuICAgICAgICB0aGlzLm9uVGltZUNoYW5nZWQoKTtcbiAgICAgICAgaWYgKCF0aGlzLnRpbWUudmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVUb2dnbGVFeHBpcmF0aW9uRGF0ZS5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcmV2ZW50SW5jb3JyZWN0Q2hhcmFjdGVycyhlOiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IHJlZ2V4ID0gL1teXFxkLy4tXS87XG4gICAgICAgIHJldHVybiBlLmtleS5sZW5ndGggPT09IDEgPyAhcmVnZXgudGVzdChlLmtleSkgOiB0cnVlO1xuICAgIH1cblxuICAgIHByaXZhdGUgb3BlbkNvbmZpcm1hdGlvbkRpYWxvZygpIHtcbiAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1xuICAgICAgICAgICAgLm9wZW4oQ29uZmlybURpYWxvZ0NvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6ICdTSEFSRS5DT05GSVJNQVRJT04uRElBTE9HLVRJVExFJyxcbiAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogJ1NIQVJFLkNPTkZJUk1BVElPTi5NRVNTQUdFJyxcbiAgICAgICAgICAgICAgICAgICAgeWVzTGFiZWw6ICdTSEFSRS5DT05GSVJNQVRJT04uUkVNT1ZFJyxcbiAgICAgICAgICAgICAgICAgICAgbm9MYWJlbDogJ1NIQVJFLkNPTkZJUk1BVElPTi5DQU5DRUwnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzI1MHB4JyxcbiAgICAgICAgICAgICAgICBjbG9zZU9uTmF2aWdhdGlvbjogdHJ1ZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5iZWZvcmVDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGVsZXRlU2hhcmVkTGluaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkZWxldGVTaGFyZWRMaW5rKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVsZXRlU2hhcmVkTGluayh0aGlzLnNoYXJlZElkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRmlsZVNoYXJlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjcmVhdGVTaGFyZWRMaW5rcyhub2RlSWQ6IHN0cmluZywgc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncz86IFNoYXJlZExpbmtCb2R5Q3JlYXRlKSB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5zaGFyZWRMaW5rc0FwaVNlcnZpY2UuY3JlYXRlU2hhcmVkTGlua3Mobm9kZUlkLCBzaGFyZWRMaW5rV2l0aEV4cGlyeVNldHRpbmdzKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoc2hhcmVkTGluaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChzaGFyZWRMaW5rLmVudHJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkSWQgPSBzaGFyZWRMaW5rLmVudHJ5LmlkO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllc1sncXNoYXJlOnNoYXJlZElkJ10gPSB0aGlzLnNoYXJlZElkO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAncXNoYXJlOnNoYXJlZElkJzogdGhpcy5zaGFyZWRJZFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0ZpbGVTaGFyZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRpdGlvblNlcnZpY2UuZ2V0Tm9kZVJlbmRpdGlvbih0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRGlzYWJsZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRmlsZVNoYXJlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGRlbGV0ZVNoYXJlZExpbmsoc2hhcmVkSWQ6IHN0cmluZywgZGlhbG9nT3BlbkZsYWc/OiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5zaGFyZWRMaW5rc0FwaVNlcnZpY2UuZGVsZXRlU2hhcmVkTGluayhzaGFyZWRJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICBpZiAocmVzcG9uc2UgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUVycm9yKHJlc3BvbnNlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5ub2RlLmVudHJ5LnByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhLm5vZGUuZW50cnkucHJvcGVydGllc1sncXNoYXJlOnNoYXJlZElkJ10gPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGEubm9kZS5lbnRyeS5wcm9wZXJ0aWVzWydxc2hhcmU6ZXhwaXJ5RGF0ZSddID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGRpYWxvZ09wZW5GbGFnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlU2hhcmVkTGlua3ModGhpcy5kYXRhLm5vZGUuZW50cnkuaWQpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzRXhwaXJ5RGF0ZVRvZ2dsZUNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xpbmtXaXRoRXhwaXJ5RGF0ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoZXJyb3I6IEVycm9yKSB7XG4gICAgICAgIGxldCBtZXNzYWdlID0gJ1NIQVJFLlVOU0hBUkVfRVJST1InO1xuICAgICAgICBsZXQgc3RhdHVzQ29kZSA9IDA7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0YXR1c0NvZGUgPSBKU09OLnBhcnNlKGVycm9yLm1lc3NhZ2UpLmVycm9yLnN0YXR1c0NvZGU7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgLyogZW1wdHkgKi9cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdGF0dXNDb2RlID09PSA0MDMpIHtcbiAgICAgICAgICAgIG1lc3NhZ2UgPSAnU0hBUkUuVU5TSEFSRV9QRVJNSVNTSU9OX0VSUk9SJztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2hhcmVkTGlua3NBcGlTZXJ2aWNlLmVycm9yLm5leHQoe1xuICAgICAgICAgICAgc3RhdHVzQ29kZSxcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVGb3JtKCk6IERhdGUge1xuICAgICAgICBjb25zdCB7IGVudHJ5IH0gPSB0aGlzLmRhdGEubm9kZTtcbiAgICAgICAgbGV0IGV4cGlyeURhdGUgPSBudWxsO1xuXG4gICAgICAgIGlmIChlbnRyeT8ucHJvcGVydGllcykge1xuICAgICAgICAgICAgZXhwaXJ5RGF0ZSA9IGVudHJ5LnByb3BlcnRpZXNbJ3FzaGFyZTpleHBpcnlEYXRlJ107XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2hhcmVkVXJsOiBgJHt0aGlzLmJhc2VTaGFyZVVybH0ke3RoaXMuc2hhcmVkSWR9YCxcbiAgICAgICAgICAgICAgICB0aW1lOiBleHBpcnlEYXRlID8gbmV3IERhdGUoZXhwaXJ5RGF0ZSkgOiBudWxsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgeyBlbWl0RXZlbnQ6IGZhbHNlIH1cbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZXhwaXJ5RGF0ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVwZGF0ZU5vZGUoZGF0ZTogRGF0ZSkge1xuICAgICAgICBsZXQgZXhwaXJ5RGF0ZTogRGF0ZSB8IHN0cmluZztcbiAgICAgICAgaWYgKGRhdGUpIHtcbiAgICAgICAgICAgIGV4cGlyeURhdGUgPSBmb3JtYXQoZW5kT2ZEYXkobmV3IERhdGUoZGF0ZSkpLCBgeXl5eS1NTS1kZCdUJ0hIOm1tOnNzLlNTU3h4YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBleHBpcnlEYXRlID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNoYXJlZElkICYmIGV4cGlyeURhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaXNEaXNhYmxlZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuc2hhcmVkTGlua3NBcGlTZXJ2aWNlLmRlbGV0ZVNoYXJlZExpbmsodGhpcy5zaGFyZWRJZCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNGaWxlU2hhcmVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihyZXNwb25zZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRMaW5rV2l0aEV4cGlyeVNldHRpbmdzKGV4cGlyeURhdGUgYXMgRGF0ZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMaW5rV2l0aEV4cGlyeURhdGUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUVudHJ5RXhwaXJ5RGF0ZShkYXRlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2hhcmVkTGlua1dpdGhFeHBpcnlTZXR0aW5ncyhleHBpcnlEYXRlOiBEYXRlKSB7XG4gICAgICAgIGNvbnN0IG5vZGVPYmplY3Q6IFNoYXJlZExpbmtCb2R5Q3JlYXRlID0ge1xuICAgICAgICAgICAgbm9kZUlkOiB0aGlzLmRhdGEubm9kZS5lbnRyeS5pZCxcbiAgICAgICAgICAgIGV4cGlyZXNBdDogZXhwaXJ5RGF0ZSBhcyBEYXRlXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuY3JlYXRlU2hhcmVkTGlua3ModGhpcy5kYXRhLm5vZGUuZW50cnkuaWQsIG5vZGVPYmplY3QpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRW50cnlFeHBpcnlEYXRlKGRhdGU6IERhdGUpIHtcbiAgICAgICAgY29uc3QgeyBwcm9wZXJ0aWVzIH0gPSB0aGlzLmRhdGEubm9kZS5lbnRyeTtcblxuICAgICAgICBpZiAocHJvcGVydGllcykge1xuICAgICAgICAgICAgcHJvcGVydGllc1sncXNoYXJlOmV4cGlyeURhdGUnXSA9IGRhdGUgPyBuZXcgRGF0ZShkYXRlKSA6IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2RpYWxvZy1jb250ZW50XCI+XG4gICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19kaWFsb2ctY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGluay0taGVhZGVyIGFkZi1zaGFyZS1saW5rLS1yb3dcIj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtZGlhbG9nLXRpdGxlXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX190aXRsZSBhZGYtc2hhcmUtbGlua19fbGFiZWwgYWRmLXNoYXJlLWxpbmtfX2hlYWRpbmdcIlxuICAgICAgICAgICAgICAgIHJvbGU9XCJoZWFkaW5nXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxldmVsPVwiMVwiPlxuICAgICAgICAgICAgICAgIHt7ICdTSEFSRS5ESUFMT0ctVElUTEUnIHwgdHJhbnNsYXRlIH19IHt7IGZpbGVOYW1lIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxtYXQtaWNvbiBtYXQtZGlhbG9nLWNsb3NlIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2Nsb3NlIGFkZi1zaGFyZS1saW5rX19pY29uXCI+Y2xvc2U8L21hdC1pY29uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImFkZi1zaGFyZS1saW5rLS1kaWFsb2ctY29udGVudFwiPlxuICAgICAgICAgICAgPGhyIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX3NlcGFyYXRpb24tbGluZVwiIC8+XG4gICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19mb3JtXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rLS1yb3cgYWRmLXNoYXJlLWxpbmstLXJvdy1zaGFyYWJsZVwiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvblwiPnRpbWVyPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19sYWJlbCBhZGYtc2hhcmFibGUtbGlua1wiPnt7ICdTSEFSRS5MSU5LLUVYUElSWS1EQVRFJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgICNzbGlkZVRvZ2dsZUV4cGlyYXRpb25EYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblVwZGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLWV4cGlyZS10b2dnbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cInt7ICdTSEFSRS5FWFBJUkVTJyB8IHRyYW5zbGF0ZSB9fVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCIhIXRpbWUudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblRvZ2dsZUV4cGlyYXRpb25EYXRlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgW3N0eWxlLmRpc3BsYXldPVwiaXNFeHBpcnlEYXRlVG9nZ2xlQ2hlY2tlZCA/ICdibG9jaycgOiAnbm9uZSdcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2xpZGUtdG9nZ2xlLWNoZWNrZWRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19kYXRlLXRpbWUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImFkZi1mdWxsLXdpZHRoXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1jb250ZW50LXNoYXJlLWV4cGlyYXRpb24tZmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+e3sgJ1NIQVJFLkVYUElSQVRJT04tUExBQ0VIT0xERVInIHwgdHJhbnNsYXRlIH19PC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInRpbWUuZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JdPVwiZGF0ZVBpY2tlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0U3VmZml4XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvbiBhZGYtc2hhcmUtbGlua19fY2FsZW5kZXItaWNvblwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZGF0ZVBpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZWQpPVwib25EYXRlUGlja2VyQ2xvc2VkKClcIiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICNkYXRlUGlja2VySW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NIQVJFLkVYUElSQVRJT04tTEFCRUwnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbWluXT1cIm1pbkRhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInRpbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChrZXlkb3duKT1cInByZXZlbnRJbmNvcnJlY3RDaGFyYWN0ZXJzKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cIm9uVGltZUNoYW5nZWQoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGF0ZVBpY2tlcklucHV0LmJsdXIoKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiZGF0ZVBpY2tlclwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJ0aW1lLmVycm9ycz8uWydpbnZhbGlkRGF0ZSddICYmICh0aW1lLmRpcnR5IHx8IHRpbWUudG91Y2hlZClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtbGluay1pbnB1dC13YXJuaW5nXCI+e3sgJ1NIQVJFLklOVkFMSURfREFURV9FUlJPUicgfCB0cmFuc2xhdGUgfX08L21hdC1lcnJvcj5cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8cCBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pbmZvIGFkZi1zaGFyZS1saW5rX19wYXJhXCI+e3sgJ1NIQVJFLlNIQVJFLUxJTksnIHwgdHJhbnNsYXRlIH19PC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGluay0tcm93IGFkZi1zaGFyZS1saW5rLS1zaGFyYWJsZS1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtc2hhcmUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmstLXJvd19fc2xpZGUtdG9nZ2xlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJ7eyAnU0hBUkUuVElUTEUnIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImlzRmlsZVNoYXJlZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWNhblVwZGF0ZSB8fCBpc0Rpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25TbGlkZVNoYXJlQ2hhbmdlKCRldmVudClcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2xhYmVsIGFkZi1zaGFyYWJsZS1saW5rXCI+e3sgJ1NIQVJFLlNIQVJBQkxFLUxJTkstQ1JFQVRFRCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkXG4gICAgICAgICAgICAgICAgICAgIHN1YnNjcmlwdFNpemluZz1cImR5bmFtaWNcIlxuICAgICAgICAgICAgICAgICAgICBmbG9hdExhYmVsPVwiYWx3YXlzXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtZnVsbC13aWR0aCBhZGYtc2hhcmUtbGlua19fZm9ybS0tZmllbGRcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLWF1dG9tYXRpb24taWQ9XCJhZGYtY29udGVudC1zaGFyZS1wdWJsaWMtbGluay1maWVsZFwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImlzTGlua1dpdGhFeHBpcnlEYXRlPyAnYWRmLXNoYXJlLWxpbmtfX2JvcmRlci1jb2xvcicgOiAnJ1wiPlxuICAgICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICNzaGFyZWRMaW5rSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtYXV0b21hdGlvbi1pZD1cImFkZi1zaGFyZS1saW5rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX2lucHV0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdElucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cInt7ICdTSEFSRS5QVUJMSUMtTElOSycgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInU0hBUkUuUFVCTElDLUxJTksnIHwgdHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cInNoYXJlZFVybFwiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWFkb25seT1cInJlYWRvbmx5XCI+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhZGYtaW5wdXQtYWN0aW9uIGFkZi1zaGFyZS1saW5rX19pY29uIGFkZi1zaGFyZS1saW5rX19jb3B5LWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXRTdWZmaXhcbiAgICAgICAgICAgICAgICAgICAgICAgIFtjbGlwYm9hcmQtbm90aWZpY2F0aW9uXT1cIidTSEFSRS5DTElQQk9BUkQtTUVTU0FHRScgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW2FkZi1jbGlwYm9hcmRdXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTSEFSRS5DT1BZX0JVVFRPTl9MQUJFTCcgfCB0cmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW3RhcmdldF09XCJzaGFyZWRMaW5rSW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCIwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X2NvcHlcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYWRmLXNoYXJlLWxpbmtfX3dhcm4gYWRmLXNoYXJlLWxpbmtfX3BhcmFcIiAqbmdJZj1cImlzTGlua1dpdGhFeHBpcnlEYXRlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdTSEFSRS5MSU5LLVdJVEgtRVhQSVJZLVNFVFRJTkdTJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWRmLXNoYXJlLWxpbmstLXJvd1wiPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gY2xhc3M9XCJhZGYtc2hhcmUtbGlua19faWNvblwiPnB1YmxpYzwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgICAgIDxwXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImFkZi1zaGFyZS1saW5rX19pbmZvIGFkZi1zaGFyYWJsZS1saW5rIGFkZi1zaGFyZS1saW5rX19wdWJsaWMtY29udGVudCBhZGYtc2hhcmUtbGlua19fcGFyYVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgJ1NIQVJFLlBVQkxJQy1DT05URU5UJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgICA8aHIgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fc2VwYXJhdGlvbi1saW5lXCIgLz5cbiAgICAgICAgPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJhZGYtc2hhcmUtbGlua19fYWN0aW9uc1wiIG1hdC1kaWFsb2ctYWN0aW9ucz5cbiAgICAgICAgICAgIDxidXR0b24gZGF0YS1hdXRvbWF0aW9uLWlkPVwiYWRmLXNoYXJlLWRpYWxvZy1jbG9zZVwiIG1hdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgbWF0LWRpYWxvZy1jbG9zZT5cbiAgICAgICAgICAgICAgICB7eyAnU0hBUkUuQ0xPU0UnIHwgdHJhbnNsYXRlIH19XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|